よくある質問

仮想サーバーのオフィシャルイメージに含まれているcloud-initおよびcloudbase-initの仕様について教えて下さい。

(:更新)

仮想サーバーのオフィシャルイメージにはcloud-init(Linux系)およびcloudbase-init(Windows系)が含まれており、これらのファイルの仕様は下記のとおりとなります。

■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 を外してください。

このFAQは参考になりましたか?

参考になった 参考にならなかった

サービスの改善にご協力をお願いいたします

こちらのFAQは参考になりましたか? ご意見がございましたら、ぜひお聞かせください。

ありがとうございました

ご意見は送信されました。