ワーカープールのメモリ上限を構成する

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

メモリ上限を構成する

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

Cloud Run ワーカープールのメモリ上限は、Google Cloud コンソール、Google Cloud CLI、YAML、または Terraform を使用して設定できます。

コンソール

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

    Cloud Run に移動

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

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

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

    画像

    • [メモリ] リストからメモリサイズを選択します。
  5. [作成] または [デプロイ] をクリックします。

gcloud

次のコマンドを使用して、特定のワーカープールのメモリ割り当てを更新します。

gcloud beta run worker-pools update WORKER_POOL --memory SIZE

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

  • WORKER_POOL: ワーカープールの名前
  • SIZE: CPU とメモリの表のメモリサイズ。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(GM はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(GiMi はそれぞれ 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

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

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. 次の例には、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: 選択したメモリサイズ。書式は、固定小数点または浮動小数点の後に単位が続きます(GM はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(GiMi はそれぞれ GiB、MiB を表します)。
  3. 次のコマンドを使用して、ワーカープールを作成または更新します。

    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 とメモリの表のメモリサイズ。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(GM はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(GiMi はそれぞれ GiB、MiB を表します)。

ワーカープールのメモリ構成を確認する

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

    [Cloud Run] に移動

  2. [ワーカープール] をクリックして、デプロイされたワーカープールのリストを確認します。

  3. 調べるワーカープールをクリックして、詳細ウィンドウを表示します。

  4. [コンテナ] タブをクリックして、各コンテナのワーカープールのメモリ構成を確認します。