並列処理を設定する(ジョブ)

parallelism を使用して、ジョブ実行で並行して実行できるタスクの最大数を指定します。デフォルトでは、タスクは可能な限り迅速に開始されますが、最大値は、使用している CPU の数によって異なります。

並列処理の上限を下げると、並列で実行されるタスクの数が制限されます。これは、データベースなどのバッキング リソースのいずれかでスケーリングが制限され、多くの並列リクエストを処理できない場合に便利です。

必要なロール

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

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

並列処理を構成する

Cloud Run ジョブの並列処理を指定するには:

コンソール

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

    Cloud Run に移動

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

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

  4. [全般] タブをクリックします。

    画像

    • 最適なパフォーマンスを得るために、[できる限り多くのタスクを同時実行する] を選択します。同時実行タスクの数を減らす必要がある場合(たとえば、バッキング リソースが制限されている場合)は、[同時タスクの数を制限する] を選択し、テキストボックスに 0~100 の整数を指定します。
  5. [作成] または [更新] をクリックします。

gcloud

  1. ジョブを作成する場合:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --parallelism PARALLELISM

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

    • JOB_NAME: ジョブの名前。
    • IMAGE_URL: コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/job:latest など)。
    • PARALLELISM: タスク数を超えない範囲内で 0~100 の整数を指定します。
  2. ジョブを更新する場合:

    gcloud run jobs update JOB_NAME --parallelism PARALLELISM

YAML

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

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

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
    spec:
      template:
        spec:
          parallelism: PARALLELISM
          template:
            spec:
              containers:
              - image: IMAGE

    PARALLELISM には、タスク数を超えない範囲内で 0~100 の整数を指定します。

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

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

    gcloud run jobs replace job.yaml

Terraform

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

Cloud Run ジョブの並列処理を指定するには、google_cloud_run_v2_job リソースを使用し、次のスニペットを main.tf ファイルに適用します。

resource "google_cloud_run_v2_job" "default" {
  name     = "cloud-run-job-parallelism"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    task_count  = 3
    parallelism = 3

    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job:latest"
      }
    }
  }
}

並列処理の設定を表示する

Cloud Run ジョブの現在の並列設定を表示するには:

コンソール

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

    Cloud Run の [ジョブ] に移動

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

  3. [構成] タブをクリックします。

  4. 構成の詳細で並列処理の設定を見つけます。

gcloud

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

    gcloud run jobs describe JOB_NAME
  2. 返された構成で、並列処理の設定を見つけます。