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

cloud-init が実行されると、ネットワークフェーズ (cloud_init_modules)、設定フェーズ (cloud_config_modules)、および最終フェーズ (cloud_final_modules) を含む 3 つのフェーズ内の順序で cloud.cfg 内のモジュールを実行します。仮想マシンで cloud-init が初めて実行されると、設定したすべてのモジュールがそれぞれのフェーズで実行されます。cloud-init の後続の実行では、モジュールがフェーズ内で実行されるかどうかは、個々のモジュールの モジュール頻度 により異なります。cloud-init が実行されるたびに実行されるモジュールもあれば、インスタンス ID が変更された場合でも、cloud-init の初回実行時にしか実行されないモジュールもあります。

注記

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

モジュール頻度 の値の簡単な説明を以下に示します。

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

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