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

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 ギビバイト(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 は、目的のメモリサイズに置き換えます。サイズの書式は、固定小数点または浮動小数点の後に単位が続きます(G、M はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi、Mi はそれぞれ 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 です。書式は、固定小数点または浮動小数点の後に単位が続きます(G、M はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi、Mi はそれぞれ 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 です。書式は、固定小数点または浮動小数点の後に単位が続きます(G、M はそれぞれ GB、MB を表します)。また 2 の累乗で表すこともできます(Gi、Mi はそれぞれ GiB、MiB を表します)。

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

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

コンソール

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

    Cloud Run の [ジョブ] に移動

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

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

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

gcloud

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

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