サービスの実行環境を選択する

このページでは、Cloud Run インスタンスの実行環境を指定する方法について説明します。Cloud Run サービスでは、デフォルトで実行環境が指定されていません。つまり、Cloud Run は使用されている機能に基づいて実行環境を選択します。サービスの実行環境を指定しない場合、Cloud Run が第 1 世代または第 2 世代の環境を選択します。

Cloud Run ジョブは第 2 世代の実行環境のみ使用します。この動作をジョブで変更することはできません。

実行環境のコンセプトに関するドキュメントを参照して、サービスに最適な環境を選択してください。

必要なロール

Cloud Run サービスの構成とデプロイに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ソースコードからサービスまたは関数をデプロイする場合は、プロジェクトと Cloud Build サービス アカウントに追加のロールが付与されている必要があります。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run サービスがGoogle Cloud APIs(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

実行環境の設定と更新

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

Cloud Run サービスのデフォルトは未指定です。つまり、Cloud Run が適切な実行環境を選択します。実行環境を指定することもできます。第 2 世代を使用するには、少なくとも 512 MiB のメモリを指定する必要があります。

実行環境は、新しいサービスを作成するとき、または新しいリビジョンをデプロイするときに、 Google Cloud コンソール、gcloud コマンドライン、または YAML ファイルを使用して設定できます。

コンソール

  1. Google Cloud コンソールで Cloud Run に移動します。

    Cloud Run に移動

  2. メニューから [サービス] を選択し、[コンテナをデプロイ] をクリックして新しいサービスを構成します。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. 新しいサービスを構成する場合は、最初のサービス設定のページに入力してから、[コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックしてサービス構成ページを開きます。

  4. [コンテナ] タブをクリックします。

    画像

    • オプション ボタンを使用して目的の実行環境を選択します。Cloud Run が適切な実行環境を選択できるように、デフォルトのままにします。
  5. [作成] または [デプロイ] をクリックします。

gcloud

次のコマンドを使用して、特定のサービスの実行環境を更新できます。

gcloud run services update SERVICE --execution-environment ENVIRONMENT

SERVICE はサービス名に置き換え、ENVIRONMENT は目的の実行環境に置き換えます。第 1 世代には gen1、第 2 世代には gen2 の各値を指定します。

デプロイ中に、次のコマンドを使用して実行環境を設定することもできます。

gcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT

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

  • IMAGE_URL: コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latest など)。Artifact Registry を使用する場合は、リポジトリ REPO_NAME がすでに作成されている必要があります。URL は LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG の形式です。
  • ENVIRONMENT: 目的の実行環境。第 1 世代の場合は gen1、第 2 世代の場合は gen2 を指定します。

YAML

  1. 新しいサービスを作成する場合は、この手順をスキップします。既存のサービスを更新する場合は、その YAML 構成をダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml
  2. run.googleapis.com/execution-environment アノテーションを設定します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/execution-environment: ENVIRONMENT

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

    • SERVICE: Cloud Run サービスの名前。
    • ENVIRONMENT: 選択した実行環境。第 1 世代の場合は gen1、第 2 世代の場合は gen2 を指定します。

    デフォルトの動作の場合は、run.googleapis.com/execution-environment アノテーションを削除します。

  3. 次のコマンドを使用して、サービスを作成または更新します。

    gcloud run services replace service.yaml

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

Terraform 構成の google_cloud_run_v2_service リソースに次の内容を追加します。

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-execution-environment"
  location = "REGION"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    execution_environment = "ENVIRONMENT"
  }
}

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

  • REGION: Google Cloud のリージョン。例: europe-west1
  • ENVIRONMENT: 第 1 世代の場合は EXECUTION_ENVIRONMENT_GEN1、第 2 世代の場合は EXECUTION_ENVIRONMENT_GEN2

実行環境の設定を表示する

Cloud Run サービスの現在の実行環境の設定を表示するには:

コンソール

  1. Google Cloud コンソールで Cloud Run に移動します。

    Cloud Run に移動

  2. 目的のサービスをクリックして、[サービスの詳細] ページを開きます。

  3. [変更内容] タブをクリックします。

  4. 右側の詳細パネルで [コンテナ] タブに、実行環境の設定が表示されます。

gcloud

  1. 次のコマンドを使用します。

    gcloud run services describe SERVICE
  2. 返された構成で実行環境の設定を見つけます。