インスタンスあたりの最大同時リクエスト数の設定(サービス)

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

インスタンスあたりの最大同時リクエスト数については、コンセプト ドキュメントをご覧ください。

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

Cloud Run サービスの場合、新しいサービスを作成するとき、または新しいリビジョンをデプロイするときに、Google Cloud コンソール、gcloud コマンドライン、または .yaml ファイルを使用して、インスタンスあたりの最大同時リクエスト数を設定できます。

コンソール

  1. Cloud Run に移動します

  2. デプロイ先の新しいサービスを構成する場合は、[サービスの作成] をクリックします。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. 新しいサービスを構成する場合は、最初のサービス設定のページに入力してから、[コンテナ、接続、セキュリティ] をクリックしてサービス構成ページを開きます。

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

    画像

  5. [コンテナあたりの最大リクエスト数] テキスト ボックスに、インスタンスあたりの最大同時リクエスト数を設定します。

  6. [作成] または [デプロイ] をクリックします。

コマンドライン

インスタンスあたりの最大同時リクエスト数を設定するには、次のコマンドを使用します。

gcloud run services update SERVICE --concurrency CONCURRENCY

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

  • SERVICE は、実際のサービスの名前に置き換えます。
  • CONCURRENCY は、コンテナ インスタンスあたりの最大同時リクエスト数に置き換えます。たとえば、次の例では同時実行リクエストの最大数を 1 に設定します。

    gcloud run services update SERVICE --concurrency 1

特定のサービスのインスタンスあたりの最大同時リクエスト数を変更すると、この設定が新しいリビジョンで取り込まれます。

デフォルトのインスタンスあたりの最大同時リクエスト数(80)に戻すには、次のコマンドを使用します。

gcloud run services update SERVICE --concurrency default

SERVICE は、構成しているサービスの名前で置き換えます。

YAML

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

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

    gcloud run services describe SERVICE --format export > service.yaml
  2. containerConcurrency 属性を更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containerConcurrency: CONCURRENCY

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

    • SERVICE は、Cloud Run サービスの名前に置き換えます。
    • IMAGE_URL は、コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latest など)で置き換えます。
    • CONCURRENCY は、コンテナ インスタンスあたりの最大同時リクエスト数に置き換えます。
    • REVISION を新しいリビジョン名に置き換えるか、削除(存在する場合)します。新しいリビジョン名を指定する場合は、次の条件を満たす必要があります
      • SERVICE- で始まる
      • 小文字、数字、- のみが使用されている
      • 末尾が - ではない
      • 63 文字以内である
  3. 次のコマンドを使用して、サービスを新しい構成に置き換えます。

    gcloud run services replace service.yaml

Terraform

Terraform 構成の template.spec.containersgoogle_cloud_run_service リソースに次の内容を追加します。80 は、必要な同時リクエストの最大数に置き換えます。

# Maximum concurrent requests
# https://cloud.google.com/run/docs/configuring/concurrency
container_concurrency = 80

Google Cloud プロジェクトで Terraform 構成を適用するには、次の手順を行います。

  1. Cloud Shell を起動します。
  2. Terraform 構成を適用する Google Cloud プロジェクトを設定します。
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. ディレクトリを作成し、そのディレクトリで新規ファイルを開きます。ファイル名には .tf 拡張子が必要です(例: main.tf)。
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. サンプルを main.tf にコピーします。
  5. 環境に適用するサンプル パラメータを確認し、変更します。
  6. Ctrl-x を押してから y を押して、変更を保存します。
  7. Terraform を初期化します。
    terraform init
  8. 構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
    terraform plan

    必要に応じて構成を修正します。

  9. 次のコマンドを実行します。プロンプトで「yes」と入力して、Terraform 構成を適用します。
    terraform apply

    Terraform に「Apply complete!」のメッセージが表示されるまで待ちます。

  10. Google Cloud プロジェクトを開いて結果を表示します。Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。

同時実行の設定を表示する

Cloud Run サービスの現在の同時実行の設定を表示するには:

コンソール

  1. Cloud Run に移動します

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

  3. [変更内容] タブをクリックします。

  4. 右側の詳細パネルの [コンテナ] タブに、同時実行設定が表示されます。

コマンドライン

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

    gcloud run services describe SERVICE
  2. 返された構成で、同時実行の設定を見つけます。