よくある質問
仮想サーバーのオフィシャルイメージに含まれているcloud-initおよびcloudbase-initの仕様について教えて下さい。
仮想サーバーのオフィシャルイメージにはcloud-init(Linux系)およびcloudbase-init(Windows系)が含まれており、これらのファイルの仕様は下記のとおりとなります。
#初回起動時にインスタンスへ各種設定を行うために提供しております。
#初回起動後、お客さまにて無効にしていただくことは問題ございません(cloud-init実行による設定の更新が無効化されること以外の影響はございません)。
■cloud-init(Linux系)
1.実行されるタイミング
・インスタンス起動時(HAによる再起動を含みます)
※メタデータサービスと通信可能な状態である必要がございます。メタデータサービスと通信可能な状態でない場合、実行されません。
(メタデータサービスの仕様については仮想サーバーのサービス説明書を参照ください)
2.影響範囲
・キーペアで設定した内容が反映されます。 ※初回起動時のみ(インスタンス作成による初回起動時のみ)
・Post-install scriptで設定した内容が反映されます。 ※初回起動時のみ(インスタンス作成による初回起動時のみ)
・cloud-initの実行により下記の5つのファイルに変更が加わります。
- /etc/hostname: インスタンス起動時にhostnameがインスタンス名に変更されます。 - /etc/hosts: インスタンス名を変更した場合、インスタンス起動時に設定がhostsへ追加されます。 - /etc/locale.conf: インスタンス作成時にen_US.UTF-8(cloud-initのデフォルト値)に初期化されます。 ※初回起動時のみ(インスタンス作成による初回起動時のみ) - /etc/ssh/sshd_config: インスタンス作成時にPasswordAuthentication no(cloud-initのデフォルト値)に初期化されます。 ※初回起動時のみ(インスタンス作成による初回起動時のみ) - /etc/ssh/ssh_host_*: インスタンス作成時にssh_host_*が再作成されます。 (/etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_ed25519_key.pub, /etc/ssh/ssh_host_ecdsa_key.pub, /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_ed25519_key, /etc/ssh/ssh_host_rsa_key) ※初回起動時のみ(インスタンス作成による初回起動時のみ)
3.参考:回避策(cloud-initによる設定更新の回避策)
・各設定について下記のとおり変更を行うことで、cloud-init実行による設定の更新を無効化することができます。
- /etc/hostname: /etc/cloud/cloud.cfgでpreserve_hostname:Trueに設定 - /etc/hosts: /etc/cloud/cloud.cfgでmanage_etc_hosts: Falseに設定 - /etc/locale.conf: /etc/cloud/cloud.cfgでlocale: ja_JP.Shift_JISに設定(ご設定されている値をご指定ください) - /etc/ssh/sshd_config: /etc/cloud/cloud.cfgでssh_pwauth:Trueに設定 - /etc/ssh/ssh_host_*: /etc/cloud/cloud.cfgでssh_deletekeys:Falseに設定
■cloudbase-init(Windows系)
1.実行されるタイミング
・インスタンス作成時(インスタンス作成による初回起動時のみ)
※メタデータサービスと通信可能な状態である必要がございます。メタデータサービスと通信可能な状態でない場合、実行されません。
(メタデータサービスの仕様については仮想サーバーのサービス説明書を参照ください)
2.影響範囲
・Post-install scriptで設定した内容が反映されます。
・インスタンス作成時にインスタンス名がホスト名に登録されます。
3.参考:回避策(cloudbase-initによるインスタンス作成時におけるホスト名更新の回避策)
・下記の回避策を行うことでcloudbase-initの実行を行わないように設定することが可能です。
当該Windowsインスタンスの
C:\Program Files (x86)\Cloudbase Solutions\Cloudbase-Init\conf
に格納されているcloudbase-init.confについて、
plugins= から cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin を外してください。