並列処理(ジョブ)

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

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

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

コンソール

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

    Cloud Run に移動

  2. 新しいジョブを構成する場合は、[ジョブ] タブをクリックし、必要に応じて初期ジョブ設定ページを入力します。既存のジョブを構成する場合は、ジョブをクリックして [編集] をクリックします。

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

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

    画像

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

コマンドライン

  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

gcloud run jobs describe --format export コマンドを使用して既存のジョブ構成をダウンロードして表示します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記のフィールドを変更して、gcloud run jobs replace コマンドで変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。

  1. 次のコマンドで、構成を表示してダウンロードします。

    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"
  launch_stage = "BETA"

  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. 構成の詳細で並列処理の設定を見つけます。

コマンドライン

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

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