In diesem Dokument werden die Kontingente für gleichzeitige Vorgänge für Compute Engine beschrieben.
Kontingente für gleichzeitige Vorgänge
Kontingente für gleichzeitige Vorgänge definieren die Anzahl der laufenden oder gleichzeitigen Vorgänge, die zu einem beliebigen Zeitpunkt auftreten können. Jede API-Anfrage, die eine Compute Engine-Ressource erstellt, ändert oder löscht, unterliegt einer Gleichzeitigkeitsüberprüfung, um sicherzustellen, dass die Gesamtzahl der laufenden Vorgänge zu keinem Zeitpunkt das für diesen Vorgang angegebene Limit überschreitet.
Fehler „Limit für gleichzeitige Vorgänge überschritten”
Wenn Ihr Projekt das Limit für gleichzeitige Vorgänge für einen laufenden Vorgang überschreitet, wird der Fehler 403
mit dem Grund rateLimitExceeded
angezeigt.
Die API-Antwort auf den Fehler sieht in etwa so aus:
"error": { "code": 403, "message": "Rate Limit Exceeded", "errors": [ { "message": "Rate Limit Exceeded", "domain": "usageLimits", "reason": "rateLimitExceeded", ... ... } ], "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "CONCURRENT_OPERATIONS_QUOTA_EXCEEDED", "domain": "compute.googleapis.com", "metadatas": { "containerType": "PROJECT", "containerId": "PROJECT_ID", "quotaMetric": "QUOTA_METRIC", "quotaLimit": "QUOTA_LIMIT", "operationType": "OPERATION_TYPE", "location": "global | REGION" } }, { "@type": "type.googleapis.com/google.rpc.Help", "links": [ { "description": "Concurrent operations quota documentation.", "url": "https://cloud.google.com/compute/operations-quota#concurrent_operation_limits" } ] }, ... ...
Die Fehlerdetails enthalten die folgenden Werte:
PROJECT_ID
: die ID des Projekts, in dem das Kontingent das Limit überschreitet.QUOTA_METRIC
: Der Messwert für das gleichzeitige Kontingent, der das Limit überschreitet. Mögliche Werte:compute.googleapis.com/global_concurrent_operations
compute.googleapis.com/regional_concurrent_operations
QUOTA_LIMIT
: der Grenzwertname des gleichzeitigen Kontingents. Mögliche Werte:GlobalConcurrentOperationsPerProject
GlobalConcurrentOperationsPerProjectOperationType
RegionalConcurrentOperationsPerProject
RegionalConcurrentOperationsPerProjectOperationType
OPERATION_TYPE
: den globalen oder regionalen Vorgang, für den das Kontingent das Limit überschreitet. Eine Liste der Vorgänge finden Sie unter Kontingentgruppen für gleichzeitige Vorgänge.Der Wert für
location
kann einer der folgenden sein:global
: Gibt an, dass das Limit für das globale Vorgangskontingent überschritten wurde.REGION
: Gibt die Region an, in der das Limit für das Vorgangskontingent überschritten wurde.
Die detaillierten Fehlerprotokolle werden nur über die API-Antwort zurückgegeben. Fehler im Log-Explorer sieht in etwa so aus:
"protoPayload":{ "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "Rate Limit Exceeded" } "serviceName": "compute.googleapis.com", "methodName": "METHOD_NAME", ... ... "response": { "error": { "message": "Rate Limit Exceeded", "code": 403, "errors": [ { "message": "Rate Limit Exceeded", "reason": "rateLimitExceeded", "domain": "usageLimits" } ] }, "@type": "type.googleapis.com/error" }, ... ...
Die METHOD_NAME
im Fehler steht für die API-Methode, für die das Ratelimit überschritten wurde. Beispiel: v1.compute.instances.stop
.
Kontingentgruppen für gleichzeitige Vorgänge
In diesem Abschnitt werden die Limits für verschiedene laufende oder gleichzeitige Compute Engine-Vorgänge beschrieben.
Kontingente für globale Vorgänge
Gleichzeitige globale Vorgänge verbrauchen ein globales Limit, das für Vorgangstypen pro Projekt angegeben ist. In der folgenden Tabelle sind die globalen Kontingente für laufende Vorgänge und die entsprechenden Messwerte aufgeführt.
Sie können das Kontingent für globale Vorgänge mit der Google Cloud Console, der Google Cloud CLI und der Service Usage API aufrufen. Weitere Informationen finden Sie unter Kontingente und Limits für gleichzeitige Vorgänge aufrufen.
Kontingentname Beschreibung |
Messwertname | Methoden, die dieses Kontingent verbrauchen |
---|---|---|
Concurrent global operations per project Beschränkt die Gesamtzahl der gleichzeitigen globalen Vorgänge für ein Projekt. Rufen Sie dieses Kontingent in der Google Cloud Console auf: |
|
Alle globalen Methoden Die HTTP-Anfrage-URL enthält für diese Methoden |
Concurrent global operations per project operation type Begrenzt die Anzahl gleichzeitiger Vorgänge pro Projekt und Vorgangstyp. Rufen Sie dieses Kontingent in der Google Cloud Console auf: |
|
Alle globalen Methoden Das Standardkontingent für gleichzeitige Vorgänge beträgt
|
Kontingente für regionale Vorgänge
Gleichzeitige regionale Vorgänge verbrauchen ein regionales Limit, das für Vorgangstypen pro Projekt in einer bestimmten Region angegeben ist.
In der folgenden Tabelle sind die regionalen Kontingente für laufende Vorgänge und die entsprechenden Messwerte aufgeführt.
Sie können das Kontingent für regionale Vorgänge mit der Google Cloud Console, der Google Cloud CLI und der Service Usage API aufrufen. Weitere Informationen finden Sie unter Kontingente und Limits für gleichzeitige Vorgänge aufrufen.
Kontingentname Beschreibung |
Messwertname | Methoden, die dieses Kontingent verbrauchen |
---|---|---|
Concurrent regional operations per project
Beschränkt die Gesamtzahl der gleichzeitigen regionalen Vorgänge für ein Projekt. Rufen Sie dieses Kontingent in der Google Cloud Console auf: |
|
Alle regionalen Methoden Die HTTP-Anfrage-URL enthält für diese Methoden |
Concurrent regional operations per project operation type
Begrenzt die Anzahl gleichzeitiger regionaler Vorgänge pro Projekt und Vorgangstyp. Rufen Sie dieses Kontingent in der Google Cloud Console auf: |
|
Alle regionalen Methoden Das Standardkontingent für gleichzeitige Vorgänge beträgt
|
Kontingente und Limits für gleichzeitige Vorgänge aufrufen
So rufen Sie die Kontingentnutzung und -limits in einem Projekt auf:
Console
Öffnen Sie in der Google Cloud Console die Seite Kontingente.
Auf der Seite Kontingente sind alle Kontingentnutzungen und -limits für Ihr Projekt aufgelistet. Standardmäßig werden die am häufigsten verwendeten Kontingente in der Liste sortiert. So können Sie leicht feststellen, bei welchen Limits die Gefahr besteht, dass sie überschritten werden.
Wenn Sie die Liste filtern und die Nutzung und das Limit für ein bestimmtes Kontingent aufrufen möchten, wählen Sie im Feld Filter die Option Kontingent oder Messwert aus.
Wählen Sie beispielsweise das Kontingent
Concurrent global operations per project operation type
aus, um die Kontingentnutzung für globale Methoden nach Vorgangstyp aufzurufen.Wenn Sie das Kontingent für einen bestimmten Vorgang filtern möchten, fügen Sie der Filterabfrage Dimensionen hinzu und wählen Sie operation_type aus. Wählen Sie beispielsweise
firewalls_insert
aus, um die Kontingentnutzung und das Limit für den Vorgangfirewalls.insert
aufzurufen.
gcloud
Mit der Google Cloud CLI können Sie die Nutzung und das Limit für Kontingente für gleichzeitige Vorgänge aufrufen.
Für diesen Ansatz müssen Sie die Komponente Alphabefehle installiert haben. Wenn Sie Cloud Shell für die Interaktion mit Google Cloud verwenden, wird das Google Cloud CLI für Sie installiert.
Verwenden Sie den folgenden Befehl, um das Kontingent aufzurufen:
gcloud alpha services quota list \
--service=compute.googleapis.com \
--consumer=projects/PROJECT_ID
Ersetzen Sie PROJECT_ID
durch die ID des Projekts, für das Sie das Kontingent aufrufen möchten.
Best Practices
In der folgenden Checkliste sind die Best Practices zur Reduzierung von Fehlern bei unzureichenden Limits für gleichzeitige Vorgänge zusammengefasst:
- Auf Fertigstellung von Vorgängen warten
- Fehlercodes nutzen, keine Fehlermeldungen
- Clientseitige Wiederholungsversuche minimieren, um API-Ratenbegrenzungen einzuhalten