割り当ての操作

Google Cloud では、プロジェクト オーナーのリソース使用量に対して一定の割り当てが定められており、プロジェクトで使用できる特定の Google Cloud リソースの量に上限が設けられています。割り当ては次の 2 つのカテゴリに分類されます。

  • 1 日あたりの API リクエスト数などのレート割り当て。この割り当ては、サービスに固有の時間間隔(1 分や 1 日など)の後にリセットされます。
  • 特定の時点でプロジェクトによって使用された仮想マシン(VM)インスタンスやロードバランサの数など、数量に基づく割り当て。この割り当ては、時間が経過してもリセットされません。リソースを使用する必要がなくなったら、GKE クラスタを削除するなどして、この割り当てを明示的に解放する必要があります。

それぞれの割り当て上限は、1 日あたりの API リクエストの数やアプリケーションで同時に使用されているロードバランサの数など、カウント可能な特定のリソースを表します。

割り当てが適用される理由はさまざまです。

  • 予期しない使用量の急増を防ぎ、Google Cloud ユーザーのコミュニティを保護する。
  • リソースの管理を支援する。たとえば、アプリケーションの開発とテストを行う際に、サービスの使用量に独自の上限を設定できます。

同じサービスでも、プロジェクトによって割り当てが異なる場合があります。たとえば、無料トライアル アカウントを使用してプラットフォームを試用する場合は、より少量の割り当て上限が設定されます。プロジェクトで課金を有効にすると、ほとんどのサービスの割り当てが増加します。特定のサービスについて割り当ての引き上げ明示的にリクエストすることもできます。Google Cloud の利用期間が長期化した場合にも、割り当てが増加する可能性があります。

プロジェクトの割り当て上限は、サービス オーナー、プロジェクト オーナー、割り当て管理者が適用する割り当てオーバーライドの影響を受ける場合があります。割り当て上限の計算方法については、サービスの割り当てモデルをご覧ください。

モニタリングとアラートを構成して割り当て使用量を追跡し、割り当ての有効期限超過や異常な使用量が発生した際にアラートを送信できます。

このドキュメントでは、既存の割り当て上限を確認して変更する方法、割り当ての引き上げをリクエストする方法、割り当て使用量のモニタリング方法など、プロジェクトの割り当てを扱う方法について説明します。その他の API 使用状況の指標を確認する方法については、API 使用状況のモニタリングをご覧ください。

プロダクトやサービスの割り当てに関するドキュメントを検索するには、Google Cloud ドキュメント ページで [検索] オプションを使用して、関連するサービス名と quota を検索します。たとえば、「GKE 割り当て」を検索すると、サービスの [割り当てと上限] ページが最初の結果として返されます。

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

無料で開始

権限

プロジェクトの割り当てを表示する権限

Google Cloud Console でプロジェクトの割り当てを表示する、またはプログラムでプロジェクトの割り当てにアクセスするには、次の IAM 権限を付与されていることが必要です。

  • resourcemanager.projects.get
  • resourcemanager.folders.getフォルダ全体の割り当てを表示する場合)
  • resourcemanager.organizations.get組織全体の割り当てを表示する場合)
  • serviceusage.quotas.get

これらの権限がデフォルトで含まれているロールは、IAM 権限のリファレンスで確認できます。

プロジェクトの割り当てを変更する権限

プロジェクト、フォルダまたは組織レベルで割り当てを変更するには、次の権限を付与されていることが必要です。

この権限は、オーナー、編集者、割り当て管理者、Service Usage 管理者のロールにデフォルトで含まれています。

Cloud Console で割り当てを表示する

現在の割り当て上限は、Google Cloud Console の 2 つの異なるエリアで確認できます。

  • [割り当て] ページ。プロジェクトのすべての割り当て使用量と上限が一覧表示されます。
  • Cloud Console API ダッシュボード。特定の API の割り当て情報を一覧表示します。リソースの使用状況の推移に関する情報などが表示されます。

割り当ての表示と管理はプログラムによって、またはコマンドラインから行うこともできます。詳細については、このドキュメントの後の部分で説明します。

割り当て使用量のモニタリング方法と割り当てについてのアラートの設定方法については、割り当て指標のモニタリングとアラートの設定をご覧ください。

プロジェクトのすべての割り当てを表示する

プロジェクト内のすべてのリソースの割り当て使用量と上限を表示するには:

  1. Google Cloud Console で、[割り当て] ページに移動します。

    [割り当て] に移動

    このリストには、各サービスで使用できる割り当ての種類ごとに 1 つの項目が含まれています。

  2. 結果を並べ替え、フィルタリングすることで、必要な情報のみを表示できます。

    • 特定のプロパティを表示するには、 [表をフィルタリング] をクリックします。
    • リストをアルファベット順に並べ替えるには、[サービス]、[上限名]、[割り当てステータス] または [詳細] の各見出しの上にポインタを置きます。
    • デフォルトでは、過去 7 日間のピーク使用量に基づいて、最も多く使用されている割り当てが最初に表示されるようにリストがソートされます。これにより、超過するおそれがある上限を確認できます。使用頻度の低い順に表示するには、[割り当てステータス] の矢印を切り替えます。
    • 特定の割り当ての現在の使用量を確認するには、[詳細] 列で [すべての割り当て] をクリックします。

[割り当て] ページに表示される割り当て使用量の指標は次のように計算されます。

  • レート割り当て:
    • 1 日あたりのレートに基づく割り当ての場合、表示される数字は、現在の 24 時間の期間におけるその時点までの合計使用量を表します。
    • 1 分または 100 秒あたりの割り当ての場合、表示される数値は、過去 24 時間の平均使用量を表します。
  • 数量に基づく割り当て: ここに示されている数字は、プロジェクトで現在使用されているリソースの量(ロードバランサの数など)を表します。

特定のサービスの割り当ての詳細については、サービスごとのドキュメントをご覧ください。たとえば、Compute Engine の割り当てについては、リソースの割り当てをご覧ください。

API 固有の割り当て

使用量の推移など、特定の API の詳細な割り当て情報を表示するには、Cloud Console の API の割り当てページにアクセスします。API に応じて、これらの上限には、1 日あたりのリクエスト数、1 分あたりのリクエスト数、ユーザーごとの 1 分あたりのリクエスト数などがあります。一部の API では、プロジェクトで課金を有効にするまで、非常に低い上限が設定されています。

特定の API の現在の上限は、Cloud Console の 2 つの異なるエリアで確認できます。

  • すべてのプロジェクトの割り当てを表示するセクションで説明されている Cloud Console の [割り当て] ページ

  • Cloud Console の [API とサービス] の [ダッシュボード] ページ。このページでプロジェクトを選択し、API 名をクリックしてから [割り当て] をクリックします。[割り当て] ページに、API の割り当て名が表示されます。各割り当てを展開すると、詳細な使用状況の推移と現在の上限を確認できます。デフォルトでは、表示される制限は Google が課す上限です。使用量の上限を設定するセクションで説明されているように、使用量の上限を設定できます。Google から上限が課されていない割り当てについては、上限は [無制限] として表示されます。

    一部の割り当ては、API 固有の割り当てページに表示されません。たとえば、Compute Engine API に対するリクエストには API 固有の割り当てページがありますが、Compute Engine のコンピューティング リソースの使用量(数量に基づく割り当て)は含まれません。また、複数のロケーションでサービスを使用している場合、API 固有の割り当てページには、リージョンまたはゾーンの割り当ての上限と使用量は表示されません。ロケーションでフィルタリングできるプロジェクトの割り当て使用量の全一覧については、プロジェクトの [割り当て] ページをご覧ください。

Cloud Console を使用した割り当ての管理

リソースの使用状況に応じて、プロジェクトの割り当てを増やしたり減らしたりして上限を調整できます。このセクションでは、指定されている割り当て上限を変更する方法について説明します。割り当て上限を確認するには、[詳細] 列で [すべての割り当て] をクリックします。

割り当てのフィルタリング

特定のプロパティで割り当てのリストをフィルタリングするには:

  1. Google Cloud Console で [割り当て] ページに移動します。

    [割り当て] に移動

  2. [表をフィルタリング] をクリックして、特定のプロパティで割り当てをクエリします。

割り当て上限の引き上げをリクエストする

Google Cloud Console の [割り当ての編集] パネルで、以下の手順に沿ってほとんどの割り当て上限の引き上げをリクエストできます。次の例外のいずれかが発生する可能性があります。

  • 場合によっては、Google Cloud Console によって、上限の引き上げをリクエストするための別のフォームにリダイレクトされます。フォームを送信すると、Google Cloud がリクエストの承認と処理をメールで行います。
  • その他の割り当ては、Google Cloud Console を使用して編集できません。コンソールまたはフォームで割り当てを変更できない場合は、Google Cloud サポート担当者を通じて引き上げをリクエストする必要があります(課金チームは、割り当ての上限の引き上げを扱いません)。

割り当て上限の引き上げをリクエストするには:

  1. Google Cloud Console で [割り当て] ページに移動します。

    [割り当て] に移動

  2. [割り当てステータス] 列で、 [警告] をクリックします。割り当てパネルには、すべての割り当てが表示されます。

  3. 変更する割り当てのチェックボックスをオンにします。

  4. [割り当てを編集] をクリックします。

  5. リクエスト フォームのすべての項目を入力します。

  6. 変更後の割り当ての上限を入力します。必要に応じて説明も入力します。

  7. [完了] をクリックします。

  8. [リクエストを送信] をクリックします。

コンソールでリクエストを送信すると、Google Cloud がリクエストの承認をメールで通知します(通常は 2~3 営業日)。サポートを必要とされる場合は、このメールに返信してください。割り当てチームがリクエストを承認して処理すると、承認と引き上げの発行日について確認するためのメールを別途お送りいたします。

使用量の上限を設定する

割り当ての上限を独自に設定することで、特定のリソースの使用量を制限できます。たとえば、無料枠の使用上限を超過した使用量について課金されるのを回避するために、1 日あたりの上限の設定をリクエストできます。割り当ての上限を設定するには、API 固有の割り当てページで上限を編集します。

  1. Google Cloud Console で、[割り当て] ページに移動します。

    [割り当て] に移動

  2. [表をフィルタリング] をクリックして、特定のプロパティで割り当てをクエリします。

  3. [すべての割り当て] をクリックして、上限を設定する使用量を参照します。

  4. 編集するプロパティを選択するにはチェックボックスをオンにします。

  5. [割り当てを編集] をクリックします。

  6. リクエスト フォームのすべての項目を入力します。

  7. 変更後の割り当ての上限を入力します。必要に応じて説明も入力します。

  8. [完了] をクリックします。

  9. [リクエストを送信] をクリックします。

このページに表示されていない割り当ての上限を設定する場合、または指定されている最大量よりも高い上限を設定する場合は、割り当ての増加をリクエストするの手順に沿って上限を編集してください。

gcloud コマンドライン ツールを使用した割り当ての管理(アルファ版)

gcloud コマンドライン ツールを使用して、現在の割り当てを取得し、該当する場合には、プロジェクトフォルダおよび組織レベルなど、一部の Google Cloud APIs とサービスの割り当て使用量の上限を設定できます。

このアプローチを使用するには、まず alpha コマンド コンポーネントを含む最新バージョンの Cloud SDK をインストール初期化している必要があります。Cloud Shell を使用して Google Cloud とインタラクションしている場合は、Cloud SDK がインストールされます。

特定のサービスについてプロジェクトへの割り当てを表示するには、次のコマンドを実行して、実際のプロジェクト ID とサービス名に置き換えます。

gcloud alpha services quota list \
    --service=SERVICE_NAME.googleapis.com \
    --consumer=projects/PROJECT_ID

組織の同じサービスの割り当ての詳細を表示するには:

gcloud alpha services quota list \
    --service=SERVICE_NAME.googleapis.com \
    --consumer=organizations/ORG_ID

gcloud quota コマンドとフラグの全一覧については、Cloud SDK リファレンスをご覧ください。

さらに、一部のサービスでは、gcloud quota のみでなく、割り当てとリソース使用量に関する情報に独自のコマンドラインからアクセスすることもできます。たとえば、Compute Engine では、gcloud compute を使用して割り当て情報にアクセスできます。

Service Usage API を使用した割り当ての管理

Service Usage API を使用すると、現在の割り当てを取得し、一部の Google Cloud APIs とサービスの割り当て使用量の上限を設定できます。Service Usage の詳細については、以下をご覧ください。

Service Usage API を使用して割り当ての増加をリクエストすることはできません。これを行う場合は、Cloud Console を使用する必要があります。

割り当て指標のモニタリングとアラートの設定

Cloud Monitoring API と UI を使用すると、割り当ての使用量、上限、エラーを詳細にモニタリングできます。これらの指標を使用してカスタム ダッシュボードとアラートを作成して、割り当ての使用量の推移をモニタリングし、割り当ての上限に近づいたときなどにアラートを受信できます。

Cloud Monitoring はさまざまな指標をサポートしています。これらの指標をフィルタや集計と組み合わせることで、割り当ての使用量についてより有用な分析情報を表示できます。たとえば、数量に基づく割り当ての使用状況の指標を Cloud TPU 名の quota_metric フィルタと組み合わせることができます。

Metrics Explorer を使用してモニタリング対象リソースの指標を表示する手順は次のとおりです。

  1. Google Cloud Console で、[Monitoring] ページに移動します。

    [Monitoring] に移動

    Cloud Monitoring を初めて使用する場合は、Google Cloud Console の [Monitoring] への最初のアクセス時に、ワークスペースが自動的に作成され、プロジェクトがそのワークスペースに関連付けられます。それ以外の場合に、プロジェクトがワークスペースに関連付けられていないときは、ダイアログが表示され、新しいワークスペースを作成するか、このプロジェクトを既存のワークスペースに追加できるようになります。ワークスペースを作成することをおすすめします。選択したら、[Add] をクリックします。

  2. [Monitoring] のナビゲーション パネルで、 [Metrics Explorer] をクリックします。
  3. [Metric] タブが選択されていることを確認します。
  4. [Find resource type and metric] フィールドで、リソースと指標をメニューから選択するか、リソースと指標の名前を入力します。次の情報を使用して、フィールドに入力します。
    1. リソースとして、[Consumer Quota] を選択または入力します。
    2. 指標として、モニタリングする割り当ての種類に応じて、[Allocation quota usage] または [Rate quota usage] を選択または入力します。
  5. データの表示方法を変更するには、[Filter]、[Group By]、[Aggregator] の各メニューを使用します。たとえば、リソースラベルや指標ラベルごとにグループ化できます。詳しくは、指標の選択をご覧ください。

同様に、割り当て上限または超過エラーを表示するには、まずリソースタイプとして [Consumer Quota] を選択し、次に [Quota limit] または [Quota exceeded error] を選択します。

目的の割り当て使用量の情報が見つかったら、Cloud Monitoring を使用してカスタム ダッシュボードとアラートを作成し、モニタリングによって堅牢なアプリケーションを維持できます。詳細については、次のドキュメントをご覧ください。

割り当てに固有の一般的なアラート ポリシーの例については、割り当て指標の使用をご覧ください。

割り当て指標の詳細なリファレンスについては、Cloud Monitoring のリファレンス ガイドをご覧ください。

割り当て指標のサポートを確認する

すべてのサービスが Cloud Monitoring の割り当て指標をサポートしているわけではありません。サポートされているサービスに適用される割り当て指標を確認するには、グラフの作成時またはアラート ポリシーの作成時にリソースタイプとして [Consumer Quota] を選択します。割り当て指標をサポートしていないサービスは表示されません。

  • 割り当て指標をサポートしている一般的なサービスには、Compute Engine、Dataflow、Cloud Spanner、Pub/Sub、Cloud Vision、Speech-to-Text、Cloud Monitoring、Cloud Logging などがあります。

  • 割り当て指標をサポートしていない一般的なサービスには、App Engine、Cloud Storage、Cloud SQL などがあります。

割り当てのエラー

サービスの使用中にプロジェクトで割り当てを超過した場合は、サービスへのアクセス方法に基づいてエラーが返されます。

  • HTTP / REST リクエストで割り当てを超過した場合、Google Cloud は HTTP 429 TOO MANY REQUESTS ステータス コードを返します。
  • API リクエストで割り当てを超過した場合、Google Cloud は HTTP 413 REQUEST ENTITY TOO LARGE ステータス コードを返します。
  • gRPC を使用して割り当てを超過した場合、Google Cloud は ResourceExhausted エラーを返します。このエラーがどのように表示されるかは、サービスによって異なります。
  • gcloud コマンドライン ツールコマンドを使用して割り当てを超過した場合、gcloud ツールは割り当ての超過についてのエラー メッセージを出力するとともに、終了コード 1 を返します。

レート割り当ては、各サービスに固有の事前定義された時間間隔が経過するとリセットされます。詳細については、特定のサービスの割り当てに関するドキュメントをご覧ください。

今後エラーが発生した場合にアラートを受け取るようにするには、割り当て指標のモニタリングで説明されているように、特定の割り当てエラーに対するカスタム アラートを作成します。