コンソール Google Cloud で Image Builder パイプラインを直接構成して起動します。コンソール Google Cloud には、ベースイメージのソース、出力先、カスタマイズ ステップ、実行トリガーを指定できるインタラクティブなインターフェースが用意されています。
始める前に
- 環境を準備する の手順に沿って環境を設定します。
- Git リポジトリからビルドを自動的にトリガーする場合は、
Cloud Build リポジトリ(
2nd gen) または Developer Connect 接続リンクを使用して、 GitHub、GitLab、Bitbucket リポジトリを接続します。
必要なロール
コンソール Google Cloud を使用してイメージ カスタマイズ パイプラインを作成して管理するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
- Cloud Build 編集者 (
roles/cloudbuild.builds.editor) - サービス アカウント ユーザー (
roles/iam.serviceAccountUser) - Compute 管理者 (
roles/compute.admin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
パイプラインを作成して管理する
Google Cloud コンソールでは、新しいカスタム OS イメージ パイプラインの作成、 既存の構成の編集、既存のパイプラインの複製、不要になったパイプラインの削除を行うことができます。
パイプラインを作成する
Google Cloud コンソールを使用してカスタム OS イメージ パイプラインを作成する手順は次のとおりです。
コンソール Google Cloud で [**イメージ**] ページに移動します。
[Image Builder] をクリックして、Image Builder のホームページに移動します。
リージョン セレクタで、パイプラインを作成するリージョンを選択します。
[Create a pipeline] をクリックします。
[パイプラインの設定] セクションで、コア パイプラインの詳細を構成します。
- 名前: パイプラインの一意の名前を入力します。
- 説明: (省略可)パイプラインの説明を入力します。
- リージョン: パイプラインの Google Cloud リージョンを選択します。 Image Builder は、Cloud Build が利用可能なすべての リージョンでサポートされています。
- サービス アカウント: 必要な IAM 権限で構成されたサービス アカウントを選択するか、新しいサービス アカウントを作成します。
- 構成ソース: カスタマイズ構成とスクリプトの保存場所として、次のいずれかの方法を選択します。
- リポジトリと統合する: Git リポジトリからカスタマイズ レシピとスクリプトを取得する場合は、このオプションを選択します。リポジトリの
imagebuilder.yamlファイルで、ソースのベースイメージ、ビルドゾーン、カスタマイズ ステップ、ターゲット イメージの設定が定義されているため、コンソールはトリガーに直接進みます。次のフィールドを構成します。- リポジトリ: 接続されているリポジトリを選択するか、[リポジトリをリンク] をクリックして GitHub、GitLab、Bitbucket リポジトリを接続します。
- Image Builder 構成へのパス: リポジトリ内のカスタマイズ レシピ ファイルへの相対パス(
imagebuilder.yamlなど)を入力します。 - Cloud Storage フォルダ: [参照] をクリックして、パイプライン ログとビルド アーティファクトがアップロードされる Cloud Storage フォルダを選択します。
- Google Cloud Storage にスクリプトを保存する: この代替方法を選択すると、コンソール インターフェースでベースイメージ、ターゲット イメージの詳細、カスタマイズ ステップを直接構成できます。コンソールはスクリプトを Cloud Storage に保存し、ステップバイステップのウィザードの手順を説明します。次のフィールドを構成します。
- カスタマイズ スクリプト フォルダ: [参照] をクリックして、カスタマイズ スクリプトを保存する Cloud Storage フォルダを選択します。
- リポジトリと統合する: Git リポジトリからカスタマイズ レシピとスクリプトを取得する場合は、このオプションを選択します。リポジトリの
- Artifact Registry: (省略可)ターゲット イメージ アーカイブをアップロードして、暗号化された SLSA ビルドの来歴証明書を生成する場合は、[Artifact Registry リポジトリ] リストから汎用リポジトリを選択します。詳細については、 イメージの来歴を確認するをご覧ください。
[次へ] をクリックして、選択した構成ソースに基づいて残りの構成パネルに進みます。
[リポジトリと統合する] を選択した場合:
リポジトリの
imagebuilder.yamlレシピで、ソースのベースイメージ、ターゲット イメージの設定、カスタマイズ ステップが定義されます。コンソールは手動入力を行わず、トリガーに直接進みます。- [トリガー] セクションで、パイプラインの実行タイミングを構成します。
- スケジュールで実行: cron 構文を使用して、定期的なスケジュールを指定します。
- リポジトリ イベントで実行: リポジトリ イベント ([ブランチに push]、[新しいタグを push]、[pull リクエスト] など) が発生したときにビルドを自動的にトリガーし、ブランチまたはタグのフィルタ パターンを指定します。
- [次へ] をクリックして [概要] セクションに進みます。
- パイプラインの構成を確認し、[作成] をクリックします。
- [トリガー] セクションで、パイプラインの実行タイミングを構成します。
[Google Cloud Storage にスクリプトを保存する] を選択した場合:
- [ソースイメージの詳細] セクションで、ベース OS イメージを指定します。
- イメージ ファミリーを使用する: Container-Optimized OS や Ubuntu などの公開 OS ファミリーを選択します。パイプラインは、ビルドごとにそのファミリー内の非推奨でない最新のイメージを自動的に選択します。
- 既存のイメージを使用する: 特定の OS イメージを選択します。
- [次へ] をクリックして [ターゲット イメージの詳細] セクションに進みます。
- 生成されたカスタム OS イメージの名前を入力します。
- (省略可)イメージ ファミリー、説明、リソースラベル、顧客管理の暗号鍵(CMEK)を指定します。
- [次へ] をクリックして [カスタマイズ] セクションに進みます。
- [カスタマイズ アクション] を選択して、パッケージのインストールやインライン シェル スクリプトの実行など、個別のカスタマイズ ステップを追加、編集、並べ替えます。
- [YAML を追加] を選択して、生のレシピ
stepsを YAML で直接記述または貼り付けます。 - (省略可)[詳細構成] で、ビルドジョブを実行するワーカー VM とテスト VM に使用する
特定の [ゾーン]、[マシンタイプ]、または [予約] を選択します。ベアメタル マシンタイプはサポートされていません。レシピの
infrastructureConfigで、カスタム VPC ネットワーク、サブネットワーク、または外部 IP 設定(ephemeral、noneなど)を指定することもできます。
- [次へ] をクリックして [トリガー] セクションに進みます。
- [スケジュールで実行] を選択して、自動化された定期的なスケジュールを定義します。手動で実行する場合は、チェックを外します。
- [次へ] をクリックして [概要] セクションに進みます。
- パイプラインの構成を確認し、[作成] をクリックします。
- [ソースイメージの詳細] セクションで、ベース OS イメージを指定します。
パイプラインを作成した後:
- 自動トリガーを構成していない場合は、パイプラインを 手動で実行できます。**Image Builder** パイプラインのリストで、パイプラインの横にある [その他の操作] > [実行] をクリックします。
- [**スケジュールで実行**] または [**リポジトリ イベントで実行**] を構成した場合、 トリガー条件またはスケジュールが満たされると、パイプラインは自動的に実行されます。
パイプラインの編集
既存の Image Builder パイプラインを編集する手順は次のとおりです。
コンソール Google Cloud で [**イメージ**] ページに移動します。
[Image Builder] をクリックして、パイプラインのリストを表示します。
編集するパイプラインの横にある [その他の操作] > [編集] をクリックします。
必要に応じて、パイプラインの設定、構成ソース、ターゲット イメージの詳細、カスタマイズ ステップ、トリガー設定を更新します。
[保存] をクリックします。
パイプラインの複製
既存の構成をコピーして新しいパイプラインを作成する手順は次のとおりです。
コンソール Google Cloud で [**イメージ**] ページに移動します。
[Image Builder] をクリックして、パイプラインのリストを表示します。
複製するパイプラインの横にある [その他の操作] > [複製] をクリックします。
パイプライン作成フォームで、元のパイプラインからコピーされた入力済みのパラメータを確認します。[パイプライン名] フィールドを編集して、新しい一意の名前を指定できます。
必要に応じて、パイプラインのパラメータまたは設定を更新します。
[作成] をクリックします。
パイプラインを削除する
パイプラインを削除すると、Image Builder は今後の自動実行を停止し、パイプライン構成を完全に削除します。パイプラインを削除しても、以前に作成したカスタム OS イメージ、Artifact Registry アーティファクト、Cloud Storage バケットは削除されません。
Image Builder パイプラインを削除する手順は次のとおりです。
コンソール Google Cloud で [**イメージ**] ページに移動します。
[Image Builder] をクリックして、パイプラインのリストを表示します。
削除するパイプラインの横にある [その他の操作] > [削除] をクリックします。
確認ダイアログで [削除] をクリックして、パイプラインを完全に削除します。
ビルドを確認してモニタリングする
ビルド パイプラインの進行状況を追跡する手順は次のとおりです。
コンソール Google Cloud で、[Cloud Build] ページに移動します。
ナビゲーション メニューで [履歴] をクリックして、アクティブなジョブまたは完了したジョブを表示します。
[ビルド] リストで、ビルドの [ビルド ID] をクリックして、コンテナ実行ログを調べます。ログには、ワーカー VM 内で実行されているステップ(システム パッケージの更新やカスタム シェル コマンドなど)が表示され、その後にテスト VM からの検証テストの結果と最終出力の登録が表示されます。
次のステップ
- カスタマイズ レシピ スキーマでカスタマイズ レシピを定義する方法を確認する。
- 構成ファイルを使用してパイプラインをプログラムで構成して実行する場合は、gcloud CLI または Terraform を使用してカスタム OS イメージ パイプラインを作成するをご覧ください。
- イメージの来歴を確認する。