このドキュメントでは、Compute Engine のレートに基づく割り当てについて説明します。この割り当てにより、Compute Engine API メソッドに対して行えるリクエストの数を規定します。
レートに基づく割り当て
レートに基づく割り当て(API レート制限または API 割り当てとも呼ばれます)は、Compute Engine API に対して行えるリクエスト数を定義します。この割り当てはプロジェクトごとに適用されます。各割り当ては、1 つ以上の Compute Engine API メソッドのグループに適用されます。gcloud CLI または Google Cloud コンソールを使用する場合も、API に対してリクエストを行うため、そのリクエスト数もレートに基づく割り当ての対象になります。また、サービス アカウントを使用して API にアクセスする場合も、レートに基づく割り当てに反映されます。
Google では、グループごとに分単位(60 秒)でレートに基づく割り当てが適用されます。つまり、プロジェクトが 60 秒以内に API リクエストの最大数に達した場合は、そのレートの割り当てが補充されるのを待ってから、そのグループで追加のリクエストを行う必要があります。プロジェクトがレートに基づく割り当てを超えると、理由 rateLimitExceeded
で 403 エラーが発生します。このエラーを解決するには、1 分ほど待ってから再度リクエストを行います。割り当ては、次の間隔の始めに補充されているはずです。
Compute Engine API に対して行えるリクエストの数は、次の表に示すように API 割り当てによって定義されます。各グループは個別にカウントされるため、グループごとに割り当て上限まで同時に使用できます。
グローバル メソッドのレートに基づく割り当て
以降のセクションでは、グローバル Compute Engine API メソッドに対して実行できるリクエストの数を定義する割り当てについて説明します。
グローバル メソッドの簡素化された API 割り当て
Compute Engine API 割り当ての検出と管理性を向上させるため、Google Cloud では、指標をより少ない割り当てに統合することで、割り当て指標の数を減らしました。また、これらの簡素化された割り当て指標では、割り当てごとに上限が引き上げられます。
グローバル メソッドと、各メソッドの費用を追跡する割り当て指標の一覧については、Compute Engine API 割り当て指標のリファレンスをご覧ください。
次の表に、Compute Engine API の簡素化された API 割り当て指標を示します。
割り当て 割り当ての説明 |
指標名 |
---|---|
1 分あたりの読み取りリクエスト数(GlobalReadsPerMinutePerProject )グローバル get メソッドと list メソッドの割り当て。 |
compute.googleapis.com/global_reads |
1 分あたりの書き込みリクエスト数(GlobalWritesPerMinutePerProject )他の割り当て指標に含まれないグローバル書き込みメソッドの割り当て。 |
compute.googleapis.com/global_writes |
1 分あたりの list usable リクエスト数(GlobalListUsablePerMinutePerProject )グローバル ListUsable メソッドの割り当て。 |
compute.googleapis.com/list_usable_requests |
1 分あたりのキャッシュ無効化リクエスト数(GlobalCacheInvalidationRequestsPerMinutePerProject )グローバル UrlMapsService.InvalidateCache メソッドの割り当て。 |
compute.googleapis.com/global_cache_invalidation_requests |
フィルタされたリストのコストのオーバーヘッド(ListRequestsFilterCostOverheadPerMinutePerProject )フィルタを使用した Google Cloud では、 |
compute.googleapis.com/filtered_list_cost_overhead プロジェクトあたりのレート: 1 リージョンあたり毎分 75 万個のリソースがリスト リクエストから除外されます。割り当ては 1 万リソースごとに課金されるため、 Google Cloud コンソールでこの割り当て上限をクエリすると、上限は 75(750k/10k)と表示されます。 |
1 分あたりのリクエスト数(GlobalRequestsPerMinutePerProject )すべてのグローバル読み取り / 書き込みリクエストの割り当て。 |
compute.googleapis.com/global_requests |
グローバル メソッドの以前の API 割り当て
次の表に、グローバル メソッドのすべての Compute Engine API 割り当てを示します。
割り当て 割り当ての説明 |
指標名 |
---|---|
1 分あたりのクエリ数(defaultPerMinutePerProject )他の割り当て指標に含まれないグローバル リスト メソッドとミューテーション メソッドの割り当て。 次の
|
compute.googleapis.com/default |
読み取りリクエスト(以前のバージョン)(ReadRequestsPerMinutePerProject )グローバル *.get メソッドの割り当て。 |
compute.googleapis.com/read_requests |
リスト リクエスト(ListRequestsPerMinutePerProject )グローバル *.list メソッドの割り当て。 |
compute.googleapis.com/list_requests |
オペレーション読み取りリクエスト(OperationReadRequestsPerMinutePerProject )globalOperations.get メソッドの割り当て。 |
compute.googleapis.com/operation_read_requests |
グローバル リソースのミューテーション リクエスト(GlobalResourceWriteRequestsPerMinutePerProject )images.delete 、images.deprecate 、images.insert 、images.setLabels 、snapshots.delete 、snapshots.insert 、snapshots.setLabels 、machineImages.insert 、machineImages.delete メソッドの割り当て。 |
compute.googleapis.com/global_resource_write_requests |
大量のミューテーション リクエスト(HeavyWeightWriteRequestsPerMinutePerProject )interconnects リソースの patch 、delete 、insert の各メソッド用の割り当て。 |
compute.googleapis.com/heavy_weight_write_requests |
大量の読み取りリクエスト(HeavyWeightReadRequestsPerMinutePerProject )*.aggregatedList メソッドの割り当て。 |
compute.googleapis.com/heavy_weight_read_requests |
メソッドごとの割り当てがあるグローバル API には、次の割り当てが適用されます。
割り当て 割り当ての説明 |
指標名 | デフォルトの上限 |
---|---|---|
ライセンス挿入リクエスト licenses.insert メソッドの割り当て。 |
compute.googleapis.com/license_insert_requests |
|
プロジェクト セットの共通インスタンス メタデータ リクエスト projects.setCommonInstanceMetadata メソッド用の割り当て。 |
compute.googleapis.com/project_set_common_instance_metadata_requests |
プロジェクトあたりの割り当て(ProjectSetCommonInstanceMetadataRequestsPerMinutePerProject ): 36 リクエスト/分 |
リージョン メソッドとゾーンメソッドのレートに基づく割り当て
以降のセクションでは、リージョン指標を使用するメソッドに適用されるすべての割り当てについて説明します。
リージョン メソッドとゾーンメソッドの簡素化された API 割り当て
次の表に、Compute Engine API のリージョン メソッドとゾーンメソッドの簡素化された割り当てを示します。リージョン メソッドとゾーンメソッドの完全なリストと、各メソッドの使用状況を追跡する割り当て指標については、Compute Engine API の割り当て指標のリファレンスをご覧ください。
割り当て 割り当ての説明 |
指標名 |
---|---|
リージョンごとの 1 分あたりの読み取りリクエスト数(ReadRequestsPerMinutePerProjectPerRegion )リージョンとゾーンの get メソッドと list メソッドの割り当て。 |
compute.googleapis.com/reads_per_region |
リージョンあたりの書き込みリクエスト数(WritesPerMinutePerProjectPerRegion )他の割り当て指標に含まれないリージョンとゾーンの書き込みメソッドの割り当て。 |
compute.googleapis.com/writes_per_region |
リージョンあたりの list usable リクエスト(ListUsablePerMinutePerProjectPerRegion )リージョンとゾーンの ListUsable メソッドの割り当て。 |
compute.googleapis.com/list_usable_requests_per_region |
リージョンごとのフィルタされたリストのコストのオーバーヘッド フィルタを使用した Google Cloud では、 |
compute.googleapis.com/filtered_list_cost_overhead_per_region プロジェクトあたりのレート( ListRequestsFilterCostOverheadPerMinutePerProjectPerRegion ): 1 リージョンあたり毎分 75 万個のリソースがリスト リクエストから除外されます。割り当ては 1 万リソースごとに課金されるため、 Google Cloud コンソールでこの割り当て上限をクエリすると、上限は 75(750k/10k)と表示されます。 |
1 リージョン 1 分あたりのリクエスト数(RequestsPerMinutePerProjectPerRegion )すべてのリージョン読み取り / 書き込みリクエストの割り当て。 |
compute.googleapis.com/requests_per_region |
リージョン メソッドの以前の API 割り当て
次の表に、リージョン メソッドとゾーンメソッドのすべての Compute Engine API 割り当てを示します。
割り当て 割り当ての説明 |
指標名 |
---|---|
クエリ(QueriesPerMinutePerRegion )Compute Engine リソースを作成、変更、削除するリージョン メソッドとゾーンメソッド用の割り当て。たとえば、 instances.insert 、disks.update 、instances.delete の各メソッドです。次の
|
compute.googleapis.com/default_per_region |
読み取りリクエスト(以前のバージョン)(ReadRequestsPerMinutePerRegion )リージョンとゾーンの get メソッド(autoscalers.get 、disks.get 、instances.get 、machineTypes.get など)の割り当て。 |
compute.googleapis.com/read_requests_per_region |
リスト リクエスト(ListRequestsPerMinutePerRegion )リージョンとゾーンの list メソッド(autoscalers.list 、disks.list 、instances.list 、machineTypes.list など)の割り当て。 |
compute.googleapis.com/list_requests_per_region |
フィルタされたリストのコストのオーバーヘッド フィルタを使用した Google Cloud では、 |
compute.googleapis.com/filtered_list_cost_overhead_per_region プロジェクトあたりのレート( ListRequestsFilterCostOverheadPerMinutePerProjectPerRegion ): 1 リージョンあたり毎分 75 万個のリソースがリスト リクエストから除外されます。割り当ては 1 万リソースごとに課金されるため、 Google Cloud コンソールでこの割り当て上限をクエリすると、上限は 75(750k/10k)と表示されます。 |
オペレーション読み取りリクエスト(OperationReadRequestsPerMinutePerRegion )regionOperations.get メソッドと zoneOperations.get メソッドの割り当て。 |
compute.googleapis.com/operation_read_requests_per_region |
リージョンごとのグローバル リソースのミューテーション リクエスト(GlobalResourceWriteRequestsPerMinutePerProjectPerRegion )disks.createSnapshot メソッドと regionDisks.createSnapshot メソッドの割り当て。 |
compute.googleapis.com/global_resource_write_requests_per_region |
インスタンスのシリアルポート出力取得リクエスト(GetSerialPortOutputRequestsPerMinutePerProjectPerRegion )instances.getSerialPortOutput メソッドの割り当て。 |
compute.googleapis.com/get_serial_port_output_requests_per_region |
大量の読み取りリクエスト(HeavyWeightReadRequestsPerMinutePerRegion )regionOperations.wait 、zoneOperations.wait 、regionNetworkFirewallPolicies.getEffectiveFirewalls の各メソッドの割り当て。 |
compute.googleapis.com/heavy_weight_read_requests_per_region |
リージョンあたりの大量のミューテーション リクエスト(HeavyWeightWriteRequestsPerMinutePerProjectPerRegion )interconnectAttachments リソースの patch 、delete 、insert の各メソッドの割り当てと networks.updatePeering メソッドの割り当て。 |
compute.googleapis.com/heavy_weight_write_requests_per_region |
インスタンスのシミュレート メンテナンス イベント リクエスト(SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion )instances.simulateMaintenanceEvent メソッドの割り当て。 |
compute.googleapis.com/simulate_maintenance_event_requests_per_region |
インスタンスのリファラー リスト リクエスト(InstanceListReferrersRequestsPerMinutePerProjectPerRegion )instances.listReferrers メソッドの割り当て。 |
compute.googleapis.com/instance_list_referrers_requests_per_region |
ネットワーク エンドポイントの書き込みリクエスト(NetworkEndpointWriteRequestsPerMinutePerProjectPerRegion )networkEndpointGroups.attachNetworkEndpoints メソッドと networkEndpointGroups.detachNetworkEndpoints メソッドの割り当て。 |
compute.googleapis.com/network_endpoint_write_requests_per_region |
ネットワーク エンドポイント リスト リクエスト(NetworkEndpointListRequestsPerMinutePerProjectPerRegion )networkEndpointGroups.listNetworkEndpoints メソッドの割り当て。 |
compute.googleapis.com/network_endpoint_list_requests_per_region |
リージョン ネットワーク エンドポイントの書き込みリクエスト(RegionalNetworkEndpointWriteRequestsPerMinutePerProjectPerRegion )regionNetworkEndpointGroups.attachNetworkEndpoints メソッドと regionNetworkEndpointGroups.detachNetworkEndpoints メソッドの割り当て。 |
compute.googleapis.com/regional_network_endpoint_write_requests_per_region |
リージョン ネットワーク エンドポイント リスト リクエスト(RegionalNetworkEndpointListRequestsPerMinutePerProjectPerRegion )regionNetworkEndpointGroups.listNetworkEndpoints メソッドの割り当て。 |
compute.googleapis.com/regional_network_endpoint_list_requests_per_region |
レートに基づく割り当ての増加をリクエストする
API リクエストの割り当てを増やす必要がある場合は、 Google Cloud コンソールから API 割り当ての引き上げをリクエストできます。手順については、割り当ての調整をリクエストするをご覧ください。
ベスト プラクティス
Compute Engine API のベスト プラクティスに従い、レートに基づく割り当てを維持することで、レートに基づく割り当ての影響を軽減します。
次のステップ
- Monitoring API の使用状況について学習する。
- 割り当てアラートの設定方法を確認する。