Cloud Run ワーカープールに提供するメモリ量を選択できます。このページでは、ワーカープールで使用可能なメモリ量を指定する方法について説明します。
メモリ使用量を把握する
許容されるメモリ上限を超える Cloud Run インスタンスは終了します。
インスタンスで使用可能なメモリは、次のために十分である必要があります。
- ワーカープール実行可能ファイルの実行(実行可能ファイルをメモリに読み込む必要があるため)
- ワーカープール プロセスでのメモリの割り当て
- ファイル システムへのファイルの書き込み
デプロイされたコンテナ イメージのサイズは、インスタンスで使用可能なメモリには影響しません。
メモリ上限を設定、更新する
Cloud Run ワーカープールにはメモリ上限を設定できます。デフォルトでは、各ワーカープールに割り当てられるメモリは 512 MiB です。
CPU 値を設定する際に必要なメモリ
CPU 値を設定する場合は、次のメモリが必要です。
CPU | 必要なメモリ |
---|---|
1 vCPU | 128 MiB ~ 4 GiB |
2 vCPU | 128 MiB ~ 8 GiB |
4 vCPU | 2 ~ 16 GiB |
6 vCPU | 4 ~ 24 GiB |
8 vCPU | 4 ~ 32 GiB |
メモリの最大量
構成できるメモリの最大容量は 32 GiB(32 Gi
)です。
最小メモリ
最小メモリ設定は 512 MiB です。
必要なロール
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 API(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限とアクセスの管理をご覧ください。
メモリ上限を構成する
構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。
Cloud Run ワーカープールのメモリ上限は、Google Cloud コンソール、Google Cloud CLI、YAML、または Terraform を使用して設定できます。
コンソール
Google Cloud コンソールで Cloud Run に移動します。
メニューから [ワーカープール] を選択し、[コンテナをデプロイ] をクリックして新しいワーカープールを構成します。既存のワーカープールを構成する場合は、ワーカープールをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
新しいワーカープールを構成する場合は、最初のワーカープール ページに入力してから、[コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックしてワーカープール構成ページを開きます。
[コンテナ] タブをクリックします。
- [メモリ] リストからメモリサイズを選択します。
[作成] または [デプロイ] をクリックします。
gcloud
次のコマンドを使用して、特定のワーカープールのメモリ割り当てを更新します。
gcloud beta run worker-pools update WORKER_POOL --memory SIZE
次のように置き換えます。
- WORKER_POOL: ワーカープールの名前
- SIZE: CPU とメモリの表のメモリサイズ。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(
G
、M
はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi
、Mi
はそれぞれ GiB、MiB を表します)。
デプロイ中にメモリ制限を設定するには、次のコマンドを使用します。
gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE
次のように置き換えます。
- IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
など)。 - SIZE: CPU とメモリの表のメモリサイズ。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(G、B はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi、Mi はそれぞれ GiB、MiB を表します)。
YAML
新しいワーカープールを作成する場合は、この手順をスキップします。既存のワーカープールを更新する場合は、その YAML 構成をダウンロードします。
gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
次の例には、YAML 構成が含まれています。
apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL annotations: run.googleapis.com/launch-stage: BETA spec: template: spec: containers: - image: IMAGE_URL resources: limits: memory: SIZE
次のように置き換えます。
- WORKER_POOL: Cloud Run ワーカープールの名前。
- IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
など)。 - SIZE: 選択したメモリサイズ。書式は、固定小数点または浮動小数点の後に単位が続きます(
G
、M
はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi
、Mi
はそれぞれ GiB、MiB を表します)。
次のコマンドを使用して、ワーカープールを作成または更新します。
gcloud beta run worker-pools replace workerpool.yaml
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
resources {
limits = {
memory = "SIZE"
}
}
}
}
}
次のように置き換えます。
- WORKER_POOL: ワーカープールの名前。
- REGION: Google Cloud のリージョン。(例: europe-west1)。
- IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
など) - SIZE: CPU とメモリの表のメモリサイズ。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(
G
、M
はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi
、Mi
はそれぞれ GiB、MiB を表します)。
ワーカープールのメモリ構成を確認する
Google Cloud コンソールで Cloud Run に移動します。
[ワーカープール] をクリックして、デプロイされたワーカープールのリストを確認します。
調べるワーカープールをクリックして、詳細ウィンドウを表示します。
[コンテナ] タブをクリックして、各コンテナのワーカープールのメモリ構成を確認します。