2.3. cloud-init モジュールはフェーズごとに実行される

cloud-init を実行すると、cloud.cfg 内のモジュールが次の 3 つのフェーズで順番に実行されます。

  1. ネットワークフェーズ (cloud_init_modules)
  2. 設定フェーズ (cloud_config_modules)
  3. 最終フェーズ (cloud_final_modules)

仮想マシンで cloud-init が初めて実行されると、設定したすべてのモジュールがそれぞれのフェーズで実行されます。cloud-init の後続の実行では、モジュールがフェーズ内で実行されるかどうかは、個々のモジュールの モジュール頻度 により異なります。cloud-init が実行されるたびに実行されるモジュールもあれば、インスタンス ID が変更された場合でも、cloud-init の初回実行時にしか実行されないモジュールもあります。

注記

インスタンス ID はインスタンスを一意に識別します。インスタンス ID が変更されると、cloud-init はそのインスタンスを新しいインスタンスとして処理します。

可能な モジュール周波数 の値は次のとおりです。

  • Per instance とは、モジュールがインスタンスの初回起動時に実行されることを意味します。たとえば、インスタンスのクローンを作成したり、保存したイメージから新しいインスタンスを作成したりすると、インスタンス別と指定されたモジュールは再度実行されます。
  • Per once とは、モジュールが 1 回だけ実行されることを意味します。たとえば、インスタンスのクローンを作成したり、保存したイメージから新しいインスタンスを作成したりすると、1 回と指定されたモジュールは、それらのインスタンスでは再度実行されません。
  • Per always とは、モジュールが起動ごとに実行されることを意味します。
注記

モジュールの設定時またはコマンドラインを使用して、モジュールの頻度を上書きできます。