サービス割り当てモデル

このページでは、Google Cloud のサービスの割り当て管理モデルについて説明します。この割り当てモデルを理解しておくと、Service Usage の割り当て管理機能を使用する場合に役に立ちます。一般的な情報については、割り当ての操作をご覧ください。

サービスのコンシューマーとは、サービスの使用が課金されるプロジェクト、フォルダ、または組織のことです。

指標と制限

割り当て指標は、サービスによって定義されるエンティティであり、サービスの消費をカウントします。割り当て指標では、仮想マシンインスタンスなどの具体的なエンティティをカウントしたり、特定のタイプの API リクエストなどの一時的なエンティティをカウントしたりできます。

割り当て制限は、サービスによって定義され、コンシューマーに対する割り当て指標の消費の制限方法を指定するエンティティです。割り当て指標には複数の割り当て制限がある場合があります。割り当て制限には、レート制限と割り当て制限の 2 種類があります。レート制限は、1 分や 1 日など、指定された時間が経過するとリセットされます。割り当ては時間が経過してもリセットされません。その代わり、リソースが使用されなくなったときに明示的に解放する必要があります。

割り当てオーバーライド

各割り当て制限には、サービスオーナーが設定したすべてのコンシューマーのデフォルト値があります。このデフォルト値は、割り当てのオーバーライドによって変更できます。

サービス所有者は、特定のコンシューマーに割り当てオーバーライドを適用して、そのコンシューマーのデフォルト値を置き換えることができます。これはプロデューサーオーバーライドと呼ばれます。たとえば、サービス所有者はプロデューサーオーバーライドを適用して、契約の一部として特定の顧客の割り当てを増やすことができます。

コンシューマーは、プロジェクト、フォルダ、または組織に割り当てのオーバーライドを適用して、サービスの使用量を制限できます。これはコンシューマー オーバーライドと呼ばれます。たとえば、予算の超過を防ぐために、コスト管理の手段として、コンシューマーが自分のプロジェクトにオーバーライドを適用できます。

使用するサービスにコンシューマー オーバーライドを適用するには、Service Usage API を使用します。

自分のサービスのコンシューマーにプロデューサーオーバーライドを適用するには、Service Consumer Management API を使用します。

割り当て制限の計算

次の式は、コンシューマーの割り当て制限を計算します。

if adminOverride is present,
  upperBound = adminOverride
else if producerOverride is present,
  upperBound = producerOverride
else
  upperBound = defaultLimit

if consumerOverride is present,
  quotaLimit = min(consumerOverride, upperBound)
else
  quotaLimit = upperBound

リージョン割り当てとゾーン割り当て

割り当て制限はグローバルにカウントされる場合と、各CloudリージョンまたはCloudゾーンで個別にカウントされる場合があります。

たとえば、1 つのサービスに 1 分あたり 100 件の API リクエストのグローバル制限があるとします。us-central1リージョンで 80 件の API リクエストが発生し、asia-northeast3で 70 件のリクエストが発生すると、150 件のリクエストがグローバル制限にカウントされ、一部のリクエストが拒否されます。ただし、リージョン制限の場合、各リージョンには 1 分あたり 100 リクエストという独自の個別の割り当てがあります。 us-central1の 80 リクエストはそのリージョンの 100 リクエストを超えず、asia-northeast3の 70 リクエストもそのリージョンの 100 リクエストを超えないため、リクエストは拒否されません。

割り当てオーバーライドは、一度にすべてのリージョンに適用することも、特定のリージョンに適用することもできます。オーバーライドを特定のリージョンに適用しても、他のリージョンの有効な制限は影響を受けません。

同様に、割り当てのオーバーライドは、すべてのゾーンに一度に適用することも、特定のゾーンに適用することもできます。オーバーライドが特定のゾーンに適用された場合、他のゾーンの有効な制限には影響しません。