cloud-init¶
[更新: 2021年12月09日]
さくらのクラウドのcloud-init機能に関するページです。
1. 概要¶
cloud-init機能は、弊社提供のパブリックアーカイブのうち「cloudimg」のアーカイブを元に作成されたサーバに対して、初回の電源を入れる際に、cloud-initを利用しお客様にご入力いただいたユーザデータに従って、サーバの初期設定を行うことができる機能です。 ユーザデータの記述などのcloud-initの詳細については、 cloud-initの公式ドキュメント をご参照ください。
これにより、サーバ作成時のホスト名やパスワードの設定、sshの公開鍵の設置などcloud-initのサポートする範囲で様々な設定を行うことが可能になります。
Metadata¶
さくらのクラウドで利用可能なMetadataの一覧になります。
Metadata名 | 説明 |
---|---|
Server.ID | インスタンスのID |
Server.Name | 名前 |
Server.Description | 説明 |
Server.Availability | サーバが利用可能かどうか。利用可能ならavailableがセットされる。 |
Server.ServiceClass | サーバのサービスクラス |
Server.InterfaceDriver | インターフェースドライバ。virtioがセットされる。 |
Server.CreatedAt | サーバの作成日 |
Server.ModifiedAt | サーバの修正日 |
Server.Tags[] | サーバに設定されているタグの一覧 |
Server.Icon.ID | サーバのアイコンID |
Server.Icon.Name | サーバのアイコン名 |
Server.Icon.URL | サーバのアイコンのURL |
Sever.ServerPlan.ID | サーバプランID |
Sever.ServerPlan.Name | サーバプランの名前 |
Sever.ServerPlan.CPU | CPU数 |
Sever.ServerPlan.MemoryMB | メモリ(MB) |
Sever.ServerPlan.GPU | GPU数 |
Sever.ServerPlan.Commitment | プラン種別(通常プラン、コア占有プラン、GPUプラン) |
Metadata名 | 説明 |
---|---|
Server.Zone.ID | ゾーンのID |
Server.Zone.Name | ゾーン名 |
Server.Zone.Description | ゾーンの説明 |
Server.Zone.DisplayOrder | ゾーンの表示順 |
Server.Zone.VNCProxy.IPAddress | VNCProxyのIP |
Server.Zone.VNCProxy.HostName | VNCProxyのホスト名 |
Server.Zone.FTPServer.IPAddress | FTPServerのIP |
Server.Zone.FTPServer.HostName | FTPServerのホスト名 |
Server.Zone.Region.ID | リージョンID |
Server.Zone.Region.Name | リージョン名 |
Server.Zone.Region.Description | リージョンの説明 |
Server.Zone.Region.NameServer | リージョンのネームサーバ |
Metadata名 | 説明 |
---|---|
Server.Disks[].ID | ディスクのID |
Server.Disks[].Name | ディスクの名前 |
Server.Disks[].Connection | ディスクの接続ドライバ。virtioがセットされる。 |
Server.Disks[].ConnectionOrder | ディスクの接続順序 |
Server.Disks[].ReinstallCount | ディスクに再インストールを行った回数 |
Server.Disks[].Availability | ディスクが利用可能かどうか。availableの文字列がセットされている場合が利用可能状態。 |
Server.Disks[].SizeMB | ディスクのサイズ(MB) |
Server.Disks[].Plan.ID | ディスクのプランID |
Server.Disks[].BundleInfo | ディスクのバンドル情報 |
Server.Disks[].Storage.ID | ストレージID |
Server.Disks[].Storage.Class | ストレージのクラス。iscsi1204がセットされる。 |
Metadata名 | 説明 |
---|---|
Server.Interfaces[].ID | インターフェースのID |
Server.Interfaces[].MACAddress | インターフェースのMACアドレス |
Server.Interfaces[].IPAddress | インターフェースのIPアドレス |
Server.Interfaces[].UserIPAddress | インターフェースのユーザIPアドレス |
Server.Interfaces[].HostName | インターフェースのホスト名 |
Server.Interfaces[].Switch.ID | インターフェースが接続されているスイッチのID |
Server.Interfaces[].Switch.Name | インターフェースが接続されているスイッチのの名前 |
Server.Interfaces[].Switch.Scope | インターフェースが接続されているスイッチのスコープ。sharedで共有セグメントに接続されていることを表す。 |
Server.Interfaces[].Switch.Subnet.NetworkAddress | インターフェースが接続されているスイッチのサブネットネットワークアドレス |
Server.Interfaces[].Switch.Subnet.NetworkMaskLen | インターフェースが接続されているスイッチのサブネットマスク長 |
Server.Interfaces[].Switch.Subnet.DefaultRoute | インターフェースが接続されているスイッチのサブネットのデフォルトルート |
Server.Interfaces[].Switch.Subnet.Internet.BandWidthMbps | インターフェースが接続されているネットワークの帯域幅(Mbps) |
Server.Interfaces[].PacketFilter | インターフェースに設定されているパケットフィルターの情報 |
2. cloud-initの利用方法¶
cloud-initをコントロールパネルからの利用するにあたって、サーバ作成後すぐにサーバを起動をしなければ、サーバの初期設定を行うことができません。 これはサーバ起動時にcloud-initの実行に必要なユーザデータを指定するためです。 作成後にすぐにサーバ起動をしたくない場合は、サーバ作成後APIからユーザデータを指定し起動する必要があります。 APIの詳細に関しましては、 さくらのクラウドAPIドキュメント をご参照ください。 コントロールパネルからcloud-initの利用手順は以下のようになります。
- サーバ作成の画面に移動(サーバの作成の詳細については、 こちらのページ をご参照ください。)
- サーバ作成画面の「ディスク > アーカイブ選択」からcloudimgのアーカイブを選択

- 「cloud-init設定」からサーバの基本設定を入力
公開鍵、ホスト名、タイムゾーン、ロケールを入力します。

公開鍵は、クラウドアカウントに登録されたもの、もしくはGitHubアカウントに登録されたものを利用することもできます。
注意
cloud-initアーカイブは公開鍵の設定が必須となります。パスワードは「cloud-init設定 > 追加ユーザデータ」より設定可能ですが、セキュリティの観点からパスワードの設定は非推奨です。 また、パスワードを設定される場合は、SHA512でハッシュ化したパスワードを利用するようにしてください。
- 「cloud-init設定 > 追加ユーザデータ」に必要に応じて追加の設定を入力
下図のように追加のユーザデータの設定をyaml形式で記述することができます。

上図の追加ユーザデータでは、起動時にインストールするパッケージの設定やキーボードの設定などを行い、これら全ての処理が終了した後サーバの再起動が実施されます。 このように追加ユーザデータにcloud-initのモジュールを記述いただくことで、サーバの初期設定をカスタマイズすることができます。 cloud-initのモジュールの詳細については、 cloud-init公式ページのModules をご参照ください。
注意
追加ユーザデータにホスト名、タイムゾーン、ロケールを記述された場合、「cloud-init設定 > ホスト名、タイムゾーン、ロケール」に入力された内容は、追加ユーザデータで指定されたものに上書きされます。ただし、サーバを複数台同時に作成される場合に限り、「cloud-init設定 > ホスト名」から入力した内容が優先され、ホスト名フィールドに入力された内容の連番(hostname-01, hostname-02…)で設定されることにご注意ください。
- サーバ作成をクリックしサーバを作成