このページでは、Cloud Run インスタンスの実行環境を指定する方法について説明します。Cloud Run サービスでは、デフォルトで実行環境が指定されていません。つまり、Cloud Run は使用されている機能に基づいて実行環境を選択します。サービスの実行環境を指定しない場合、Cloud Run が第 1 世代または第 2 世代の環境を選択します。
Cloud Run ジョブは第 2 世代の実行環境のみ使用します。この動作をジョブで変更することはできません。
実行環境のコンセプトに関するドキュメントを参照して、サービスに最適な環境を選択してください。
必要なロール
Cloud Run サービスの構成とデプロイに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
Cloud Run サービスに対する Cloud Run デベロッパー(
roles/run.developer
)ロール -
サービス ID に対するサービス アカウント ユーザー(
roles/iam.serviceAccountUser
)ロール
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 ファイルのいずれかを使用して実行環境を設定できます。
コンソール
Google Cloud コンソールで、[Cloud Run] に移動します。
[コンテナをデプロイ] をクリックし、[サービス] を選択して、新しいサービスを構成します。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
新しいサービスを構成する場合は、最初のサービス設定のページに入力してから、[コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックしてサービス構成ページを開きます。
[コンテナ] タブをクリックします。
- オプション ボタンを使用して目的の実行環境を選択します。Cloud Run が適切な実行環境を選択できるように、デフォルトのままにします。
[作成] または [デプロイ] をクリックします。
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
新しいサービスを作成する場合は、この手順をスキップします。既存のサービスを更新する場合は、その YAML 構成をダウンロードします。
gcloud run services describe SERVICE --format export > service.yaml
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
アノテーションを削除します。次のコマンドを使用して、サービスを作成または更新します。
gcloud run services replace service.yaml
実行環境の設定を表示する
Cloud Run サービスの現在の実行環境の設定を表示するには:
コンソール
Google Cloud コンソールで、[Cloud Run] に移動します。
目的のサービスをクリックして、[サービスの詳細] ページを開きます。
[変更内容] タブをクリックします。
右側の詳細パネルで [コンテナ] タブに、実行環境の設定が表示されます。
gcloud
次のコマンドを使用します。
gcloud run services describe SERVICE
返された構成で実行環境の設定を見つけます。