1.2. cloud-init はステージごとに動作する

cloud-init は、システム起動時に 5 つのステージで動作します。これらの段階では、cloud-init が実行するかどうか、および他のタスクの中からそのデータソースを見つける場所が決定されます。以下は、各ステージの簡単な概要です。

  1. cloud-init ジェネレーターステージでは、systemd サービスを介して、起動時に cloud-init を実行するかどうかを判断します。
  2. ローカルステージでは、cloud-init はローカルデータソースを検索し、ネットワーク設定を適用します。
  3. ネットワークステージでは、cloud-init はユーザーデータを処理し、cloud.cfg ファイルの cloud_init_modules の下に一覧表示されるモジュールを実行します。cloud_init_modules セクションにモジュールを有効化、無効化、または追加できます。
  4. config ステージでは、cloud-initcloud.cfg ファイルの cloud_config_modules の下に一覧表示されるモジュールを実行します。cloud_config_modules セクションにモジュールを有効化、無効化、または追加できます。
  5. 最終ステージでは、cloud-initcloud.cfg ファイルの cloud_final_modules に追加したものを実行できます。システムの起動後に通常実行するパッケージインストールを追加できます。また、設定管理プラグインおよびユーザースクリプトを追加することもできます。cloud_final_modules セクションにモジュールを有効化、無効化、または追加できます。

起動時の 5 つのステージは、cloud-init ドキュメントの Boot Stages セクションで説明されています。