Cloud Build の機能

このページでは、サービス アカウントの作成、特定のリージョンでのビルド、プライベート ワーカープールの使用など、Cloud Build 機能を使用して Cortex Framework Data Foundation をビルドするためのオプションの構成について説明します。これらの構成は、データのプライバシー、パフォーマンス、セキュリティ、カスタマイズに関して大きなメリットがあります。最適なアプローチは、具体的な要件とアプリケーションの性質によって異なります。

ユーザー作成のサービス アカウントを使用したデプロイ

置換パラメータ _BUILD_ACCOUNT を追加することで、サービス アカウントでデプロイを実行できます。

  gcloud builds submit \
    --config=./cloudbuild.yaml \
    --substitutions=_GCS_BUCKET=<BUCKET_FOR_LOGS>, \
    _BUILD_ACCOUNT='projects/SOURCE_PROJECT/serviceAccounts/SERVICE_ACCOUNT@SOURCE_PROJECT.iam.gserviceaccount.com'

次のように置き換えます。

  • BUCKET_FOR_LOGS は、ログのバケット名に置き換えます。
  • SERVICE_ACCOUNT は、Cortex Framework Data Foundation のデプロイ用のサービス アカウントに置き換えます。
  • SOURCE_PROJECT は、Cortex Framework Data Foundation のデプロイ用ソース プロジェクトに置き換えます。

このサービス アカウントは Cloud Build ジョブをトリガーし、Cloud Build サービス アカウントで特定のステップを実行します。これにより、リソースに直接アクセスしなくてもデプロイ プロセスをトリガーできます。

新しいサービス アカウントを作成するには、次の操作を行います。

Console

  1. [サービス アカウント] ページに移動します。

    サービス アカウント

  2. このサービス アカウントにプロジェクトへのアクセス権を付与します。

  3. ユーザーにこのサービス アカウントへのアクセスを許可します。

    1. サービス アカウントを使用してデプロイを実行できるすべてのユーザー(自分自身を含む)の ID を追加します。
    2. サービス アカウント トークン作成者のロールを割り当てます。このロールの詳細については、サービス アカウントのロールをご覧ください。

サービス アカウントがすでにある場合は、次の操作を行います。

  1. [サービス アカウント] に移動
  2. [サービス アカウント] をクリックします。
  3. [権限] タブをクリックします。
  4. [アクセス権を付与] をクリックします。
    1. サービス アカウントを使用してデプロイを実行できるすべてのユーザー(自分自身を含む)の ID を追加します。
    2. サービス アカウント トークン作成者のロールを割り当てます。

gcloud

  1. 次のコマンドを使用して、IAM ポリシーでサービス アカウントを作成します。

    gcloud iam service-accounts create SERVICE_ACCOUNT \
        --description="Service account for Cortex Framework Data Foundation deployment" \
        --display-name="my-cortex-service-account"
    
  2. 次のコマンドを使用して、IAM ポリシーをプロジェクトに追加します。 Google Cloud

    gcloud projects add-iam-policy-binding SOURCE_PROJECT \
    --member="serviceAccount:SERVICE_ACCOUNT@SOURCE_PROJECT.iam.gserviceaccount.com" \
    --role="roles/cloudbuild.builds.editor"
    
  3. サービス アカウントを介してデプロイを実行できるすべてのユーザー(自分自身を含む)の ID を追加し、次のコマンドを使用してサービス アカウント トークン作成者ロールを割り当てます。

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT\
      --member="user:USER_EMAIL" \
      --role="roles/iam.serviceAccountTokenCreator"
    

    次のように置き換えます。

    • SERVICE_ACCOUNT は、Cortex Framework Data Foundation のデプロイ用のサービス アカウントに置き換えます。
    • SOURCE_PROJECT は、Cortex Framework Data Foundation のデプロイ用ソース プロジェクトに置き換えます。
    • USER_EMAIL は、実行したユーザーのメールアドレスに置き換えます。

特定のリージョンでビルドする

リージョンビルディングでは、データが特定の地理的位置内に確実に保持されます。これにより、ローカルのデータ プライバシー規制に準拠し、可用性とレイテンシを低減できます。詳細については、Cloud Build のロケーションをご覧ください。

特定のリージョンでデプロイを実行するには、次のコマンドのように、置換パラメータ _CLOUD_BUILD_REGION--region bash パラメータに追加します。

gcloud builds submit \
  --config=./cloudbuild.yaml \
  --substitutions=_GCS_BUCKET=BUCKET_FOR_LOGS,_CLOUD_BUILD_REGION=REGION \
  --region=REGION

次のように置き換えます。

  • BUCKET_FOR_LOGS は、ログのバケット名に置き換えます。
  • REGION: デプロイのリージョン。使用可能なリージョンの詳細については、地域とリージョンをご覧ください。

プライベート ワーカープールでビルドする

プライベート ワーカープールを使用すると、ビルドの環境をより安全にできます。プライベート プールは、プライベート ネットワーク内のリソースへのアクセスなど、ビルド環境のカスタマイズを強化するワーカーのプライベート専用プールです。詳細については、プライベート プールの概要をご覧ください。

限定公開ワーカーを構成するには、次のコマンドのように、対応する _CLOUD_BUILD_REGION パラメータを使用して _WORKER_POOL_NAME を追加します。

gcloud builds submit \
  --config=./cloudbuild.yaml
  --substitutions=_GCS_BUCKET=BUCKET_FOR_LOGS,_WORKER_POOL_NAME='projects/SOURCE_PROJECT/locations/us-central1/workerPools/YOUR_WORKER_POOL_NAME',_CLOUD_BUILD_REGION=REGION \
  --region=REGION

次のように置き換えます。

  • BUCKET_FOR_LOGS は、ログのバケット名に置き換えます。
  • SOURCE_PROJECT は、Cortex Framework Data Foundation のデプロイ用ソース プロジェクトに置き換えます。
  • YOUR_WORKER_POOL_NAME は、ワーカープールの名前に置き換えます。
  • REGION: デプロイのリージョン。使用可能なリージョンの詳細については、地域とリージョンをご覧ください。