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

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

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

必要なロール

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

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

並列処理を構成する

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

コンソール

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

    Cloud Run に移動

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

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

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

    画像

    • 最適なパフォーマンスを得るために、[できる限り多くのタスクを同時実行する] を選択します。同時実行タスクの数を減らす必要がある場合(たとえば、バッキング リソースが制限されている場合)は、[同時タスクの数を制限する] を選択し、タスク数を超えない範囲内で、0 から割り当てで許可される並列実行タスクの最大数までの間の整数を指定します。
  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 から割り当てで許可される並列実行タスクの最大数の範囲内の整数(タスク数を超えない数)。
  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 から割り当てで許可される並列実行タスクの最大数までの間の整数を指定します。

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

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

    gcloud run jobs replace job.yaml

Terraform

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

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

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. 返された構成で、並列処理の設定を見つけます。