サービスの GPU ゾーン冗長性

このページでは、Cloud Run サービスの GPU のゾーン冗長性オプションの設定について説明します。デフォルトでは、GPU でゾーン冗長性が有効になっているため、データとトラフィックはリージョン内のゾーン間で自動的にロードバランスされます。特定のゾーン内で障害が発生した場合、トラフィックは自動的に他のゾーンにルーティングされます。

代わりに、GPU 秒あたりの費用を抑えながらベスト エフォートの信頼性を使用する場合は、GPU のゾーン冗長性をオフにします。

サポートされているリージョン

  • us-central1(アイオワ) リーフアイコン 低 CO2
  • asia-southeast1(シンガポール)
  • europe-west1(ベルギー) リーフアイコン 低 CO2
  • europe-west4(オランダ) リーフアイコン 低 CO2
  • asia-south1(ムンバイ)
    • 注: このリージョンは招待制です。この地域にご興味をお持ちの場合は、Google アカウント チームにお問い合わせください。

料金への影響

ゾーン冗長性の費用に関する GPU の料金の詳細については、Cloud Run の料金をご覧ください。

リクエストの割り当て

デフォルトでは、ゾーン冗長性またはゾーン冗長性のいずれにも割り当てはありません。割り当てをリクエストする必要があります。次のボタンに記載されているリンクを使用して、必要な割り当てをリクエストしてください。

必要な割り当て 割り当てリンク
ゾーン冗長性がオンになっている GPU ゾーン冗長性のある GPU 割り当てをリクエストする
ゾーン冗長性がオフになっている GPU ゾーン冗長性のない GPU 割り当てをリクエストする
GPU の割り当てページ(ゾーン冗長と非ゾーン冗長の両方) GPU 割り当てをリクエストする

始める前に

次のリストに、Cloud Run で GPU を使用する場合の要件と制限事項を示します。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Run API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

必要なロール

Cloud Run サービスの構成とデプロイに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

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

GPU を使用する Cloud Run サービスにゾーン冗長性を構成する

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

Google Cloud コンソール、Google Cloud CLI、または YAML を使用して GPU を構成できます。

Console

  1. Google Cloud コンソールで、Cloud Run に移動します。

    Cloud Run に移動します

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

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

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

    画像

    • GPU チェックボックスをオンにして、GPU 冗長性オプションを表示します。
      • ゾーン冗長性を無効にするには、[ゾーン冗長性なし] を選択します。
      • [ゾーンの冗長性] を選択して、ゾーンの冗長性を有効にします。
  5. [作成] または [デプロイ] をクリックします。

gcloud

デフォルトでは、GPU ゾーン冗長性がオンになっています。サービスの GPU ゾーン冗長構成を無効にするには、または以前にゾーン冗長を無効にした場合は再度有効にするには、gcloud beta run services update コマンドを使用します。

  gcloud beta run services update SERVICE \
    --image IMAGE_URL \
    --cpu CPU \
    --memory MEMORY \
    --no-cpu-throttling \
    --gpu GPU_NUMBER \
    --gpu-type GPU_TYPE \
    --max-instances MAX_INSTANCE
    --GPU_ZONAL_REDUNDANCY
    

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

  • SERVICE: Cloud Run サービスの名前。
  • IMAGE_URL はコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latest など)に置き換えます。Artifact Registry を使用する場合は、リポジトリ REPO_NAME がすでに作成されている必要があります。URL の形式は LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG です。
  • CPU: CPU の数。少なくとも 4 個の CPU を指定する必要があります。
  • MEMORY: メモリ容量。少なくとも 16Gi(16 GiB)を指定する必要があります。
  • GPU_NUMBER: 値 1(1)。これが指定されていないが GPU_TYPE が存在する場合、デフォルトは 1 です。
  • GPU_TYPE: GPU のタイプ。これが指定されていないが GPU_NUMBER が存在する場合、デフォルトは nvidia-l4 です(nvidia L4 の L は小文字、数値 14 ではありません)。
  • MAX_INSTANCE: インスタンスの最大数。この数は、プロジェクトに割り当てられた GPU 割り当てを超えることはできません。
  • GPU_ZONAL_REDUNDANCY は、ゾーン冗長性をオフにするには no-gpu-zonal-redundancy、ゾーン冗長性をオンにするには gpu-zonal-redundancy に置き換えます。

YAML

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

    gcloud run services describe SERVICE --format export > service.yaml
  2. run.googleapis.com/gpu-zonal-redundancy-disabled アノテーションを更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/gpu-zonal-redundancy-disabled: GPU_ZONAL_REDUNDANCY
            

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

    • SERVICE は、Cloud Run サービスの名前に置き換えます。
    • GPU_ZONAL_REDUNDANCY は、GPU ゾーン冗長性をオンにするには false、オフにするには true に置き換えます。
  3. 次のコマンドを使用して、サービスを作成または更新します。

    gcloud run services replace service.yaml