生成 AI ユースケースの Cloud Build コントロール

このドキュメントでは、 Google Cloudで生成 AI ワークロードを実行する際の Cloud Build のベスト プラクティスとガイドラインについて説明します。Vertex AI で Cloud Build を使用して、 Google Cloudにサーバーレス CI / CD プラットフォームをビルド、テスト、デプロイします。

Vertex AI での Cloud Build のユースケースは次のとおりです。

  • ML パイプラインのビルドを自動化する: Cloud Build を使用すると、Vertex AI Pipelines で定義された ML パイプラインのビルドとテストを自動化できます。この自動化により、モデルをより迅速かつ一貫性をもって構築し、デプロイできます。
  • デプロイ用のカスタム コンテナ イメージをビルドする: Cloud Build は、モデル サービング環境用のカスタム コンテナ イメージをビルドできます。Cloud Build を使用すると、モデルコード、依存関係、ランタイム環境を 1 つのイメージにパッケージ化して、Vertex AI Inference にデプロイし、予測を提供できます。
  • CI / CD ワークフローと統合する: Cloud Build を使用すると、CI / CD ワークフローで ML モデルのビルドとデプロイを自動化できます。この自動化により、モデルが最新の状態に保たれ、本番環境にデプロイされます。
  • コードの変更に基づいてビルドをトリガーする: モデルコードまたはパイプライン定義が変更されたときに、Cloud Build でビルドを自動的にトリガーできます。この自動化により、モデルが最新のコードでビルドされ、変更が本番環境に自動的にデプロイされます。
  • スケーラブルで安全なインフラストラクチャを構築する: Cloud Build は、スケーラブルで安全なインフラストラクチャを使用してモデルをビルドしてデプロイします。Google Cloudこのスケーラビリティにより、独自のインフラストラクチャの管理を心配することなく、モデルの開発に集中できます。
  • さまざまなプログラミング言語のサポート: Cloud Build は、Python、Java、Go、Node.js など、さまざまなプログラミング言語をサポートしています。このサポートにより、任意の言語を使用してモデルを構築できます。
  • ビルド済みのビルドステップを使用する: ビルドプロセスを簡素化するために、Cloud Build には、依存関係のインストール、テストの実行、コンテナ レジストリへのイメージの push など、一般的な ML タスク用にビルドされたビルドステップが用意されています。
  • カスタム ビルドステップを作成する: Cloud Build で独自のカスタム ビルドステップを定義して、ビルドプロセス中に任意のコードを実行できます。
  • 他の Vertex AI サービスのアーティファクトをビルドする: Cloud Build は、Vertex AI Feature Store や Vertex AI Data Labeling などの他の Vertex AI サービスのアーティファクトをビルドできます。この柔軟性により、 Google Cloudで完全な ML ワークフローを構築できます。
  • 費用対効果の高いソリューションを実現する: Cloud Build は従量課金制の料金モデルを提供しているため、使用したリソースに対してのみ料金が発生します。

必要な Cloud Build コントロール

Cloud Build を使用する場合は、次のコントロールを実装することを強くおすすめします。

許可されたプライベート プールを定義する

Google コントロール ID CBD-CO-6.1
カテゴリ 必須
説明

cloudbuild.allowedWorkerPools リスト型制約を使用すると、組織、フォルダ、プロジェクト内で使用できる許可されたプライベート プールを定義できます。

ワーカープールの許可リストまたは拒否リストを定義するには、次のいずれかの形式を使用します。

  • under:organizations/ORGANIZATION_ID
  • under:folders/FOLDER_ID
  • under:projects/PROJECT_ID
  • projects/PROJECT_ID/locations/REGION/workerPools/WORKER_POOL_ID
対象プロダクト
  • 組織ポリシー サービス
  • Cloud Build
パス constraints/cloudbuild.allowedWorkerPools
演算子 =
文字列
関連する NIST-800-53 コントロール
  • AC-3
  • AC-5
  • AC-6
  • AC-12
  • AC-17
  • AC-20
関連する CRI プロファイル コントロール
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.AC-7.1
  • PR.AC-7.2
  • PR.PT-3.1
  • PR-PT-4.1
関連情報

ビルドトリガーを呼び出すことができる外部サービスを定義する

Google コントロール ID CBD-CO-6.2
カテゴリ 必須
説明

cloudbuild.allowedIntegrations 制約により、どの外部サービス(GitHub など)がビルドトリガーを呼び出すことができるかを定義します。たとえば、ビルドトリガーが GitHub リポジトリの変更をリッスンしていて、この制約で GitHub が拒否されている場合、トリガーは実行されません。組織またはプロジェクトで、任意の数の許可値または拒否値を指定できます。

対象プロダクト
  • 組織ポリシー サービス
  • Cloud Build
パス constraints/cloudbuild.allowedIntegrations
演算子 =
リスト
関連する NIST-800-53 コントロール
  • AC-3
  • AC-12
  • AC-17
  • AC-20
関連する CRI プロファイル コントロール
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.AC-7.1
  • PR.AC-7.2
  • PR.PT-3.1
  • PR-PT-4.1
関連情報

VM インスタンスに対して許可されている外部 IP アドレスを定義する

Google コントロール ID CBD-CO-6.3
カテゴリ 必須
説明

compute.vmExternalIpAccess リスト型制約を使用すると、外部 IP アドレスを割り当てないことで、仮想マシンへの外部アクセスを制限できます。このリスト型制約を構成して、仮想マシンへのすべての外部 IP アドレスを拒否します。

対象プロダクト
  • 組織ポリシー サービス
  • Cloud Build
パス compute.vmExternalIpAccess
演算子 =
  • Deny All
リスト
関連する NIST-800-53 コントロール
  • AC-3
  • AC-12
  • AC-17
  • AC-20
関連する CRI プロファイル コントロール
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.AC-7.1
  • PR.AC-7.2
  • PR.PT-3.1
  • PR-PT-4.1
関連情報

次のステップ