2.3. cloud-init モジュールはフェーズごとに実行される
cloud-init
を実行すると、cloud.cfg
内のモジュールが次の 3 つのフェーズで順番に実行されます。
-
ネットワークフェーズ (
cloud_init_modules
) -
設定フェーズ (
cloud_config_modules
) -
最終フェーズ (
cloud_final_modules
)
仮想マシンで cloud-init
が初めて実行されると、設定したすべてのモジュールがそれぞれのフェーズで実行されます。cloud-init
の後続の実行では、モジュールがフェーズ内で実行されるかどうかは、個々のモジュールの モジュール頻度 により異なります。cloud-init
が実行されるたびに実行されるモジュールもあれば、インスタンス ID が変更された場合でも、cloud-init
の初回実行時にしか実行されないモジュールもあります。
注記
インスタンス ID はインスタンスを一意に識別します。インスタンス ID が変更されると、cloud-init
はそのインスタンスを新しいインスタンスとして処理します。
可能な モジュール周波数 の値は次のとおりです。
-
Per instance
とは、モジュールがインスタンスの初回起動時に実行されることを意味します。たとえば、インスタンスのクローンを作成したり、保存したイメージから新しいインスタンスを作成したりすると、インスタンス別と指定されたモジュールは再度実行されます。 -
Per once
とは、モジュールが 1 回だけ実行されることを意味します。たとえば、インスタンスのクローンを作成したり、保存したイメージから新しいインスタンスを作成したりすると、1 回と指定されたモジュールは、それらのインスタンスでは再度実行されません。 -
Per always
とは、モジュールが起動ごとに実行されることを意味します。
注記
モジュールの設定時またはコマンドラインを使用して、モジュールの頻度を上書きできます。