Google Cloud コンソールを使用してカスタム OS イメージ パイプラインを作成して管理する

Google Cloud コンソールで Image Builder パイプラインを直接構成して起動します。 Google Cloud コンソールには、ベースイメージのソース、出力先、カスタマイズ手順、実行トリガーを指定できるインタラクティブなインターフェースが用意されています。

始める前に

必要なロール

Google Cloud コンソールを使用してイメージ カスタマイズ パイプラインを作成して管理するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

パイプラインを作成して管理する

Google Cloud コンソールでは、新しいカスタム OS イメージ パイプラインの作成、既存の構成の編集、既存のパイプラインの複製、不要になったパイプラインの削除を行うことができます。

パイプラインを作成する

Google Cloud コンソールを使用してカスタム OS イメージ パイプラインを作成する手順は次のとおりです。

  1. Google Cloud コンソールで [イメージ] ページに移動します。

    [イメージ] に移動

  2. [Image Builder] をクリックして、Image Builder のホームページに移動します。

  3. リージョン セレクタで、パイプラインを作成するリージョンを選択します。

  4. [Create a pipeline] をクリックします。

  5. [パイプライン設定] セクションで、コア パイプラインの詳細を構成します。

    • 名前: パイプラインの一意の名前を入力します。
    • 説明:(省略可)パイプラインの説明を入力します。
    • リージョン: パイプラインの Google Cloud リージョンを選択します。Image Builder は、Cloud Build が利用可能なすべてのリージョンでサポートされています。
    • サービス アカウント: 必要な IAM 権限で構成されたサービス アカウントを選択するか、新しいサービス アカウントを作成します。
    • 構成ソース: カスタマイズ構成とスクリプトの保存場所として、次のいずれかの方法を選択します。
      • リポジトリと統合する: このオプションを選択すると、カスタマイズ レシピとスクリプトが Git リポジトリから取得されます。リポジトリの imagebuilder.yaml ファイルで、ソース ベースイメージ、ビルドゾーン、カスタマイズ ステップ、ターゲット イメージ設定が定義されているため、コンソールはトリガーに直接進みます。次のフィールドを構成します。
        • リポジトリ: 接続されたリポジトリを選択するか、[リポジトリをリンク] をクリックして GitHub、GitLab、または Bitbucket リポジトリを接続します。
        • イメージ ビルダー構成へのパス: リポジトリ内のカスタマイズ レシピ ファイルへの相対パス(imagebuilder.yaml など)を入力します。
        • Cloud Storage フォルダ: [参照] をクリックして、パイプライン ログとビルド アーティファクトがアップロードされる Cloud Storage フォルダを選択します。
      • Google Cloud Storage にスクリプトを保存する: この方法を選択すると、コンソール インターフェースでベースイメージ、ターゲット イメージの詳細、カスタマイズ手順を直接構成できます。コンソールでスクリプトが Cloud Storage に保存され、完全なステップバイステップ ウィザードが表示されます。次のフィールドを構成します。
        • カスタマイズ スクリプト フォルダ: [参照] をクリックして、カスタマイズ スクリプトを保存する Cloud Storage フォルダを選択します。
    • Artifact Registry:(省略可)ターゲット イメージ アーカイブをアップロードして、暗号化された SLSA ビルドの来歴証明書を生成する場合は、[Artifact Registry リポジトリ] リストから汎用リポジトリを選択します。詳細については、画像の来歴を確認するをご覧ください。
  6. [次へ] をクリックして、選択した構成ソースに基づいて残りの構成パネルに進みます。

    • リポジトリとの統合を選択した場合:

      リポジトリの imagebuilder.yaml レシピでは、ソース ベースイメージ、ターゲット イメージの設定、カスタマイズ手順を定義します。コンソールでは、手動入力がスキップされ、トリガーに直接進みます。

      1. [トリガー] セクションで、パイプラインの実行タイミングを構成します。
        • スケジュールで実行: cron 構文を使用して定期的なスケジュールを指定します。
        • リポジトリ イベントで実行: ブランチへの push新しいタグの pushpull リクエストなどのリポジトリ イベントが発生したときにビルドを自動的にトリガーし、ブランチまたはタグのフィルタ パターンを指定します。
      2. [次へ] をクリックして [概要] セクションに進みます。
      3. パイプライン構成を確認し、[作成] をクリックします。
    • Google Cloud Storage にスクリプトを保存した場合:

      1. [ソースイメージの詳細] セクションで、ベース OS イメージを指定します。
        • イメージ ファミリーを使用する: Container-Optimized OS や Ubuntu などの公開 OS ファミリーを選択します。パイプラインは、ビルドごとにそのファミリー内の非推奨ではない最新のイメージを自動的に選択します。
        • 既存のイメージを使用する: 特定の OS イメージを選択します。
      2. [次へ] をクリックして、[ターゲット イメージの詳細] セクションに進みます。
        • 生成されたカスタム OS イメージの名前を入力します。
        • (省略可)イメージ ファミリー、説明、リソースラベル、顧客管理の暗号鍵(CMEK)を指定します。
      3. [次へ] をクリックして、[カスタマイズ] セクションに進みます。
        • [カスタマイズ アクション] を選択して、パッケージのインストールやインライン シェル スクリプトの実行など、個別のカスタマイズ手順を追加、編集、並べ替えます。
        • [YAML を追加] を選択して、YAML でレシピ steps を直接記述または貼り付けます。
        • (省略可)[高度な構成] で、ビルドジョブが実行されるワーカー VM とテスト VM に使用する特定のゾーンマシンタイプ予約を選択します。ベアメタル マシンタイプは対象外です。
      4. [次へ] をクリックして [トリガー] セクションに進みます。
        • [スケジュールで実行] を選択して自動定期スケジュールを定義するか、手動で実行する場合はチェックを外します。
      5. [次へ] をクリックして [概要] セクションに進みます。
      6. パイプライン構成を確認し、[作成] をクリックします。

パイプラインを作成した後:

  • 自動トリガーを構成していない場合は、パイプラインを手動で実行できます。Image Builder パイプラインのリストで、パイプラインの横にある [その他の操作 > 実行] をクリックします。
  • [Run on schedule] または [Run on repository event] を構成した場合、トリガー条件またはスケジュールが満たされると、パイプラインが自動的に実行されます。

パイプラインの編集

既存の Image Builder パイプラインを編集する手順は次のとおりです。

  1. Google Cloud コンソールで [イメージ] ページに移動します。

    [イメージ] に移動

  2. [Image Builder] をクリックして、パイプラインのリストを表示します。

  3. 編集するパイプラインの横にある [その他の操作 > 編集] をクリックします。

  4. 必要に応じて、パイプラインの設定、構成ソース、ターゲット イメージの詳細、カスタマイズ ステップ、トリガー設定を更新します。

  5. [保存] をクリックします。

パイプラインを複製する

既存の構成をコピーして新しいパイプラインを作成する手順は次のとおりです。

  1. Google Cloud コンソールで [イメージ] ページに移動します。

    [イメージ] に移動

  2. [Image Builder] をクリックして、パイプラインのリストを表示します。

  3. 複製するパイプラインの横にある [その他の操作] > [複製] をクリックします。

  4. パイプライン作成フォームで、元のパイプラインからコピーされた自動入力済みのパラメータを確認します。[パイプライン名] フィールドを編集して、新しい一意の名前を指定できます。

  5. 必要に応じて、パイプラインのパラメータまたは設定を更新します。

  6. [作成] をクリックします。

パイプラインを削除する

パイプラインを削除すると、Image Builder は今後の自動実行を停止し、パイプライン構成を完全に削除します。パイプラインを削除しても、以前に作成したカスタム OS イメージ、Artifact Registry アーティファクト、Cloud Storage バケットは削除されません。

Image Builder パイプラインを削除するには、次の操作を行います。

  1. Google Cloud コンソールで [イメージ] ページに移動します。

    [イメージ] に移動

  2. [Image Builder] をクリックして、パイプラインのリストを表示します。

  3. 削除するパイプラインの横にある [その他の操作] > [削除] をクリックします。

  4. 確認ダイアログで [削除] をクリックして、パイプラインを完全に削除します。

ビルドを検証してモニタリングする

ビルド パイプラインの進行状況を追跡する手順は次のとおりです。

  1. Google Cloud コンソールで、[Cloud Build] ページに移動します。

    Cloud Build に移動

  2. ナビゲーション メニューで [履歴] をクリックして、アクティブなジョブまたは完了したジョブを表示します。

  3. [ビルド] リストで、ビルドの [ビルド ID] をクリックして、コンテナ実行ログを検査します。ログには、ワーカー VM 内で実行されている手順(システム パッケージの更新やカスタム シェル コマンドなど)が表示され、その後にテスト VM からの検証テストの結果と最終出力の登録が表示されます。

次のステップ