ジョブのメモリ上限を構成する

Cloud Run ジョブに割り当てるメモリ容量を選択できます。このページでは、ジョブで使用可能なメモリ量を指定する方法について説明します。

メモリ使用量を把握する

許容されるメモリ上限を超える Cloud Run インスタンスは終了します。

インスタンスで使用可能なメモリは、次のために十分である必要があります。

  • ジョブ実行可能ファイルの実行(実行可能ファイルをメモリに読み込む必要があるため)
  • ジョブプロセスでのメモリの割り当て
  • ファイル システムへのファイルの書き込み

デプロイされたコンテナ イメージのサイズは、インスタンスで使用可能なメモリには影響しません。

メモリ上限を設定、更新する

Cloud Run ジョブにはメモリ上限を設定できます。デフォルトでは、各ジョブに割り当てられるメモリは 512 MiB です。

必要な最小 CPU

選択した割り当てメモリの量は、ジョブの最小 CPU の量に対応します。メモリの上限を設定する場合は、次の最小 CPU が必要です。

メモリ 必要な最小 CPU
128 MiB .083 vCPU
256 MiB .167 vCPU
512 MiB .333 vCPU
1 GiB .583 vCPU
2 GiB 1 vCPU
4 GiB より大きい 2 vCPU
8 GiB より大きい 4 個の vCPU
16 GiB より大きい 6 vCPU
24 GiB より大きい 8 vCPU

メモリの最大量

構成できるメモリの最大容量は 32 ギビバイト(32 Gi)です。

最小メモリ

第 2 世代の実行環境で構成できるメモリの最小容量は 512 MiB です。

必要なロール

Cloud Run ジョブの構成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

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

メモリ上限を構成する

Cloud Run ジョブには 512 MiB 以上を指定する必要があります。Cloud Run ジョブのメモリを指定するには:

コンソール

  1. Google Cloud コンソールで、Cloud Run の [ジョブ] ページに移動します。

    [Cloud Run] に移動

  2. メニューから [ジョブ] を選択し、[コンテナをデプロイ] をクリックして、ジョブの初期設定ページに入力します。既存のジョブを構成する場合は、ジョブをクリックして [編集] をクリックします。

  3. [コンテナ、ボリューム、接続、セキュリティ] をクリックして、ジョブのプロパティ ページを開きます。

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

    画像

    • [メモリ] プルダウン リストから目的のメモリサイズを選択します。
  5. [作成] または [更新] をクリックします。

gcloud

  1. ジョブを作成するときにメモリ制限を設定するには:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE

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

    • JOB_NAME は、ジョブの名前に置き換えます。
    • IMAGE_URL は、コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/job:latest など)に置き換えます。
    • SIZE は、目的のメモリサイズに置き換えます。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(GM はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(GiMi はそれぞれ GiB、MiB を表します)。
  2. ジョブを更新するときにメモリ制限を設定するには:

    gcloud run jobs update JOB_NAME --memory SIZE

YAML

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

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. memory 属性を更新します。

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                memory: SIZE

    SIZE は、目的のメモリサイズに置き換えます。最小値は 512 Mi です。書式は、固定小数点または浮動小数点の後に単位が続きます(GM はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(GiMi はそれぞれ GiB、MiB を表します)。

    環境変数やメモリ上限など他の構成を指定することもできます。

  3. 既存のジョブ構成を更新します。

    gcloud run jobs replace job.yaml

Terraform

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

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

resource "google_cloud_run_v2_job" "default" {
  name     = "cloudrun-job"
  location = "REGION"
  deletion_protection = false

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        resources {
          limits = {
            cpu    = "2"
            memory = "SIZE"
          }
        }
      }
    }
  }
}

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

  • REGION は、 Google Cloud リージョンに置き換えます。例: europe-west1
  • SIZE は、必要なメモリサイズに置き換えます。最小値は 512 Mi です。書式は、固定小数点または浮動小数点の後に単位が続きます(GM はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(GiMi はそれぞれ GiB、MiB を表します)。

メモリ上限の設定を表示する

Cloud Run ジョブの現在のメモリ上限設定を表示するには:

コンソール

  1. Google Cloud コンソールで、Cloud Run の [ジョブ] ページに移動します。

    Cloud Run の [ジョブ] に移動

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

  3. [ジョブ構成の表示と編集] をクリックします。

  4. 構成の詳細でメモリ上限の設定を見つけます。

gcloud

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

    gcloud run jobs describe JOB_NAME
  2. 返された構成で、メモリ上限設定を見つけます。