cloud-init

[更新: 2021年09月30日]

さくらのクラウドのcloud-init機能に関するページです。

1. 概要

cloud-init機能は、弊社提供のパブリックアーカイブのうち「cloudimg」のアーカイブを元に作成されたサーバに対して、初回の電源を入れる際に、cloud-initを利用しお客様にご入力いただいたユーザデータに従って、サーバの初期設定を行うことができる機能です。 ユーザデータの記述などのcloud-initの詳細については、 cloud-initの公式ドキュメント をご参照ください。

これにより、サーバ作成時のホスト名やパスワードの設定、sshの公開鍵の設置などcloud-initのサポートする範囲で様々な設定を行うことが可能になります。

Metadata

以下の表は、さくらのクラウドで利用可能なMetadataをまとめたものです。

Metadata 説明
instance-id 作成したインスタンスのID。

2. cloud-initの利用方法

cloud-initをコントロールパネルからの利用するにあたって、サーバ作成後すぐにサーバを起動をしなければ、サーバの初期設定を行うことができません。 これはサーバ起動時にcloud-initの実行に必要なユーザデータを指定するためです。 作成後にすぐにサーバ起動をしたくない場合は、サーバ作成後APIからユーザデータを指定し起動する必要があります。 APIの詳細に関しましては、 さくらのクラウドAPIドキュメント をご参照ください。 コントロールパネルからcloud-initの利用手順は以下のようになります。

  1. サーバ作成の画面に移動(サーバの作成の詳細については、 こちらのページ をご参照ください。)
  2. サーバ作成画面の「ディスク > アーカイブ選択」からcloudimgのアーカイブを選択
  1. 「cloud-init設定」からサーバの基本設定を入力

公開鍵、ホスト名、タイムゾーン、ロケールを入力します。

公開鍵は、クラウドアカウントに登録されたもの、もしくはGitHubアカウントに登録されたものを利用することもできます。

注意

cloud-initアーカイブは公開鍵の設定が必須となります。パスワードは「cloud-init設定 > 追加ユーザデータ」より設定可能ですが、セキュリティの観点からパスワードの設定は非推奨です。 また、パスワードを設定される場合は、SHA512でハッシュ化したパスワードを利用するようにしてください。

  1. 「cloud-init設定 > 追加ユーザデータ」に必要に応じて追加の設定を入力

下図のように追加のユーザデータの設定をyaml形式で記述することができます。

上図の追加ユーザデータでは、起動時にインストールするパッケージの設定やキーボードの設定などを行い、これら全ての処理が終了した後サーバの再起動が実施されます。 このように追加ユーザデータにcloud-initのモジュールを記述いただくことで、サーバの初期設定をカスタマイズすることができます。 cloud-initのモジュールの詳細については、 cloud-init公式ページのModules をご参照ください。

注意

追加ユーザデータにホスト名、タイムゾーン、ロケールを記述された場合、「cloud-init設定 > ホスト名、タイムゾーン、ロケール」に入力された内容は、追加ユーザデータで指定されたものに上書きされます。ただし、サーバを複数台同時に作成される場合に限り、「cloud-init設定 > ホスト名」から入力した内容が優先され、ホスト名フィールドに入力された内容の連番(hostname-01, hostname-02…)で設定されることにご注意ください。

  1. サーバ作成をクリックしサーバを作成