リソースベースの確約利用割引


Compute Engine では、予測可能なワークロードに対してリソースベースの確約利用割引(CUD)を利用できます。これにより、必要なリソースの費用を削減することができます。リソースベースの確約利用契約またはコミットメントを購入または更新することで、VM の使用量に大幅な割引価格が適用されます。

このドキュメントでは、Compute Engine のリソースベースのコミットメント、購入方法、結果として適用される CUD について説明します。Compute Engine のフレキシブル CUD の詳細については、フレキシブル CUD をご覧ください。

リソースベースのコミットメントは、使用量が予測可能で安定した場合に最適です。Compute Engine では、次に挙げるカテゴリのリソースベースのコミットメントを購入できます。

ハードウェア リソースのコミットメントは、ライセンスのコミットメントとは別です。VM インスタンスについて両方のカテゴリのコミットメントを購入できますが、ハードウェア リソースとライセンスの両方を対象とする単一のコミットメントは購入できません。

確約利用割引の推奨を使用すると、確約利用割引契約がある場合とない場合の VM の費用傾向を分析し、コンピューティング費用を最適化できます。これらの数値を比較することにより、確約利用契約で毎月節約できる金額を確認できます。コミットメントの推奨事項の仕組みについては、コミットメントの推奨事項についてもご覧ください。

確約利用割引は、事前定義のマシンタイプやカスタム マシンタイプを含め、ほとんどの Compute Engine マシンタイプに適用されます。確約利用割引は柔軟性に優れ、初期費用は不要です。割引は、リージョン内の vCPU、メモリ、GPU、ローカル SSD ディスクの総数に適用されます。インスタンスのマシン設定を変更しても影響はありません。

VM ごとの Tier_1 ネットワーキング パフォーマンスをサポートするマシンタイプでは、50、75、100 Gbps の高帯域幅の SKU は割引から除外されます。

F1-micro および g1-small 共有コアマシンは、確約利用割引の対象ではありません。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

確約利用割引の仕組み

確約利用契約を購入すると、1 年間または 3 年間の支払いを確約する代わりに、vCPU、メモリ、GPU、ローカル SSD ディスク、単一テナントノードなどの Compute Engine リソースを割引価格で購入できます。マシンタイプや GPU など、ほとんどのリソースタイプに最大 57% の割引が適用されます。メモリ最適化マシンタイプの場合は、最大で 70% の割引が適用されます。マシンタイプ別の確約利用料金については、VM インスタンスの料金ページをご覧ください。

コミットメント期間中は、コミットメントで指定されたリソースタイプ、マシンタイプ、リージョンに応じて、プロジェクト内の対象リソースの使用量に対して CUD が自動的に適用されるようになります。コミットメントが終了するまで、対象リソースの使用量に対して CUD が継続的に適用されます。

Compute Engine では、コミットメントを購入したプロジェクトのリージョンごとに、プロジェクトのリーエンが維持されます。プロジェクトの任意のリージョンに対して新しいコミットメントを購入すると、そのリージョンのリーエンが新しく作成されたコミットメントに紐づけられます。

コミットメントは購入後にキャンセルできません。コミットメントは、指定された期間(1 年または 3 年)の終了時に期限切れになります。ただし、コミットメントの自動更新を有効にすると、新しい期間に自動更新されます。

コミットメント ステータス

コミットメント ステータスは次のいずれかになります。

  • CREATING: コミットメントの作成中です。
  • NOT_YET_ACTIVE または PENDING: コミットメントは作成されていますが、まだ有効になっていません。Compute Engine は、このステータスでコミットメントを作成します。

    • Google Cloud CLI または REST API を使用してコミットメントを購入している場合、このステータス値は NOT_YET_ACTIVE と表示されます。
    • Google Cloud コンソールを使用してコミットメントを購入している場合、このステータス値は PENDING と表示されます。
  • ACTIVE: コミットメントは有効です。

  • EXPIRED: コミットメントは期限切れです。Compute Engine は、有効期限から 210 日以上経過したコミットメントを削除します。

  • CANCELED: Compute Engine がコミットメントをキャンセルしました。コミットメントを組み合わせて新しい統合コミットメントを作成すると、Compute Engine でステータスが CANCELED に変更されます。

コミットメントの購入から有効化までの間、コミットメントのステータスは NOT_YET_ACTIVE(Google Cloud コンソールでは PENDING)のままとなります。有効になると、コミットメントのステータスは ACTIVE に変わります。たとえば、米国とカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 20 日午後 10 時にコミットメントを購入したとします。Compute Engine は、ステータスが NOT_YET_ACTIVE のコミットメントをすぐに作成します。ただし、コミットメントが ACTIVE になるのは、米国およびカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 21 日午前 0 時です。

コミットメントの効率的な使用

プロジェクト数が少ない場合は、使用する予定の特定のリソースについてのみコミットメントを購入できます。たとえば、8 コア用のコミットメントを購入し、その月に 24 コアを実行した場合、8 コア分の確約利用割引が適用されます。その他の 16 コアは、標準の確約利用でない率で課金されます。コミットメントを購入すると、たとえ使用しなくても、購入したコミットメントに対して毎月料金を請求されることに注意してください。たとえば、8 コア用のコミットメントを購入すると、これらのコアを月の一部でしか実行しなかった場合でも、その月全体に対する 8 コア用の確約された利用料金が請求されます。使用することがわかっている増分のみのコミットメントを購入することをおすすめします。

コミットメントはバースト シナリオ用にスタックすることはできません。たとえば、ある月に 10 コア分を購入した後、その月の半分の期間で 20 コアを実行した場合、利用が半月のみであったという理由だけでは、20 コア全体に対するコミットメントは適用されません。

使用量の超過

コミットメントでカバーされていない時間単位のリソース使用量は、オンデマンド料金に基づいて請求され、該当する継続利用割引(SUD)の対象になります。たとえば、1 か月のある期間に n2-standard-2 を実行し、同じ月の残りの期間に n2-standard-8 を実行したとします。両方のマシンタイプが n2-standard ファミリーに属しているため、Compute Engine はこの 2 つを組み合わせて、確約利用割引の対象外の部分に SUD を適用します。

予約とコミットメントを組み合わせる

コミットメントは、1 年分または 3 年分の割引価格契約を提供しますが、特定のゾーンの容量を予約するものではありません。予約を作成することで、予約された VM が実行されていなくても、特定のゾーンで容量が確実に保持されます。ゾーンリソースを割引価格で取得し、それに対する容量を予約するには、コミットメントを購入し、ゾーンリソースの予約を作成する必要があります。

また、予約をリソースベースのコミットメントに関連付けることで、これらのコミットメントに固有の予約にすることができます。GPU またはローカル SSD リソースを確約する場合は、これらのリソースを予約し、予約をコミットメントに関連付ける必要があります。

詳細については、予約と確定利用割引を併用するをご覧ください。

プロジェクト間で確約利用割引を共有する

デフォルトでは、確約利用割引はプロジェクト レベルで適用され、コミットメントを購入したプロジェクトにのみ該当する確約利用割引が適用されます。コミットメントを購入したプロジェクトを別の Cloud 請求先アカウントに移動すると、新しい Cloud 請求先アカウントのプロジェクトに対して、該当する確約利用割引が引き続き適用されます。

ただし、Compute Engine では、同じ Cloud 請求先アカウントを共有する複数のプロジェクトでハードウェア コミットメントの割引を共有できます。すべてのプロジェクトでハードウェア コミットメントの確約利用割引を共有すると、プロジェクト単位で割引を管理する手間が減り、プロジェクトのリソース使用量全体で割引がプールされます。

同じ Cloud 請求先アカウントを共有するプロジェクトが複数ある場合、確約利用割引の共有を有効にして、その Cloud 請求先アカウント内のすべてのプロジェクトですべての確約利用割引契約を共有できます。

たとえば、80 コア用のコミットメントを 2 つ購入し(合計 160 コア)、Cloud 請求先アカウントの異なるプロジェクトで 1 か月に 200 コアを実行するとします。Cloud 請求先アカウントに対して確約利用割引の共有を有効にしている場合、その Cloud 請求先アカウントのプロジェクトで使用される 200 コアのうち 160 コアに対して該当する確約利用割引が適用されます。残りの 40 コアは、オンデマンドの非確約利用料金で請求されます。コミットメントを購入すると、リソースを使用しなくてもコミットメント期間中は確約されたリソースに対して月額料金が発生します。 コストを削減するおすすめの利用方法については、割引の共有についてをご覧ください。

確約利用割引には、Google Cloud のコミットメントに基づいた料金と請求が適用されます。確約利用割引を購入するには、これらの規約に同意する必要があります。

アトリビューションを使用して割引を割り当てる

アトリビューションは、確約利用割引がプロジェクトにどのように割り当てられるかを示します。これらの割り当ては、使用料金のエクスポートGoogle Cloud コンソールなどの Cloud Billing の費用管理インターフェースに反映されます。

アトリビューションは、割引の共有が有効になっている場合にのみ適用されます。割引の共有を有効にする前に、使用するアトリビューションのタイプを選択し、割引の共有を有効にする際にアトリビューションの構成を有効にします。

Compute Engine のコミットメントでは、デフォルトで比例アトリビューションを使用します。比例アトリビューションのコミットメントは、各プロジェクトで消費された合計使用量に応じてプロジェクトに適用されます。たとえば、プロジェクト A が $75 分を使用し、プロジェクト B が $25 分を使用した場合、プロジェクト A では使用可能なクレジット量の最大 75% までが対象となり、プロジェクト B では最大 25% までが対象となります。

また、指定した使用状況に基づいて、Compute Engine のコミットメントに優先アトリビューションを選択することもできます。優先順位のないコミットメントは、残りのプロジェクトの有効な使用量に比例して適用されます。割り当ての合計額は、購入したコミットメントの金額を超えることはできません。

Compute Engine コミットメントに比例アトリビューションまたは優先アトリビューションを選択するには、リソースベースのコミットメントにアトリビューションを選択するをご覧ください。

仕様

  • 特定リージョンのリソースに対してリソースベースのコミットメントを購入できるのは、そのリージョンで次の両方に対する割り当てを利用できる場合のみです。

    • コミットメント
    • 確約されたリソース(メモリを除く)

    詳細については、コミットメントと確約されたリソースの割り当てをご覧ください。

  • コミットメントはリージョン単位で購入する必要があります。

  • gcloud CLI を使用してコミットメントを管理するには、gcloud バージョン 147.0.0 以降を実行している必要があります。gcloud CLI を最新バージョンに更新するには、次のコマンドを実行します。

    gcloud components update
    

    実行している gcloud CLIの バージョンを確認するには、次のコマンドを実行します。

    gcloud version
    

制限事項

  • 無料枠期間中で無料枠クレジットが残っているプロジェクトや、お支払い履歴がないプロジェクトは、確約利用割引の対象になりません。
  • コミットメントは、リージョン単位での購入になります。
  • コミットメントを購入するプロジェクトは変更できません。割引を複数のプロジェクトと共有する場合は、割引の共有を有効にします。

  • 1 つの Cloud 請求先アカウントのプロジェクト間で共有されたコミットメントの場合: コミットメントの一部が未使用の場合、コミットメントのその部分を購入したプロジェクトにコミットメント料金の残高が残ります。

  • 確約利用割引は、プリエンプティブル VM インスタンスN1 共有コアマシン タイプ拡張メモリには適用されません。

  • GPU とローカル SSD ディスクの確約利用割引料金の場合、リソースを予約し、予約をコミットメントに関連付ける必要があります。

  • 確約利用割引価格はオンデマンド料金とは関係ありません。オンデマンド料金の変動が、必ずしも確約利用割引に反映されるとは限りません。

  • 確約利用割引に予約が作成されている場合、コミットメントの期間が終了するまで予約を削除できません。

  • K80 GPU の場合、1 年間のコミットメントのみ購入できます。

料金

コミットメントに対して毎月請求されます。確約されたリソースをすべて使用していなくても、コミットメントの月額料金を支払う必要があります。コミットメント料金は、確約されたリソースすべての割引価格の合計です。Compute Engine では、コミットメントが有効になった日のオンデマンド料金を使用して各リソースの割引価格が計算されます。オンデマンド料金が変更されても、コミットメント期間が終了するまでリソースの毎月のコミットメント料金と割引料金は変わりません。

コミットメントを使用してカスタム マシンタイプを実行する場合、Compute Engine ではコミットメント料金に 5% のプレミアム料金が上乗せされます。Compute Engine は、これらのカスタム マシンタイプの VM を実行するコミットメントの部分と期間に対して、このプレミアム料金を請求します。

GPU とローカル SSD ディスクの有無にかかわらず、VM インスタンスの割引料金(CUD 料金とも呼ばれます)はリージョンによって異なります。現在の料金については、VM インスタンスの料金をご覧ください。

コミットメントを購入したプロジェクトを別の Cloud 請求先アカウントに移動すると、新しい Cloud 請求先アカウントのプロジェクトに対して、確約利用割引が引き続き適用されます。詳細については、プロジェクトの Cloud 請求先アカウントの変更をご覧ください。

ハードウェア コミットメントの種類

以下のリソースでコミットメントを購入できます。

コミットメント タイプ 割引が購入可能なリソース 適用可能なリソースタイプ
汎用 E2 コミットメント
  • vCPU
  • メモリ
すべての E2 マシンタイプ
汎用 N2 コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての N2 マシンタイプ
  • すべての N2 単一テナントノード タイプ
汎用 N2D コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての N2D マシンタイプ
  • すべての N2D 単一テナントノード タイプ
汎用 N4 コミットメント
  • vCPU
  • メモリ
  • すべての N4 マシンタイプ
  • すべての N4 単一テナントノード タイプ
汎用 C3 コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての C3 マシンタイプ
  • すべての C3 単一テナントノード タイプ
汎用 C3D コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての C3D マシンタイプ
  • すべての C3D 単一テナントノード タイプ
汎用 Tau T2D コミットメント
  • vCPU
  • メモリ
標準 Tau T2D マシンタイプ
汎用 N1 コミットメント
  • vCPU
  • メモリ
  • GPU
  • ローカル SSD
  • すべての N1 マシンタイプ(共有コアを除く)
  • すべての N1 単一テナントノード タイプ
  • GPU:
    • NVIDIA T4
    • NVIDIA V100
    • NVIDIA P100
    • NVIDIA P4
    • NVIDIA K80
ストレージ最適化 Z3 コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての Z3 マシンタイプ
コンピューティング最適化 H3 コミットメント
  • vCPU
  • メモリ
  • すべての H3 マシンタイプ
コンピューティング最適化 C2 コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての C2 マシンタイプ
  • すべての C2 単一テナントノード タイプ
コンピューティング最適化 C2D コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
すべての C2D マシンタイプ
メモリ最適化 M1/M2 コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
  • すべての M1 および M2 マシンタイプ
  • すべての M1 および M2 単一テナントノード タイプ
メモリ最適化 M3 コミットメント
  • vCPU
  • メモリ
  • ローカル SSD
すべての M3 マシンタイプ
アクセラレータ最適化 A2 コミットメント
  • vCPU
  • メモリ
  • GPU
  • ローカル SSD
  • すべての A2 マシンタイプ
  • GPU:
    • NVIDIA A100
アクセラレータ最適化 A3 コミットメント
  • vCPU
  • メモリ
  • GPU
  • ローカル SSD
  • すべての A3 マシンタイプ
  • GPU:
    • NVIDIA H100
アクセラレータ最適化 G2 コミットメント
  • vCPU
  • メモリ
  • GPU
  • ローカル SSD
  • すべての G2 マシンタイプ
  • すべての G2 単一テナントノード タイプ
  • GPU:
    • NVIDIA L4

f1-micro または g1-small マシンタイプ、あるいは単一テナント プレミアム料金のコミットメントは購入できません。

Compute Engine マシンタイプのコミットメント

Google Cloud では、複数の Compute Engine マシン ファミリー シリーズのハードウェア リソースに対して、リソースベースのコミットメントを用意しています。使用するマシンタイプに適したコミットメント タイプを購入してください。

汎用マシンタイプ

汎用マシンタイプの CUD は、次の順序でリソースに適用されます。

  1. 購入したコミットメントに応じて、N4、N2、N2D、E2、N1 のカスタム マシンタイプ
  2. 単一テナントノード
  3. 購入したコミットメントに応じて、E2、N2、N2D、N4、C3、C3D、Tau T2D、N1 の事前定義されたマシンタイプ

汎用マシンタイプのコミットメントを購入する場合は、コミットメントが適用されるマシンシリーズを選択します。たとえば、汎用 E2 コミットメントを購入する場合、それは E2 マシンタイプにのみ適用されます。同様に、汎用の N2、N2D、N4、C3、C3D、Tau T2D、N1 コミットメントを購入する場合、コミットメントが重複することはありません。

たとえば、1 つのリージョンで次のアイテムを組み合わせて使用する場合について考えてみましょう。

  • 10 個の N2 カスタム マシンタイプの vCPU
  • カスタム マシンタイプの 30 GB のメモリ
  • 2 つの事前定義された n2-standard-4 マシンタイプ

15 個の vCPU と 13.5 GB のメモリの確約利用を N2 コミットメントで購入します。まず N2 カスタム マシンタイプに CUD が適用され、事前定義された N2 マシンタイプに残りの割引が適用されます。このケースでは、N2 カスタム マシンタイプの 10 個の vCPU すべてが確約利用料金で課金され、カスタム マシンタイプのメモリの 13.5 GB が確約利用料金で課金されます。

最終的に、確約利用の残りの 5 個の vCPU は、2 つの n2-standard-4 machine タイプからランダムに選ばれた 5 個の vCPU に適用されます。CUD の対象外のリソースは、継続利用割引の対象になります。

また、コミットメントを使用してカスタム マシンタイプを実行する場合、Compute Engine ではコミットメント料金に 5% のプレミアム料金が上乗せされます。Compute Engine は、これらのカスタム マシンタイプの VM を実行するコミットメントの部分と期間に対して、このプレミアム料金を請求します。

コミットメントはマシンシリーズごとに集計されます。購入するコミットメントの数がわからない場合は、少数のコミットメントを購入し、必要に応じて追加することをおすすめします。たとえば、10 個の vCPU とゼロメモリ用に複数の契約を購入し、追加のメモリ用に別の契約を購入できます。

汎用マシンタイプのコミットメントを購入するには、予約が関連付けられていないコミットメントを購入する予約が関連付けられているコミットメントを購入するをご覧ください。

メモリ最適化マシンタイプ

メモリ最適化マシンタイプの CUD は 2 つのレベルで使用できます。1 つのレベルは、M1 と M2 の両方のマシンタイプに適用されます。もう 1 つのレベルは M3 マシンタイプにのみ適用されます。すべてのメモリ最適化マシンタイプに同じコミットメントを使用することはできません。

メモリ最適化マシンタイプを使用する場合は、メモリ最適化コミットメントを購入します。メモリ最適化マシンタイプのコミットメントを購入するには、予約が関連付けられていないコミットメントを購入するをご覧ください。

ストレージ最適化マシンタイプ

ストレージ最適化 Z3 マシンタイプのコミットメントを購入するには、予約が関連付けられていないコミットメントを購入する、および予約が関連付けられているコミットメントを購入するをご覧ください。

コンピューティング最適化マシンタイプ

コンピューティング最適化マシンタイプのコミットメントを購入するには、次のいずれかをご覧ください。

アクセラレータ最適化マシンタイプ

アクセラレータ最適化 VM には、特定のモデルと数の NVIDIA GPU が接続されています。これらのマシンタイプのコミットメントを購入する場合は、コミットされた GPU を予約し、その予約をコミットメントに関連付ける必要があります。A3、A2、G2 マシンタイプのコミットメントを購入するには、予約が関連付けられているコミットメントを購入するをご覧ください。

GPU とローカル SSD ディスク リソースのコミットメント

GPU、ローカル SSD ディスク、またはその両方のコミットメントを購入するには、リソースを予約し、予約をコミットメントに関連付ける必要があります。実際に使用するかどうかにかかわらず、リソースを予約することでリソースが常に利用可能な状態になります。リソースの予約に追加料金はかかりません。

コミットメントは特定の GPU タイプ別に購入する必要があります。たとえば、NVIDIA P100 または NVIDIA V100 の GPU を購入することはできますが、NVIDIA P100 GPU のコミットメントを購入して、それを他の GPU タイプに適用することはできません。

GPU、ローカル SSD ディスク、またはその両方のコミットメントを購入するには、このドキュメントの予約が関連付けられているコミットメントを購入するをご覧ください。

予約が関連付けられたコミットメントについての詳細は、予約をリソースベースのコミットメントに関連付けるをご覧ください。

コミットメントと確約されたリソースの割り当て

特定リージョンのリソースに対してリソースベースのコミットメントを購入できるのは、そのリージョンで次の両方に対する割り当てを利用できる場合のみです。

  • コミットメント
  • 確約されたリソース(メモリを除く)

具体的には、vCPU、GPU、ローカル SSD ディスクのコミットメントを購入する場合は、コミットメントと、コミットメントを購入するリージョンに固有の確約された SKU の両方で割り当てを利用できるようにする必要があります。メモリには割り当てがないため、メモリのコミットメントを購入するために、確約されたメモリに別の割り当てを用意する必要はありません。

たとえば、us-central1 リージョンで汎用 N1 マシンタイプの vCPU 32 個、メモリ 16 GB、NVIDIA P4 GPU 4 個、ローカル SSD ディスク 2 台をカバーする 5 つのコミットメントを購入する場合、次のそれぞれの割り当てが必要です。

  • us-central1 に 5 つのコミットメント
  • us-central1 に 32 個の確約された N1 vCPU
  • us-central1 に 4 個の確約された NVIDIA P4 GPU
  • us-central1 に 750 GB(またはローカル SSD ディスク 2 台)の確約されたローカル SSD ディスク容量

割り当て上限

Compute Engine は、デフォルトで確約されたリソースの種類ごとに特定の量のコミットメントを割り当てます。これらの割り当て上限により、購入可能なコミットメントの数とコミットできるリソースの量が決まります。コミットメントと確約されたリソースの現在の割り当て上限と割り当て使用量の値を表示する方法については、Google Cloud コンソールで割り当てを表示するをご覧ください。

さまざまなリージョンにまたがるプロジェクトで、非常に多くの確約された vCPU に対する支払いが常に発生している場合、すべてのリージョンで、すべてのマシンタイプ(メモリ最適化マシンタイプを除く)の確約された vCPU に無制限の割り当てを適用できる場合があります。

コミットメントの割り当てをすべて使い切った場合、新しいコミットメントを購入することはできません。同様に、確約されたリソースの割り当てを使い切った場合、コミットメントの割り当てが利用可能でも、そのリソースの新しいコミットメントを購入することはできません。たとえば、コミットメントの割り当てをすべて使い切ると、コミットメントの購入リクエストを送信したときにサーバーから次のエラーが返されます。

"Quota 'COMMITMENTS' exceeded. Limit: 0.0"

割り当て上限を引き上げる

コミットメントまたは確約されたリソースに十分な割り当てがない場合は、[割り当て] ページから割り当ての増加をリクエストできます。割り当ての引き上げはいつでもリクエストできます。リソースの割り当て上限の引き上げをリクエストする方法については、割り当て上限の引き上げをリクエストするをご覧ください。

たとえば、us-central1 で合計 4 個の NVIDIA V100 GPU のコミットメントを 2 つ購入し、リージョンの割り当て上限に達したとします。同じリージョンで、2 個の NVIDIA V100 GPUs ごとに新しいコミットメントを 2 つ購入する場合、次のことを行う必要があります。

  1. 新しい割り当てリクエストを送信して、us-central1Committed NVIDIA V100 GPUs 割り当てを必要な新しい上限数(8)まで引き上げます。
  2. 新しい割り当てリクエストを送信して、us-central1Commitments 割り当てを必要な新しい最大数(4)まで引き上げます。

    リクエストが承認されてクローズされるまで待ちます。リクエストが承認されると、us-central1 のコミットメントと確約された GPU の割り当てが新しいニーズに合わせて引き上げられます。その後、新しいコミットメントを購入できます。

デフォルトで割り当てが無制限になっているリソースの割り当て上限の引き上げをリクエストすると、そのリソースの割り当て値は無制限のまま変わらず、リクエストした上限が承認済みの上限以下であることが通知されます。

割り当て上限を設定する

コンシューマー割り当てオーバーライドを作成すると、確約されたリソースの割り当て値に上限を設定できます。デフォルトの割り当てが無制限のリソースの場合、コンシューマー割り当てオーバーライドを作成すると割り当て値が減少します。デフォルトの割り当てを無制限の値に戻すには、確約された SKU に設定されたコンシューマー オーバーライドを削除する必要があります。詳細については、コンシューマー割り当てオーバーライドの作成コンシューマー割り当てオーバーライドの削除をご覧ください。

リソースの割り当てを管理する方法については、割り当ての表示と管理をご覧ください。

予約が関連付けられていないコミットメントを購入する

vCPU とメモリのコミットメントは、リソースの予約を関連付けることなく購入できます。コミットメントは、Google Cloud コンソール、gcloud CLI、または API を使用して購入できます。

予約が関連付けられたコミットメントについての詳細は、予約をリソースベースのコミットメントに関連付けるをご覧ください。

GPU、ローカル SSD ディスク、またはその両方のコミットメントを購入するには、予約が関連付けられているコミットメントを購入するをご覧ください。

デフォルトで、プロジェクト オーナーに確約利用割引契約の購入権限が付与されています。ただし、特定のユーザーを追加または除外するカスタムロールを作成することもできます。確約利用割引契約の購入権限があるかどうか確認する方法については、アクセス制御をご覧ください。

コミットメントを購入すると、米国およびカナダの太平洋時間(UTC-8 または夏時間の UTC-7)で翌日の午前 0 時にコミットメントが有効になります。Compute Engine では、コミットメントを購入したプロジェクトのリージョンごとに、プロジェクトのリーエンが維持されます。プロジェクトの任意のリージョンに対して新しいコミットメントを購入すると、そのリージョンのリーエンが新しく作成されたコミットメントに紐づけられます。

コミットメントの購入から有効化までの間、コミットメントのステータスは NOT_YET_ACTIVE(Google Cloud コンソールでは PENDING)のままとなります。有効になると、コミットメントのステータスは ACTIVE に変わります。たとえば、米国とカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 20 日午後 10 時にコミットメントを購入したとします。Compute Engine は、ステータスが NOT_YET_ACTIVE のコミットメントをすぐに作成します。ただし、コミットメントが ACTIVE になるのは、米国およびカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 21 日午前 0 時です。

割引は、指定したリージョンの該当するインスタンスと、それらの割引が購入されたプロジェクトに自動的に適用されます。

コンソール

Google Cloud コンソールを使用してコミットメントを購入する前に、コミットメントの購入に使用するプロジェクトを選択します。Cloud 請求先アカウントに対して割引の共有が有効になっている場合、その Cloud 請求先アカウントの任意のプロジェクトを使用してコミットメントを購入できます。プロジェクトを選択したら、次の手順を実施します。

  1. Google Cloud コンソールで [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [コミットメントを購入] をクリックして、新しいコミットメントを購入します。

  3. コミットメントに名前を付けます。

  4. 適用するリージョンを選択します。

  5. [コミットメント タイプ] を選択します。

    • アクセラレータ最適化 A2: A2 マシンタイプのリソース
    • アクセラレータ最適化 A3: A3 マシンタイプのリソース
    • コンピューティング最適化 C2: C2 マシンタイプのリソース
    • コンピューティング最適化 C2D: C2D マシンタイプのリソース
    • コンピューティング最適化 H3: H3 マシンタイプのリソース
    • 汎用 C3: C3 マシンタイプのリソース
    • 汎用 C3D: C3D マシンタイプのリソース
    • 汎用 E2: E2 マシンタイプのリソース
    • 汎用 N1: N1 マシンタイプのリソース
    • 汎用 N2: N2 マシンタイプのリソース
    • 汎用 N2D: N2D マシンリソース
    • 汎用 N4: N4 マシンタイプのリソース
    • 汎用 T2D: Tau T2D マシンタイプのリソース
    • グラフィック最適化 G2: G2 マシンタイプのリソース
    • メモリ最適化 M1 / M2: M1 マシンタイプまたは M2 マシンタイプのリソース
    • メモリ最適化 M3: M3 マシンタイプのリソース
    • ストレージ最適化 Z3: Z3 マシンタイプのリソース

  6. [期間] で、コミットメントの期間(1 年または 3 年)を選択します。

  7. [コア数] と [メモリ] に、購入するコア数とメモリ量をそれぞれ入力します。下限はありません。ゼロにすることもできます。コアの数量は 0 以上の整数で入力する必要があります。メモリは 0.25 GB 単位で購入できます。

  8. 購入条件を確認します。

  9. [購入] ボタンをクリックして、コミットメントを購入します。

gcloud

gcloud CLI を使用して gcloud compute commitments create コマンドを実行します。

gcloud compute commitments create COMMITMENT_NAME \
    --region REGION \
    --project PROJECT_ID \
    --resources vcpu=NUMBER_VCPUS,memory=MEMORY \
    --plan DURATION \
    --type COMMITMENT_TYPE

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

  • COMMITMENT_NAME: このコミットメントの名前。
  • REGION: このコミットメントが適用されるリージョン。リージョンごとにコミットメントの料金が異なります。現在の料金については、料金表をご覧ください。
  • PROJECT_ID: コミットメントを作成するプロジェクトのプロジェクト ID。
  • NUMBER_VCPUS: コミットメントを購入する vCPU の数。vCPU の数は 0 以上の整数でなければなりません。奇数でも偶数でもかまいません。
  • MEMORY: コミットメントを購入するメモリの量(MB または GB)。例: 1000MB。単位を指定しないと、デフォルトで GB が使用されます。メモリは 0.25 GB 単位で購入できます。
  • DURATION: コミットメントの期間(12-month または 36-month)。
  • COMMITMENT_TYPE: 次のいずれか。

    • accelerator-optimized: A2 マシンタイプのリソース
    • accelerator-optimized-a3: A3 マシンタイプのリソース
    • compute-optimized: C2 マシンタイプのリソース
    • compute-optimized-c2d: C2D マシンタイプのリソース
    • compute-optimized-c3: C3 マシンタイプのリソース
    • compute-optimized-c3d: C3D マシンタイプのリソース
    • compute-optimized-h3: H3 マシンタイプのリソース
    • general-purpose: N1 マシンタイプのリソース
    • general-purpose-e2: E2 マシンタイプのリソース
    • general-purpose-n2: N2 マシンタイプのリソース
    • general-purpose-n2d: N2D マシンリソース
    • general-purpose-n4: N4 マシンタイプのリソース
    • general-purpose-t2d: Tau T2D マシンタイプのリソース
    • graphics-optimized: G2 マシンタイプ リソース
    • memory-optimized: M1 または M2 マシンタイプのリソース
    • memory-optimized-m3: M3 マシンタイプのリソース
    • storage-optimized-z3: Z3 マシンタイプのリソース

    --type フラグを指定しない場合は、デフォルトで general-purpose が使用されます。

  • N1 マシンタイプ用の汎用コミットメントを作成するには、次の例を使用できます。

    gcloud compute commitments create example-commitment --region us-central1 \
      --resources vcpu=5,memory=33280MB --plan 12-month \
      --project=myproject
    
  • コンピューティング最適化コミットメントを作成するには、gcloud compute commitments create コマンドを使用します。ここでは、コンピューティング最適化マシンタイプの 1 年間のコミットメントを購入します。

    gcloud compute commitments create example-compute-optimized-commitment \
      --region us-central1 --resources vcpu=2,memory=3814GB --plan 12-month \
      --type compute-optimized --project=myproject
    
  • メモリ最適化コミットメントを作成するには:

    gcloud compute commitments create example-memory-optimized-commitment \
      --region us-central1 --resources vcpu=96,memory=1434MB \
      --plan 12-month --type memory-optimized \
      --project=myproject
    
  • アクセラレータ最適化コミットメントを作成するには、gcloud compute commitments create コマンドを使用して、サポートされている予約が関連付けられたコミットメントを購入する必要があります。必要なリソース(GPU を含む)の合計数も指定する必要があります。

    GPU コミットメントを作成する場合は、--accelerator フラグと --resources-accelerator フラグを指定する必要があります。--accelerator フラグは、各 VM に接続される GPU の数を指定します。--resources-accelerator フラグは、コミットメントの GPU の合計数を指定します。

    たとえば、次のコミットメントには 96 個の vCPU、680 GB のメモリ、8 個の GPU と、us-central1-a の 2 つの VM で使用される GPU の予約が含まれています。

    gcloud compute commitments create example-accelerator-optimized-commitment \
      --region=us-central1 \
      --project=myproject \
      --resources=vcpu=96,memory=680GB \
      --resources-accelerator=count=8,type=nvidia-tesla-a100 \
      --plan 12-month \
      --type accelerator-optimized \
    
      --reservation=reservation-01 \
      --reservation-zone=us-central1-a \
      --machine-type=a2-highgpu-4g \
      --accelerator=count=4,type=nvidia-tesla-a100 \
      --vm-count=2
    
    
  • GPU、ローカル SSD ディスク、またはその両方のコミットメントを作成するには、gcloud compute commitments create コマンドを使用して、予約が関連付けられているコミットメントを購入する必要があります。

    GPU コミットメントを作成する場合は、--accelerator フラグと --resources-accelerator フラグを指定する必要があります。--accelerator フラグは、各 VM に接続される GPU の数を指定します。--resources-accelerator フラグは、コミットメントの GPU の合計数を指定します。

    たとえば、次のコミットメントには 4 つの GPU と、us-central1-a の 2 つのインスタンスで使用される GPU の予約が含まれています。

    gcloud compute commitments create example-reservation-commitment \
      --region=us-central1 \
      --project=myproject \
      --resources=vcpu=96,memory=624GB \
      --resources-accelerator=type=nvidia-tesla-v100,count=4 \
      --plan 12-month \
      
      --reservation=reservation-01 \
      --reservation-zone=us-central1-a \
      --machine-type=n1-standard-32
      --accelerator=type=nvidia-tesla-v100,count=2 \
      --vm-count=2
      
    

REST

API で、regionCommitments.insert メソッドPOST リクエストを送信します。リクエストの本文には、コミットメントに関する情報を記述します。

https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments?requestId=OPTIONAL_UNIQUE_ID

リソースの本文には次の内容を含めてください。

  • name: コミットメントの名前。
  • plan: コミットメントの期間(TWELVE_MONTH または THIRTY_SIX_MONTH)。
  • resources にメモリと vCPU の量を指定します。メモリは MB 単位で指定します。VCPUMEMORY の両方を resources セクションに指定する必要があります。
  • コミットメントの type(次のいずれか)

    • ACCELERATOR_OPTIMIZED: A2 マシンタイプのリソース
    • ACCELERATOR_OPTIMIZED_A3: A3 マシンタイプのリソース
    • COMPUTE_OPTIMIZED: C2 マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C2D: C2D マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C3: C3 マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C3D: C3D マシンタイプのリソース
    • COMPUTE_OPTIMIZED_H3: H3 マシンタイプのリソース
    • GENERAL_PURPOSE: N1 マシンタイプのリソース
    • GENERAL_PURPOSE_E2: E2 マシンタイプのリソース
    • GENERAL_PURPOSE_N2: N2 マシンタイプのリソース
    • GENERAL_PURPOSE_N2D: N2D マシンリソース
    • GENERAL_PURPOSE_N2: N4 マシンタイプのリソース
    • GENERAL_PURPOSE_T2D: Tau T2D マシンタイプのリソース
    • GRAPHICS_OPTIMIZED: G2 マシンタイプ リソース
    • MEMORY_OPTIMIZED: M1 または M2 マシンタイプのリソース
    • MEMORY_OPTIMIZED_M3: M3 マシンタイプのリソース
    • STORAGE_OPTIMIZED_Z3: Z3 マシンタイプのリソース

たとえば、次の例では 5 個の vCPU と 18.75 GB のメモリを含む 1 年間のコミットメントを作成しています。

{
    "name": "example-commitment",
    "plan": "TWELVE_MONTH",
    "type": "GENERAL_PURPOSE",
    "resources": [
        {
            "amount": "5",
            "type": "VCPU"
        },
        {
            "amount": "19200",
            "type": "MEMORY"
        }
    ]
}

メモリ最適化コミットメントを作成するには、type プロパティを指定します。次の例は、m1-megamem-96 マシンタイプの 1 年間のコミットメントの購入を示しています。

{
    "name": "example-memory-optimized-commitment",
    "plan": "TWELVE_MONTH",
    "type": "MEMORY_OPTIMIZED",
    "resources": [
        {
            "amount": "96",
            "type": "VCPU"
        },
        {
            "amount": "1434",
            "type": "MEMORY"
        }
      ]
}```

To create a compute-optimized commitment, include the `type` property. The
following example, purchases a 1 year commitment for a `c2-standard-16`
machine type:

```json
{
    "name": "example-compute-optimized-commitment",
    "plan": "TWELVE_MONTH",
    "type": "COMPUTE_OPTIMIZED",
    "resources": [
        {
            "amount": "16",
            "type": "VCPU"
        },
        {
            "amount": "1434",
            "type": "MEMORY"
        }
    ]
}

予約が関連付けられているコミットメントを購入する

新しいコミットメントを購入する際、次のいずれかの方法で予約をコミットメントに関連付けることができます。

コミットメントを購入すると、米国およびカナダの太平洋時間(UTC-8 または夏時間の UTC-7)で翌日の午前 0 時にコミットメントが有効になります。コミットメントの購入から有効化までの間、コミットメントのステータスは NOT_YET_ACTIVE(Google Cloud コンソールでは PENDING)のままとなります。有効になると、コミットメントのステータスは ACTIVE に変わります。たとえば、米国とカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 20 日午後 10 時にコミットメントを購入したとします。Compute Engine は、ステータスが NOT_YET_ACTIVE のコミットメントをすぐに作成します。ただし、コミットメントが ACTIVE になるのは、米国およびカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 21 日午前 0 時です。

要件

予約が関連付けられたコミットメントを購入する前に、これらの要件を確認し、コミットメントと予約が次の条件を満たしていることを確認してください。

  • コミットメントを購入し、関連付ける予約を同じプロジェクトとリージョンに作成する必要があります。
  • コミットメントを購入し、関連付ける予約を同じマシン ファミリー シリーズのリソースに作成する必要があります。
  • 関連付ける予約の自動削除オプションを無効にする必要があります。
  • コミットメントに GPU がある場合、予約とコミットメントに指定された GPU タイプが一致している必要があります。
  • GPU とローカル SSD ディスクの場合、各リソースタイプの予約リソースの数は、そのリソースタイプの確約されたリソースの数と正確に一致している必要があります。たとえば、4 個の V100 GPU のコミットメントを購入する場合、コミットメントに関連付ける予約には合計 4 個の V100 GPU を指定する必要があります。ただし、予約する vCPU とメモリの量は、コミットメントよりも少なくまたは多くすることができます。
  • GPU の場合、使用する特定の GPU タイプのコミットメントを購入します。たとえば、NVIDIA P100 または NVIDIA V100 のいずれかのコミットメントを購入できますが、NVIDIA P100 GPU 用に購入したコミットメントを NVIDIA V100 GPU に使用することはできません。
  • 関連付ける予約が共有予約であり、コミットメントのプロジェクト外で予約を使用するときに該当する CUD を受け取る場合は、次の両方を行う必要があります。

    • コミットメントと同じ Cloud 請求先アカウントに属するプロジェクト間でのみ予約を共有する。
    • その Cloud 請求先アカウントで CUD 共有を有効にする

既存の予約を関連付ける

コミットメントを購入する際に、Google Cloud コンソール、Google Cloud CLI、または REST を使用して既存の予約に関連付けることができます。

コンソール

Google Cloud コンソールを使用してコミットメントを購入する前に、コミットメントの購入に使用するプロジェクトを選択します。Cloud 請求先アカウントで CUD の共有が有効になっている場合、その Cloud 請求先アカウントの任意のプロジェクトを使用してコミットメントを購入できます。プロジェクトを選択したら、次の操作を行います。

  1. Google Cloud コンソールで [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [コミットメントを購入] をクリックして、新しいコミットメントを購入します。[確約利用割引の購入] ページが開き、[ハードウェア] タブが表示されます。

  3. [名前] フィールドに、コミットメントの名前を入力します。

  4. [リージョン] フィールドで、Compute Engine リソースを確約するリージョンを選択します。

  5. [コミットメント タイプ] フィールドで、確約されたリソースのマシン ファミリー シリーズを選択します。 次のコミットメントのタイプでは、GPU、ローカル SSD ディスク、またはその両方を使用できます。

    • アクセラレータ最適化 A2: A2 マシンタイプのリソース
    • アクセラレータ最適化 A3: A3 マシンタイプのリソース
    • コンピューティング最適化 C2: C2 マシンタイプのリソース
    • コンピューティング最適化 C2D: C2D マシンタイプのリソース
    • 汎用 C3: C3 マシンタイプのリソース
    • 汎用 C3D: C3D マシンタイプのリソース
    • 汎用 N1: N1 マシンタイプのリソース
    • 汎用 N2: N2 マシンタイプのリソース
    • 汎用 N2D: N2D マシンリソース
    • グラフィック最適化 G2: G2 マシンタイプのリソース
    • メモリ最適化 M3: M3 マシンタイプのリソース
    • ストレージ最適化 Z3: Z3 マシンタイプのリソース

  6. [期間] フィールドで、コミットメントの期間を選択します。

  7. [コア数] フィールドに、確約する vCPU の数を入力します。

  8. [メモリ] フィールドに、確約するメモリ容量(GB)を入力します。

  9. GPU を確約するには、[GPU] セクションで [ GPU を追加] をクリックし、次の操作を行います。

    1. [GPU のタイプ] フィールドで、GPU のタイプを選択します。
    2. [GPU の数] フィールドに、GPU の数を入力します。
    3. 省略可: GPU モデルがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、グラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] チェックボックスを選択します。
  10. ローカル SSD ディスクを確約するには、[ローカル SSD] セクションで、 [SSD を追加] をクリックし、[SSD の数] フィールドにディスクの数を指定します。

  11. 1 つ以上の既存の予約をコミットメントに関連付けるには、[予約] フィールドで [既存の予約を関連付ける] を選択します。

    Google Cloud コンソールに、プロジェクト内でリージョン、マシンタイプ、GPU タイプがコミットメントと一致する予約のリストが表示されます。次に、以下の操作を行います。

    1. 省略可。特定のプロパティの予約を表示するには、[フィルタ] メニューで、目的のプロパティのフィルタを追加または削除します。
    2. コミットメントに関連付ける予約をすべて選択します。
  12. 予約を関連付けてコミットメントの購入を完了するには、次の操作を行います。

    1. [購入] をクリックします。
    2. [確約利用割引の購入] ダイアログで、サービス固有の利用規約に同意する場合は、もう一度 [購入] をクリックします。

gcloud

既存の予約を関連付けてコミットメントを購入するには、gcloud compute commitments create コマンドを実行します。コマンドに --existing-reservation フラグを指定して、コミットメントに関連付ける既存の予約を指定します。関連付ける予約ごとに、このフラグの新しいインスタンスを追加します。コミットメントには任意の数の既存の予約を関連付けることができます。

たとえば、2 つの予約をコミットメントに関連付けるには、次のコマンドを実行します。

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
    --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
    --plan=DURATION \
    --type=COMMITMENT_TYPE \
    --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \
    --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'

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

  • COMMITMENT_NAME: コミットメントの名前。
  • REGION: コミットメントのリージョン。
  • PROJECT_ID: 予約が関連付けられているコミットメントを購入するプロジェクトの ID。
  • DURATION: コミットメントの期間(12-month または 36-month)。
  • COMMITMENT_TYPE: コミットメントのタイプ。次のコミットメントのタイプでは、GPU、ローカル SSD ディスク、またはその両方を使用できます。

    • accelerator-optimized: A2 マシンタイプのリソース
    • accelerator-optimized-a3: A3 マシンタイプのリソース
    • compute-optimized: C2 マシンタイプのリソース
    • compute-optimized-c2d: C2D マシンタイプのリソース
    • compute-optimized-c3: C3 マシンタイプのリソース
    • compute-optimized-c3d: C3D マシンタイプのリソース
    • general-purpose: N1 マシンタイプのリソース
    • general-purpose-n2: N2 マシンタイプのリソース
    • general-purpose-n2d: N2D マシンリソース
    • graphics-optimized: G2 マシンタイプ リソース
    • memory-optimized-m3: M3 マシンタイプのリソース
    • storage-optimized-z3: Z3 マシンタイプのリソース

  • COMMITTED_VCPUS: コミットメントに必要な vCPU の数。数値には任意の正の整数を指定できます。

  • COMMITTED_MEMORY: コミットメントに必要なメモリの量(MB または GB)。たとえば、10240MB や、10GB などです。単位を指定しない場合、Compute Engine は単位として GB を使用します。メモリは 0.25 GB 単位で購入できます。

  • COMMITTED_LOCAL_SSD: コミットメントに必要なローカル SSD 容量の容量(GB)。各ローカル SSD ディスクは 375 GB です。

  • COMMITTED_ACCELERATOR_COUNT: コミットメントで必要な GPU の数。

  • COMMITTED_ACCELERATOR_TYPE: コミットメントに必要な GPU タイプ。

  • RESERVATION_NAME_1RESERVATION_NAME_2: コミットメントに関連付ける既存の予約の名前。

  • RESERVATION_ZONE_1RESERVATION_ZONE_2: コミットメントに関連付ける既存の予約のゾーン。

例: 既存の予約を関連付けてコミットメントを購入する

プロジェクト myprojectus-central1-a ゾーンと us-central1-b ゾーンに、res-01res-02 の 2 つの予約があるとします。これらの予約で 4 個の NVIDIA P100 GPU と 4 個のローカル SSD ディスクの合計容量が指定されているとします。このプロジェクトの us-central1 リージョンでこれらの GPU とローカル SSD ディスクの新しいコミットメントを購入し、これらの既存の予約を関連付けられた予約として使用するには、次のコマンドを実行します。サンプルのコミットメントには vCPU とメモリも含まれます。

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --existing-reservation=name=res-01,zone=us-central1-a \
    --existing-reservation=name=res-02,zone=us-central1-b
    

REST

既存の予約を関連付けてコミットメントを購入するには、regionCommitments.insert メソッドPOST リクエストを送信します。リクエストに existingReservations フィールドを含めて、コミットメントに関連付ける既存の予約をカンマ区切りのリストで指定します。コミットメントには任意の数の既存の予約を関連付けることができます。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "COMMITMENT_NAME",
  "plan": "DURATION",
  "type": COMMITMENT_TYPE,
  "resources":
  [
    {
      "amount": "COMMITTED_VCPUS",
      "type": "VCPU"
    },
    {
      "amount": "COMMITTED_MEMORY",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
      "amount": "COMMITTED_ACCELERATOR_COUNT",
      "type": "ACCELERATOR"
    }
    {
      "amount": "COMMITTED_LOCAL_SSD",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations": "RESERVATION_URLs"
}

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

  • COMMITMENT_NAME: コミットメントの名前。
  • REGION: コミットメントのリージョン。
  • PROJECT_ID: 予約が関連付けられているコミットメントを購入するプロジェクトの ID。
  • DURATION: コミットメントの期間(TWELVE_MONTH または THIRTY_SIX_MONTH)。
  • COMMITMENT_TYPE: コミットメントのタイプ。次のコミットメントのタイプでは、GPU、ローカル SSD ディスク、またはその両方を使用できます。

    • ACCELERATOR_OPTIMIZED: A2 マシンタイプのリソース
    • ACCELERATOR_OPTIMIZED_A3: A3 マシンタイプのリソース
    • COMPUTE_OPTIMIZED: C2 マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C2D: C2D マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C3: C3 マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C3D: C3D マシンタイプのリソース
    • GENERAL_PURPOSE: N1 マシンタイプのリソース
    • GENERAL_PURPOSE_N2: N2 マシンタイプのリソース
    • GENERAL_PURPOSE_N2D: N2D マシンリソース
    • GRAPHICS_OPTIMIZED: G2 マシンタイプ リソース
    • MEMORY_OPTIMIZED_M3: M3 マシンタイプのリソース
    • STORAGE_OPTIMIZED_Z3: Z3 マシンタイプのリソース

  • COMMITTED_VCPUS: コミットメントに必要な vCPU の数。数値には任意の正の整数を指定できます。

  • COMMITTED_MEMORY: コミットメントに必要なメモリ量(MB)。たとえば、10240MB のようにします。メモリは 256 MB 単位で購入できます。

  • COMMITTED_LOCAL_SSD: コミットメントに必要なローカル SSD ストレージの量(GB)。各ローカル SSD ディスクは 375 GB です。

  • COMMITTED_ACCELERATOR_COUNT: コミットメントで必要な GPU の数。

  • COMMITTED_ACCELERATOR_TYPE: コミットメントに必要な GPU タイプ。

  • RESERVATION_URLs: コミットメントに関連付ける既存の予約の URL のカンマ区切りリスト。たとえば、res-1res-2 の 2 つの予約を関連付けるには、次のように指定します。

    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1",
    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
    

例: 既存の予約を関連付けてコミットメントを購入する

プロジェクト myprojectus-central1-a ゾーンと us-central1-b ゾーンに、res-01res-02 の 2 つの予約があるとします。これらの予約で 4 個の NVIDIA P100 GPU と 4 個のローカル SSD ディスクの合計容量が指定されているとします。このプロジェクトの us-central1 リージョンでこれらの GPU とローカル SSD ディスクの新しいコミットメントを購入し、これらの既存の予約を関連付けられた予約として使用するには、次の POST リクエストを送信します。サンプルのコミットメントには vCPU とメモリも含まれます。

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    },
    {
      "amount": "1536000",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations":
  [
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01",
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02"
  ]
}

関連付ける新しい予約を作成する

コミットメントを購入する際に、Google Cloud コンソール、Google Cloud CLI、または REST を使用して、関連付ける予約を作成できます。

コンソール

Google Cloud コンソールを使用してコミットメントを購入する前に、コミットメントの購入に使用するプロジェクトを選択します。Cloud 請求先アカウントで CUD の共有が有効になっている場合、その Cloud 請求先アカウントの任意のプロジェクトを使用してコミットメントを購入できます。プロジェクトを選択したら、次の操作を行います。

  1. Google Cloud コンソールで [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [コミットメントを購入] をクリックして、新しいコミットメントを購入します。[確約利用割引の購入] ページが開き、[ハードウェア] タブが表示されます。

  3. [名前] フィールドに、コミットメントの名前を入力します。

  4. [リージョン] フィールドで、Compute Engine リソースを確約するリージョンを選択します。

  5. [コミットメント タイプ] フィールドで、確約されたリソースのマシン ファミリー シリーズを選択します。 次のコミットメントのタイプでは、GPU、ローカル SSD ディスク、またはその両方を使用できます。

    • アクセラレータ最適化 A2: A2 マシンタイプのリソース
    • アクセラレータ最適化 A3: A3 マシンタイプのリソース
    • コンピューティング最適化 C2: C2 マシンタイプのリソース
    • コンピューティング最適化 C2D: C2D マシンタイプのリソース
    • 汎用 C3: C3 マシンタイプのリソース
    • 汎用 C3D: C3D マシンタイプのリソース
    • 汎用 N1: N1 マシンタイプのリソース
    • 汎用 N2: N2 マシンタイプのリソース
    • 汎用 N2D: N2D マシンリソース
    • グラフィック最適化 G2: G2 マシンタイプのリソース
    • メモリ最適化 M3: M3 マシンタイプのリソース
    • ストレージ最適化 Z3: Z3 マシンタイプのリソース

  6. [期間] フィールドで、コミットメントの期間を選択します。

  7. [コア数] フィールドに、確約する vCPU の数を入力します。

  8. [メモリ] フィールドに、確約するメモリ容量(GB)を入力します。

  9. GPU を確約するには、[GPU] セクションで [ GPU を追加] をクリックし、次の操作を行います。

    1. [GPU のタイプ] フィールドで、GPU のタイプを選択します。
    2. [GPU の数] フィールドに、GPU の数を入力します。
    3. 省略可: GPU モデルがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、グラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] チェックボックスを選択します。
  10. ローカル SSD ディスクを確約するには、[ローカル SSD] セクションで、 [SSD を追加] をクリックし、[SSD の数] フィールドにディスクの数を指定します。

  11. 新しい予約を作成してコミットメントに関連付けるには、[予約] フィールドで [予約を作成する] を選択し、次の操作を行います。作成して関連付ける新しい予約ごとに、この手順を繰り返します。

    1. [予約を追加] をクリックします。[新規予約] セクションが表示されます。
    2. [名前] フィールドに、関連付ける予約の名前を入力します。
    3. [リージョン] フィールドで、コミットメントと同じリージョンを選択します。
    4. [ゾーン] フィールドで、リソースを予約するゾーンを選択します。
    5. [共有タイプ] セクションで、次のいずれかの方法でこの予約を共有する方法を指定します。

      • 単一プロジェクトの予約を作成するには、[ローカル] を選択します。
      • 複数のプロジェクトで共有される予約を作成するには、[共有] を選択します。次に、この予約を共有するプロジェクトを指定するには、[ プロジェクトを追加] をクリックし、現在のプロジェクトの組織から必要なプロジェクトを選択します。
    6. [VM インスタンスでの使用] フィールドで、VM が予約を消費する方法を選択します(次のいずれかの方法を選択します)。

      • 一致するプロパティを持つ VM がこの予約を自動的に使用できるようにするには、[予約を自動的に使用する] をクリックします(デフォルト)。
      • この予約の名前と一致するプロパティを持つ VM を作成する場合にのみ、この予約のリソースを使用するには、[特定の予約を選択する] を選択します。
    7. [リソースの詳細] セクションで、次の操作を行います。

      1. [VM インスタンスの数] フィールドに、予約する VM インスタンスの数を入力します。
      2. [マシンの構成] セクションで、次のいずれかの方法で予約 VM のプロパティを指定します。

        1. 既存のインスタンス テンプレートを使用して VM のプロパティを指定するには、[インスタンス テンプレートを使用] を選択します。

          [インスタンス テンプレート] フィールドで、コミットメントと同じマシン ファミリー シリーズのインスタンス テンプレートを選択します。リージョン インスタンス テンプレートを選択する場合は、そのインスタンス テンプレートのリージョンも、コミットメントで指定されたリージョンと一致する必要があります。

        2. VM のプロパティを手動で指定するには、[Select machine type] を選択して、次の操作を行います。

          1. コミットメントに指定したマシンシリーズに適用されるマシン ファミリーを選択します。

            • 汎用: 汎用マシンシリーズ
            • コンピューティング最適化: コンピューティング最適化マシンシリーズ
            • メモリ最適化: メモリ最適化マシンシリーズ
            • GPU: アクセラレータ最適化マシンシリーズ
          2. [シリーズ] 列があるテーブルで、コミットメントに指定したマシンシリーズを選択します。

          3. [マシンタイプ] フィールドで、次のいずれかの方法で事前定義またはカスタムのマシンタイプを指定します。

            1. 事前定義されたマシンタイプを選択するには、[プリセット] を選択してから、必要なマシンタイプを選択します。
            2. カスタム マシンタイプを選択するには、[カスタム] を選択し、必要なコア数メモリを指定します。
          4. 最小 CPU プラットフォーム、GPU、またはその両方を指定するには、[ CPU プラットフォームと GPU] メニューを開いて、次の操作を行います。

            1. 省略可: 最小 CPU プラットフォームを指定するには、[CPU プラットフォーム] リストでオプションを選択します。
            2. 省略可: GPU を予約するには、 [GPU を追加する] をクリックします。次に、[GPU タイプ] フィールドと [GPU の数] フィールドで、各 VM の GPU のタイプと数を選択します。

          5. ローカル SSD ディスクを予約する手順は次のとおりです。

            1. [ディスクの数] フィールドで、各 VM に必要なローカル SSD ディスクの数を選択します。
            2. [インターフェース タイプ] フィールドで、ローカル SSD ディスクのインターフェースを選択します。
    8. この予約のプロパティの指定を完了するには、[完了] をクリックします。

  12. 予約を関連付けてコミットメントの購入を完了するには、次の操作を行います。

    1. [購入] をクリックします。
    2. [確約利用割引の購入] ダイアログで、サービス固有の利用規約に同意する場合は、もう一度 [購入] をクリックします。

gcloud

コミットメントの購入時に関連付ける予約を作成するには、gcloud compute commitments create コマンドを実行します。

単一の予約を関連付けるか複数の予約を関連付けるかに応じて、次のいずれかの方法でコマンドを実行します。

  • 単一の予約を作成してコミットメントに関連付けるには、次のコマンドを実行して、関連付ける予約のプロパティを定義します。

    gcloud compute commitments create COMMITMENT_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --plan DURATION \
        --type COMMITMENT_TYPE
        --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
        --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
        --reservation=RESERVATION_NAME \
        --reservation-zone=RESERVATION_ZONE \
        --machine-type=RESERVED_MACHINE_TYPE \
        --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \
        --vm-count=NUMBER_OF_RESERVED_VMs \
        --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \
        --local-ssd=interface=INTERFACE_1,size=375 \
        --local-ssd=interface=INTERFACE_2,size=375 \
        --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \
        --share-setting=SHARE_SETTING \
        --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
    
  • 複数の予約を作成してコミットメントに関連付けるには、YAML ファイルを使用して予約のプロパティを定義し、コミットメントの購入に使用するコマンドでその YAML ファイルを指定します。必要に応じて、この YAML ファイルを使用して単一の予約を作成し、コミットメントに関連付けることもできます。関連付けられる予約をこの方法で作成する手順は次のとおりです。

    1. 現在のディレクトリに YAML ファイルを作成し、関連付ける予約ごとに必要な構成を指定します。たとえば、GPU、2 つのローカル SSD ディスク、最小 CPU プラットフォームを指定する 2 つのプロジェクトと共有される共有予約の構成を指定するには、YAML ファイルに次のテキストを追加します。

      - reservation: RESERVATION_NAME
        reservation_zone: RESERVATION_ZONE
        require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE
        vm_count: NUMBER_OF_RESERVED_VMs
        machine_type: RESERVED_MACHINE_TYPE
        accelerator:
        - count: RESERVED_ACCELERATOR_COUNT
          type: RESERVED_ACCELERATOR_TYPE
        localssd:
        - interface: INTERFACE_1
          size: 375
        - interface: INTERFACE_2
          size: 375
        project: OWNER_PROJECT_ID
        minimum-cpu-platform: MINIMUM_CPU_PLATFORM
        share-setting: SHARE_SETTING
        share-with:
        - CONSUMER_PROJECT_ID_1
        - CONSUMER_PROJECT_ID_2
      
      

      複数の予約の構成を指定するには、作成する予約ごとにこれらのプロパティを繰り返します。コミットメントには、任意の数の既存の予約を追加できます。

    2. --reservation-from-file フラグを指定して gcloud compute commitments create コマンドを実行します。

      gcloud compute commitments create COMMITMENT_NAME \
          --region REGION \
          --project PROJECT_ID \
          --plan DURATION \
          --type COMMITMENT_TYPE \
          --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
          --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
          --reservations-from-file=YAML_FILE
      

以下は、コミットメントと関連付けられている予約の対応するプロパティに置き換えます。

コミットメント

  • COMMITMENT_NAME: コミットメントの名前。
  • REGION: コミットメントのリージョン。
  • PROJECT_ID: 予約が関連付けられているコミットメントを購入するプロジェクトの ID。
  • DURATION: コミットメントの期間(12-month または 36-month)。
  • COMMITMENT_TYPE: コミットメントのタイプ。次のコミットメントのタイプでは、GPU、ローカル SSD ディスク、またはその両方を使用できます。

    • accelerator-optimized: A2 マシンタイプのリソース
    • accelerator-optimized-a3: A3 マシンタイプのリソース
    • compute-optimized: C2 マシンタイプのリソース
    • compute-optimized-c2d: C2D マシンタイプのリソース
    • compute-optimized-c3: C3 マシンタイプのリソース
    • compute-optimized-c3d: C3D マシンタイプのリソース
    • general-purpose: N1 マシンタイプのリソース
    • general-purpose-n2: N2 マシンタイプのリソース
    • general-purpose-n2d: N2D マシンリソース
    • graphics-optimized: G2 マシンタイプ リソース
    • memory-optimized-m3: M3 マシンタイプのリソース
    • storage-optimized-z3: Z3 マシンタイプのリソース

  • COMMITTED_VCPUS: コミットメントに必要な vCPU の数。数値には任意の正の整数を指定できます。

  • COMMITTED_MEMORY: コミットメントに必要なメモリの量(MB または GB)。たとえば、10GB や、10240MB などです。単位を指定しない場合、Compute Engine は単位として GB を使用します。メモリは 0.25 GB 単位で購入できます。

  • COMMITTED_LOCAL_SSD: コミットメントに必要なローカル SSD ストレージの量(GB)。各ローカル SSD ディスクは 375 GB です。

  • COMMITTED_ACCELERATOR_COUNT: コミットメントで必要な GPU の数。

  • COMMITTED_ACCELERATOR_TYPE: コミットメントに必要な GPU タイプ。

  • YAML_FILE: 関連付けられた予約の構成を含む YAML ファイルのパス。

関連付けられた予約

  • RESERVATION_NAME: 関連付ける予約の名前。
  • RESERVATION_ZONE: 関連付ける予約のゾーン。
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: 関連付ける予約が明示的に対象とする予約かどうかを指定します(true または false)。特定の予約について詳しくは、予約の仕組みをご覧ください。
  • NUMBER_OF_RESERVED_VMS: 関連付ける予約で予約する VM の数。
  • RESERVED_MACHINE_TYPE: 関連付ける予約の VM に必要なマシンタイプ

    • マシンタイプが事前定義の場合は、MACHINE_FAMILY-standard-CPUS の形式を使用します(例: n2-standard-4)。
    • マシンタイプがカスタムの場合は、MACHINE_FAMILY-custom-CPUS-MEMORY の形式を使用します(例: n2-custom-4-5120)。詳しい制限事項については、カスタム マシンタイプの仕様をご覧ください。

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

      • MACHINE_FAMILY: マシンタイプのファミリー。たとえば、N2 VM の場合は n2 を指定します。
      • CPUS: vCPU の数。
      • MEMORY: 予約済み VM の合計メモリ。メモリの量には、256 MB の倍数を MB 単位で指定します。たとえば、4 個の vCPU と 5 GB(5,120 MB)のメモリを搭載した N2 VM を作成するには、n2-custom-4-5120 を使用します。
  • RESERVED_ACCELERATOR_COUNT: 関連付ける予約で VM ごとに追加する GPU の数。

  • RESERVED_ACCELERATOR_TYPE: 関連付ける予約に追加するアクセラレータのタイプ

  • INTERFACE_1INTERFACE_2: 各予約済み VM のローカル SSD ディスクで使用するインターフェースのタイプ。有効なオプションは scsinvme です。各ローカル SSD ディスクは 375 GB です。追加するローカル SSD ディスクごとに local_ssd パラメータを繰り返します。ローカル SSD ディスクは 24 個まで指定できます。

  • OWNER_PROJECT_ID: 関連付ける予約でコミットメントを購入するプロジェクトの ID。複数のコンシューマー プロジェクトで関連する予約を共有する場合は、このフィールドを指定します。

  • MINIMUM_CPU_PLATFORM: 関連付ける予約に指定する最小 CPU プラットフォーム。

  • SHARE_SETTING: 関連付ける予約の共有タイプ。複数のコンシューマー プロジェクトで関連する予約を共有する場合は、このフィールドに projects の値を指定します。単一プロジェクトの予約を作成する場合は、このフィールドを除外します。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2: この予約を共有できるプロジェクトのプロジェクト ID(例: project-1project-2)。最大 100 個のコンシューマー プロジェクトを含めることができます。これらのプロジェクトは、オーナー プロジェクトと同じ組織に存在している必要があります。この予約を作成するプロジェクトの ID は含めないでください。このプロジェクトはデフォルトでこの予約を使用できます。単一プロジェクトの予約を作成する場合は、これらのフィールドを除外します。

Compute Engine は、ターゲット ゾーンで指定されたマシンタイプに十分なリソースがあり、リクエスト時に十分な割り当てがある場合にのみ、コミットメントとそれに関連する予約を作成します。購入が成功すると、次のような成功メッセージが表示されます。

Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]

関連付ける新しい予約を作成してコミットメントを購入する例

次のシナリオとコマンドの例は、コミットメントに関連付ける新しい予約を作成して、GPU、ローカル SSD ディスク、またはその両方のコミットメントを購入する方法を示しています。

例 1: 新しい予約を 1 つだけ関連付けて GPU のコミットメントを購入する

4 個の NVIDIA V100 GPU を含む us-central1 リージョンでコミットメント commitment-01 を購入するとします。これらの GPU の関連付けられた予約として、新しい予約 reservation-01 を作成します。us-central1-a ゾーンの 2 台の n1-standard-32 VM でこれらの予約済み GPU を使用するように Compute Engine を指定するとします。予約が関連付けられているこのサンプルのコミットメントを購入するには、次のコマンドを実行します。

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-central1-a \
    --machine-type=n1-standard-32 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

例 2: vCPU やメモリを確約せずに GPU のコミットメントを購入する

vCPU またはメモリを確約せずに GPU とローカル SSD ディスクを確約して予約するには、vCPU とメモリ量の値として 0 を指定します。たとえば、us-west2 リージョンで単一の NVIDIA P4 GPU のコミットメント commitment-02 を購入するとします。また、関連付ける予約を新たに作成し、us-west2-b ゾーンの n1-standard-2 VM で予約済みの GPU を使用するように Compute Engine を指定します。予約が関連付けられているこのサンプルのコミットメントを購入するには、次のコマンドを実行します。

gcloud compute commitments create commitment-02 \
    --region=us-west2 \
    --project=myproject \
    --resources=vcpu=0,memory=0 \
    --resources-accelerator=type=nvidia-tesla-p4,count=1 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-west2-b \
    --machine-type=n1-standard-2 \
    --accelerator=type=nvidia-tesla-p4,count=1 \
    --vm-count=1

例 3: 複数の新しい予約を関連付けて GPU とローカル SSD ディスクのコミットメントを購入する

us-central1 リージョンで 1 個の NVIDIA V 100 GPU と 2 個のローカル SSD ディスクのコミットメント commitment-03 を購入するとします。また、us-central1-a ゾーンに 2 個の予約を作成して関連付けます。最初の予約 res-01 では、1 個の GPU を使用する 1 台の n1-standard-2 VM を予約します。res-01 をターゲット予約にする場合に、予約済みの VM を使用するには、その予約を名前で明示的に指定する必要があります。2 番目の予約 res-02 では、2 種類のローカル SSD ディスクがアタッチされた 1 つの n1-standard-8 VM を予約します。

予約が関連付けられたこのコミットメントの例を購入するには、まず両方の予約のプロパティを含む YAML ファイルを作成します。

- reservation: res-01
  reservation_zone: us-central1-a
  require_specific_reservation: true
  vm_count: 1
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-v100
- reservation: res-02
  reservation_zone: us-central1-a
  vm_count: 1
  machine_type: n1-standard-8
  local_ssd:
  - interface: scsi
    size: 375
  - interface: nvme
    size: 375

YAML ファイルを作成したら、次のコマンドを実行して、予約を追加したコミットメントの購入を完了します。この例のコミットメントには vCPU とメモリリソースも含まれています。

gcloud compute commitments create commitment-03 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624,local-ssd=750 \
    --resources-accelerator=type=nvidia-tesla-v100,count=1 \
    --plan 12-month \
    --reservations-from-file=YAML_FILE

REST

コミットメントの購入時に関連付ける予約を作成するには、regionCommitments.insert メソッドPOST リクエストを送信します。リクエストに reservations フィールドを含めて、作成して関連付ける新しい予約のリストを定義します。コミットメントには、任意の数の既存の予約を追加できます。

  • すべての VM プロパティを手動で指定して新しい予約を作成するには、instanceProperties フィールドを含め、sourceInstanceTemplate フィールドを除外します。

    たとえば、GPU、2 個のローカル SSD ディスク、最小 CPU プラットフォームの 2 つのプロジェクトと共有される共有予約の構成を手動で指定するには、次のリクエストを行います。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": "RESERVED_ACCELERATOR_COUNT",
                "acceleratorType": "RESERVED_ACCELERATOR_TYPE"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_1"
              },
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_2"
              }
            ],
            "machineType": "RESERVED_MACHINE_TYPE",
            "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
          }
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    
  • インスタンス テンプレートを指定して新しい予約を作成するには、sourceInstanceTemplate フィールドを追加し、instanceProperties フィールドを除外します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    

以下は、コミットメントと関連付けられている予約の対応するプロパティに置き換えます。

コミットメント

  • COMMITMENT_NAME: コミットメントの名前。
  • REGION: コミットメントのリージョン。
  • PROJECT_ID: 予約が関連付けられているコミットメントを購入するプロジェクトの ID。
  • DURATION: コミットメントの期間(TWELVE_MONTH または THIRTY_SIX_MONTH)。
  • COMMITMENT_TYPE: コミットメントのタイプ。次のコミットメントのタイプでは、GPU、ローカル SSD ディスク、またはその両方を使用できます。

    • ACCELERATOR_OPTIMIZED: A2 マシンタイプのリソース
    • ACCELERATOR_OPTIMIZED_A3: A3 マシンタイプのリソース
    • COMPUTE_OPTIMIZED: C2 マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C2D: C2D マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C3: C3 マシンタイプのリソース
    • COMPUTE_OPTIMIZED_C3D: C3D マシンタイプのリソース
    • GENERAL_PURPOSE: N1 マシンタイプのリソース
    • GENERAL_PURPOSE_N2: N2 マシンタイプのリソース
    • GENERAL_PURPOSE_N2D: N2D マシンリソース
    • GRAPHICS_OPTIMIZED: G2 マシンタイプ リソース
    • MEMORY_OPTIMIZED_M3: M3 マシンタイプのリソース
    • STORAGE_OPTIMIZED_Z3: Z3 マシンタイプのリソース

  • COMMITTED_VCPUS: コミットメントに必要な vCPU の数。数値には任意の正の整数を指定できます。

  • COMMITTED_MEMORY: コミットメントに必要なメモリ量(MB)。たとえば、10240MB のようにします。メモリは 256 MB 単位で購入できます。

  • COMMITTED_LOCAL_SSD: コミットメントに必要なローカル SSD ストレージの量(GB)。各ローカル SSD ディスクは 375 GB です。

  • COMMITTED_ACCELERATOR_COUNT: コミットメントで必要な GPU の数。

  • COMMITTED_ACCELERATOR_TYPE: コミットメントに必要な GPU タイプ。

関連付けられた予約

  • RESERVATION_NAME: 関連付ける予約の名前。
  • RESERVATION_ZONE: 関連付ける予約のゾーン。
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: 関連付ける予約が明示的に対象とする予約かどうかを指定します(true または false)。特定の予約について詳しくは、予約の仕組みをご覧ください。
  • NUMBER_OF_RESERVED_VMS: 関連付ける予約で予約する VM の数。
  • RESERVED_MACHINE_TYPE: 関連付ける予約の VM に必要なマシンタイプ

    • マシンタイプが事前定義の場合は、MACHINE_FAMILY-standard-CPUS の形式を使用します(例: n2-standard-4)。
    • マシンタイプがカスタムの場合は、MACHINE_FAMILY-custom-CPUS-MEMORY の形式を使用します(例: n2-custom-4-5120)。詳しい制限事項については、カスタム マシンタイプの仕様をご覧ください。

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

      • MACHINE_FAMILY: マシンタイプのファミリー。たとえば、N2 VM の場合は n2 を指定します。
      • CPUS: vCPU の数。
      • MEMORY: 予約済み VM の合計メモリ。メモリの量には 256 MB の倍数を MB 単位で指定します。たとえば、4 個の vCPU と 5 GB(5,120 MB)のメモリを搭載した N2 VM を作成するには、n2-custom-4-5120 を使用します。
  • RESERVED_ACCELERATOR_COUNT: 関連付ける予約で VM ごとに追加する GPU の数。

  • RESERVED_ACCELERATOR_TYPE: 関連付ける予約に追加するアクセラレータのタイプ

  • INTERFACE_1INTERFACE_2: 各予約済み VM のローカル SSD ディスクで使用するインターフェースのタイプ。有効なオプションは scsinvme です。各ローカル SSD ディスクは 375 GB です。追加するローカル SSD ディスクごとに localSsds パラメータを繰り返します。ローカル SSD ディスクは 24 個まで指定できます。

  • MINIMUM_CPU_PLATFORM: 関連付ける予約に指定する最小 CPU プラットフォーム。

  • INSTANCE_TEMPLATE_NAME: 使用するインスタンス テンプレートのバージョン

  • SHARE_SETTING: 関連付ける予約の共有タイプ。複数のコンシューマー プロジェクトで関連する予約を共有する場合は、このフィールドに SPECIFIC_PROJECTS の値を指定します。単一プロジェクトの予約を作成する場合は、このフィールドを除外します。

  • CONSUMER_PROJECT_ID_1CONSUMER_PROJECT_ID_2: この予約を共有できるプロジェクトのプロジェクト ID(例: project-1project-2)。最大 100 個のコンシューマー プロジェクトを含めることができます。これらのプロジェクトは、オーナー プロジェクトと同じ組織に存在している必要があります。この予約を作成したプロジェクトの ID は含めないでください。このプロジェクトはデフォルトでこの予約を使用できます。単一プロジェクトの予約を作成する場合は、これらのフィールドを除外します。

Compute Engine は、ターゲット ゾーンで指定されたマシンタイプに十分なリソースがあり、リクエスト時に十分な割り当てがある場合にのみ、コミットメントとそれに関連する予約を作成します。購入が正常に完了すると、Compute Engine は REST API リクエストに対して 200 ステータスを返します。

新しい予約を作成してコミットメントを購入する例

次のシナリオとコマンドの例は、コミットメントに関連付ける新しい予約を作成して、GPU、ローカル SSD ディスク、またはその両方のコミットメントを購入する方法を示しています。

例 1: 新しい予約を 1 つだけ関連付けて GPU のコミットメントを購入する

4 個の NVIDIA V100 GPU を含む us-central1 リージョンでコミットメント commitment-01 を購入するとします。これらの GPU に関連付けられた予約として、新しい予約 reservation-01 を作成します。us-central1-a ゾーンの 2 台の n1-standard-8 VM でこれらの予約済み GPU を使用するように Compute Engine を指定するとします。この例のコミットメントとそれに関連付けられた予約を購入するには、次の POST リクエストを行います。

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

例 2: vCPU やメモリを確約せずに GPU のコミットメントを購入する

vCPU またはメモリを確約せずに GPU とローカル SSD ディスクを確約して予約するには、vCPU とメモリ量の値として 0 を指定します。たとえば、us-west2 リージョンで単一の NVIDIA P4 GPU のコミットメント commitment-02 を購入するとします。また、関連付ける予約を新たに作成し、us-west2-b ゾーンの n1-standard-2 VM で予約済みの GPU を使用するように Compute Engine を指定します。この例のコミットメントとそれに関連付けられた予約を購入するには、次の POST リクエストを行います。

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments

{
  "name": "commitment-02",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p4",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 4,
              "acceleratorType": "nvidia-tesla-p4"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-west2-b"
    }
  ]
}

例 3: 複数の新しい予約を関連付けて GPU とローカル SSD ディスクのコミットメントを購入する

us-central1 リージョンで 1 個の NVIDIA V 100 GPU と 2 個のローカル SSD ディスクのコミットメント commitment-03 を購入するとします。また、us-central1-a ゾーンに 2 個の予約を作成して関連付けます。最初の予約 res-01 では、1 個の GPU を使用する 1 台の n1-standard-2 VM を予約します。res-01 をターゲット予約にする場合に、予約済みの VM を使用するには、その予約を名前で明示的に指定する必要があります。2 番目の予約 res-02 では、2 種類のローカル SSD ディスクがアタッチされた 1 つの n1-standard-8 VM を予約します。関連付ける予約とこのコミットメントの例を購入するには、次の POST リクエストを行います。この例のコミットメントには vCPU とメモリリソースも含まれています。

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-03",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "1",
      "type": "ACCELERATOR"
    },
    {
      "amount": "768000",
      "type": "LOCAL_SSD"
    }
  ],
  "reservations":
  [
    {
      "name": "res-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "us-central1-a"
    },
    {
      "name": "res-02",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            },
            {
              "diskSizeGb": "375",
              "interface": "NVME"
            }
          ]
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

予約が関連付けられたコミットメントを購入すると、コミットメントが有効である限り、予約も有効なままになります。コミットメントが期限切れになると、Compute Engine は関連付けられた予約を自動的に削除します。これらの予約を削除しても、その予約に関連付けられている実行中の VM インスタンスには影響しません。実行中の VM は引き続き実行され、これらの VM には料金が発生します。

コミットメントの期間中は、GPU またはローカル SSD を含む関連付けられた予約を削除またはサイズ変更することはできません。ただし、コミットメントの既存の関連付けられた予約は、新しい予約に置き換えることができます。関連付けられた予約に対して変更できる内容と変更できない内容の詳細については、コミットメントに関連付けられている予約を置き換えるをご覧ください。

ライセンスのコミットメントを購入する

次のオペレーティング システム(OS)イメージを使用する VM でワークロードを実行する場合、ライセンスのコミットメントを購入できます。

  • SUSE Linux Enterprise Server(SLES)イメージ
  • SLES for SAP イメージ

各 OS イメージのライセンス コミットメントに適用される CUD の割合は、VM で使用する vCPU の数によって異なります。次の表に、ソフトウェア ライセンス コミットメントのタイプ別の CUD の割合を示します。

ライセンス コミットメントのタイプ vCPU 数 1 年間の CUD の割合 3 年間の CUD の割合
SLES イメージ 1 〜 2 個 77% 79%
SLES イメージ 3 〜 4 個 54% 59%
SLES イメージ 5 個以上 45% 50%
SLES for SAP イメージ 1 〜 2 個 59% 63%
SLES for SAP イメージ 3 〜 4 個 59% 63%
SLES for SAP イメージ 5 個以上 59% 63%

ライセンスのコミットメントを購入すると、ライセンスの「プール」が形成され、指定したリージョン内の選択したプロジェクトで実行中の VM インスタンスに自動的に適用されます。コミットメントのライセンスは、特定の 1 つの VM に紐づけされることはありません。VM が起動すると、割り当て済みライセンスがプールから取得されます。VM が停止すると、ライセンスはプールに返され、別の VM で使用できます。プールに割り当て済みライセンスがある限り、プレミアム OS の使用に対する割引が引き続き適用されます。

たとえば、同じプロジェクト ID のもと、2 つのリージョンで 10 台の VM(us-central1 で 5 台の VM、us-west1 で 5 台の VM)を実行する必要がある場合、各リージョンで 5 つのライセンスを購入して、実行する VM をカバーする必要があります。各コミットメントで、割り当て済みライセンスは、同時に実行している 5 台の VM にそれぞれのリージョンで年間を通じていつでも適用できます。毎月の請求は、使用量に関係なくコミットメントに対して行われます。

コミットメントを購入すると、米国およびカナダの太平洋時間(UTC-8 または夏時間の UTC-7)で翌日の午前 0 時にコミットメントが有効になります。Compute Engine では、コミットメントを購入したプロジェクトのリージョンごとに、プロジェクトのリーエンが維持されます。プロジェクトの任意のリージョンに対して新しいコミットメントを購入すると、そのリージョンのリーエンが新しく作成されたコミットメントに紐づけられます。

コミットメントの購入から有効化までの間、コミットメントのステータスは NOT_YET_ACTIVE(Google Cloud コンソールでは PENDING)のままとなります。有効になると、コミットメントのステータスは ACTIVE に変わります。たとえば、米国とカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 20 日午後 10 時にコミットメントを購入したとします。Compute Engine は、ステータスが NOT_YET_ACTIVE のコミットメントをすぐに作成します。ただし、コミットメントが ACTIVE になるのは、米国およびカナダの太平洋時間(UTC-8 または UTC-7)の 1 月 21 日午前 0 時です。

ライセンス コミットメントは購入後にキャンセルできません。ライセンス コミットメントが期限切れになった場合、実行中の VM は引き続き実行され、オンデマンド イメージ価格でライセンスに課金されます。

ライセンス コミットメントは、Google Cloud コンソール、Google Cloud CLI、または REST を使用して購入します。

コンソール

Google Cloud コンソールを使用してコミットメントを購入する前に、コミットメントの購入に使用するプロジェクトを選択します。請求先アカウントに対して割引の共有が有効になっている場合、その請求先アカウントの任意のプロジェクトを使用してコミットメントを購入できます。プロジェクトを選択したら、次の手順を実施します。

  1. Google Cloud コンソールで [確約利用割引] ページに移動します。

    [確約利用割引] ページに移動

  2. [コミットメントを購入] をクリックして、新しいコミットメントを購入します。
  3. [新しいライセンス確約利用割引] をクリックして、新しいライセンス コミットメントを購入します。
  4. コミットメントに名前を付け、適用するリージョンを選択します。
  5. コミットメントの期間(1 年または 3 年)を選択します。
  6. ライセンス ファミリーを選択します。
  7. ライセンスの種類と数量を選択します。
  8. ライセンス数を選択します。
  9. [購入] をクリックします。

gcloud

gcloud CLI を使用する場合は、gcloud compute commitments create-license コマンドを実行してライセンス コミットメントを購入します。

gcloud compute commitments create-license COMMITMENT_NAME \
    --license `LICENSE_URI`
    --amount NUMBER_OF_LICENSES \
    --cores-per-license CORES_PER_LICENSE \
    --plan PLAN \
    --region REGION \

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

  • COMMITMENT_NAME: コミットメントの名前。
  • LICENSE_URI: ライセンス URI。例: https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
  • NUMBER_OF_LICENSES: 購入するライセンスの数。
  • CORES_PER_LICENSE: ライセンスあたりのコア数。1-2 3-4、または 5+ を入力します。
  • PLAN: プランの長さ。12-month または 36-month を入力します。
  • REGION: このコミットメントが適用されるリージョン。

たとえば、次の例は、us-central1 リージョンで 3 ~ 4 コアの 4 つの SAP ライセンスを 36 か月使用するコミットメントです。

gcloud compute commitments create-license commitment-1
    --license https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-12
    --amount=4
    --cores-per-license=3-4
    --plan=36-month
    --region=us-central1

たとえば、次の例は、us-central1 リージョンで 1~2 コアの 2 つの SLES for SAP ライセンスを 12 か月使用するコミットメントです。

gcloud compute commitments create-license commitment-2
    --license https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
    --amount=2
    --cores-per-license=1-2
    --plan=12-month
    --region=us-central1

REST

regionCommitments.insert メソッドを使用して、licenseResource フィールドを指定し、ライセンス コミットメントのプロパティを定義します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments?requestId=OPTIONAL_UNIQUE_ID

{
    "name": COMMITMENT_NAME,
    "plan": PLAN,
    "category": "LICENSE",
    "licenseResource": {
      "coresPerLicense": CORES_PER_LICENSE,
      "amount": NUMBER_OF_LICENSES,
      "license": `LICENSE_URI`
      }
}

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

  • COMMITMENT_NAME: コミットメントの名前。
  • LICENSE_URI: ライセンス URI。例: https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
  • NUMBER_OF_LICENSES: 購入するライセンスの数。
  • CORES_PER_LICENSE: ライセンスあたりのコア数。1-2 3-4、または 5+ を入力します。
  • PLAN: プランの長さ。12-month または 36-month を入力します。
  • REGION: このコミットメントが適用されるリージョン。

たとえば、次の例は、us-central1 リージョンで 3 ~ 4 コアの 4 つの SLES for SAP ライセンスを 36 か月使用するコミットメントです。

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments

{
    "name": "commitment-3",
    "plan": "THIRTY_SIX_MONTH",
    "category": "LICENSE",
    "licenseResource": {
      "coresPerLicense": "3-4",
      "amount": "4",
      "license": "https://www.googleapis.com/compute/v1/projects/suse-sap-cloud/global/licenses/sles-sap-12"
      }
}

確約利用割引の推奨事項を適用する

Google Cloud コンソールで確約利用割引の推奨事項を確認できます。Recommender は、過去 30 日間の VM 使用量に関する情報を含むカードを生成します。VM が 30 日間にわたって確約されていない使用量が継続している場合、Recommender は、VM の費用を削減可能な確約利用割引の購入機会として分類します。

次の条件を満たしていると、確約されていない使用量とみなされます。

  • VM が 30 日間アクティブ状態になっている。
  • VM の SKU が、確約利用割引の対象となるバケットの一部である。
  • VM の使用がまだ既存のコミットメントに含まれていない。

推奨は 1 日に 1 回更新され、過去 30 日間のデータ使用量の履歴に基づいて生成されます。

確約利用割引の推奨案が、概要カードで購入(または承認)するときに選択できる、2 つのアルゴリズムによって生成されます。

  • 安定使用量の推奨案は経時的な最低利用料金を対象にします。
  • 最適な推奨事項は、全体的な使用量に基づき、常に動作しているとは限らないリソースを扱うことがあります。

コミットメントの推奨事項については、確約利用割引 Recommender のドキュメントをご覧ください。

制限事項

確約利用割引の推奨は、マシンタイプのコミットメントの CPU とメモリ コンポーネントでのみ使用できます。SSD、GPU、ライセンス コミットメントでは、確約利用割引の推奨事項を使用できません。

推奨事項を確認して承諾する

推奨のコミットメントを購入する方法については、推奨事項の購入をご覧ください。

推奨事項を閉じる

コミットメントの推奨事項を閉じる方法や以前に閉じた推奨事項を復元する方法については、推奨事項を閉じるをご覧ください。

推奨事項の履歴

コミットメントに適用された推奨事項と閉じた推奨事項の履歴を表示するには、推奨事項の履歴の表示をご覧ください。

ハードウェアの確約利用割引の共有を有効にする

デフォルトでは、リソースベースの CUD は、リソースベースのコミットメントを購入したプロジェクトに適用され、プロジェクト スコープの割引になります。コミットメントを購入したプロジェクトを別の Cloud 請求先アカウントに移動すると、新しい Cloud 請求先アカウントのプロジェクトに対して、該当する確約利用割引が引き続き適用されます。

Cloud 請求先アカウントにリンクされているすべてのプロジェクトで、対象となる使用量全体でハードウェア コミットメントの割引を共有するには、Google Cloud コンソールから確約利用割引の共有を有効にします。

確約利用割引の共有を有効にすると、確約の対象範囲がプロジェクトから請求先アカウントに変更されます。割引の共有を有効にして確約の対象範囲を請求先アカウントに変更すると、割引の共有を無効にしてプロジェクト スコープに戻すことはできません。この操作を行うには、Cloud Billing サポートにお問い合わせください。

割引の共有は、アトリビューションの構成と組み合わせて使用します。比例アトリビューション優先アトリビューションを使用できます。

Compute Engine のリソースベースのコミットメントでは、最初にアトリビューションの設定を構成しない限り、割引の共有を有効にすると、デフォルトで比例アトリビューションが使用されます。

割引の共有を有効にする前にアトリビューションの構成を行う場合は、リソースベースのコミットメントにアトリビューションを選択するを参照して、各タイプのアトリビューションの詳細と有効にする方法を確認してください。

確約利用割引の共有を有効にするには次の手順を完了します。

  1. Google Cloud コンソールで Cloud 請求先アカウントにログインします。

    Cloud 請求先アカウントにログイン

  2. プロンプトで、割引の共有を使用するように確約利用割引を構成する Cloud 請求先アカウントを選択します。選択した Cloud 請求先アカウントの請求の概要ページが表示されます。

  3. [お支払い] ナビゲーション メニューで [CUD 分析] を選択して、確約利用割引の分析ページを表示します。

  4. [確約利用割引の分析] ページの [コミットメント タイプ] メニューで、[リソースベースのコミットメント] を選択します。

  5. リソースベースのコミットメント レポートのタイトルの下で、[確約の対象範囲] を探します。

    • [プロジェクト] スコープは、割引の共有がリソースベースの確約利用割引に対して有効になっていないことを示しています。プロジェクト スコープの割引は、コミットメントを購入したプロジェクト内で対象となる使用量にのみ適用されます。
    • [請求先アカウント] スコープは、リソースベースのコミットメントに対して割引の共有がすでに有効になっていることを示しています。請求先アカウント スコープのコミットメントでは、Cloud 請求先アカウントに関連付けられているすべてのプロジェクトで対象となる使用量全体に確約利用割引が適用されます。
  6. 確約の対象範囲の設定を変更するには、[編集] を選択します。

    • 現在のスコープが [プロジェクト] の場合、テキスト入力ボックスに「有効にする」と入力して請求先アカウントの割引の共有を有効にしてから、[請求先アカウントのスコープを有効にする] をクリックして変更内容を保存します。

    • 現在のスコープが請求先アカウントである場合、割引の共有はすでに有効になっています。割引の共有を無効にして、プロジェクトを対象とするコミットメントに戻すには、[サポートへのお問い合わせ] をクリックします。

1 つのプロジェクト スコープのリソースベース コミットメントで割引の共有を有効にすると、同じ Cloud 請求先アカウント内のすべてのリソースベース コミットメントのスコープに影響します。確約利用割引の共有を有効にすると、確約の対象範囲は次のように変更されます。

  • 同じ Cloud 請求先アカウントのすべてのプロジェクトで現在有効なリソースベースの確約利用割引は、以前購入したものや今後購入するものを含め、すべて Cloud 請求先アカウント全体で共有されます。
  • 確約の対象範囲の構成を変更すると(Cloud 請求先アカウントにリンクされたプロジェクトを新たに作成した場合や、既存のプロジェクトを Cloud 請求先アカウントにリンクした場合など)、米国とカナダの太平洋時間(UTC-8 または UTC-7)で翌日の午前 0 時に変更が有効になります。
  • 元のコミットメントがあったプロジェクトを新しい Cloud 請求先アカウントに移動すると、割引共有設定が変更されます。プロジェクトの Cloud 請求先アカウントの変更の影響については、プロジェクトにリンクされている Cloud 請求先アカウントを変更するをご覧ください。

確約利用割引が請求にどのように影響するかについては、確約利用割引の請求についてをご覧ください。

コミットメントを表示する

すべてのコミットメントのリストは、Google Cloud コンソール、Google Cloud CLI、または REST で表示できます。

コンソール

Google Cloud Console の [確約利用割引] ページでコミットメントのリストを表示します。

[確約利用割引] ページに移動

gcloud

commitments list コマンドを使用して、リクエストを送信します。

gcloud compute commitments list

コミットメントのリストが返されます。

 NAME              REGION    END_TIMESTAMP                  STATUS
 my-commitment     us-east1  2018-03-17T00:00:00.000-07:00  NOT_YET_ACTIVE

REST

次の URL に aggregatedList リクエストを送信すると、すべてのリージョンのコミットメントのリストを取得できます。

https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/commitments

コミットメントのリストが返されます。

"commitments": [
{
  "kind": "compute#commitment",
  "id": "3294122326373778983",
  "creationTimestamp": "2017-02-09T15:18:32.411-08:00",
  "name": "example-commitment",
  "region": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/commitments/example-commitment",
  "status": "NOT_YET_ACTIVE",
  "statusMessage": "The commitment is not yet active (its startTimestamp is in the future). It will not apply to current resource usage.",
  "plan": "TWELVE_MONTH",
  "startTimestamp": "2017-02-10T00:00:00.000-08:00",
  "endTimestamp": "2018-02-10T00:00:00.000-08:00",
  "resources": [
    {
      "type": "VCPU",
      "amount": "5"
    },
    {
      "type": "MEMORY",
      "amount": "32500"
    }]
  }
]

コミットメントを変更する

次の方法で、有効なコミットメントを変更できます。

コミットメントを作成した後に、コミットメントのプロジェクト、タイプ、リージョンを変更することはできません。

コミットメントをキャンセルする

作成したコミットメントをキャンセルすることはできません。コミットメントの期間中は合意した月額を支払う必要があります。今後 Compute Engine リソースの標準価格が変更されても、コミットメントはその影響を受けません。

コミットメントを誤って購入した場合やコミットメントの構成を間違えた場合は、Google Cloud Billing サポートにご連絡ください。

確約利用割引の請求について

請求の詳細については、次のドキュメントをご覧ください。

サポート

請求書の確約利用割引についてご不明な点がある場合は、Google Cloud サポートにお問い合わせください

次のステップ