Mithilfe von Autoscaling-Skripts oder Laufzeitdiensten in Compute Engine können Sie CI/CD-Pipelines (Continuous Integration and Continuous Deployment) automatisieren. Da diese Ressourcen jedoch stark von globalen Ressourcendefinitionen abhängen, wenn sie globale API-Endpunkte abfragen, kann dieser Ansatz einen Single Point of Failure in Ihrer Multiregion-Architektur verursachen.
Um dieses Risiko zu minimieren, können Sie Ihre Dienste so konfigurieren, dass sie auf regionale Ansichten globaler Ressourcen zugreifen. Wenn Ihre Dienste GET- und LIST-Anfragen an regionalisierte Lesezugriff-Endpunkte in der genauen Region senden, in der Ihre Compute-Arbeitslasten ausgeführt werden, isolieren sie ihren API-Verbrauch von potenziellen Ausfällen in der globalen Steuerungsebene oder in anderen Regionen. Weitere Informationen zu regionalisierten Lesezugriff-Endpunkten und Best Practices für die Ausfallsicherheit finden Sie unter Regionale Ansichten für ausfallsichere Lesevorgänge der Steuerungsebene verwenden.
Hinweis
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich bei
Compute Engine authentifizieren, indem Sie eine der folgenden Optionen auswählen:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die
Compute Instance Admin (Version 1) (roles/compute.instanceAdmin.v1) IAM-Rolle für das Projekt oder die Betriebssystem-Images zu gewähren,
um die Berechtigungen zu erhalten, die
Sie für den regionalen Zugriff auf globale Ressourcen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die für den regionalen Zugriff auf globale Ressourcen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind für den regionalen Zugriff auf globale Ressourcen erforderlich:
-
Regionale Ansichten für ein Projekt abrufen:
compute.projects.getfür das Projekt -
Regionale Ansichten für Betriebssystem-Images abrufen:
compute.images.getundcompute.images.listfür das Projekt oder die Betriebssystem-Images
Sie können diese Berechtigungen gegebenenfalls auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Projektressource
Sie können regionale Ansichten Ihrer globalen Projektressource mit dem projectViews Lesezugriff-Endpunkt abrufen.
Wenn Sie den Endpunkt projectViews abfragen, gibt Compute Engine
das globale Standardcompute.Project
Ressourcenobjekt zurück. Die Ressource selbst bleibt global.
Regionale Ansicht einer Projektressource abrufen
Sie können eine regionale Ansicht Ihres globalen Projekts mit der Google Cloud CLI oder der REST API abrufen.
gcloud
Führen Sie den
gcloud compute project-views describe Befehl aus, um Ihr globales Projekt über die Steuerungsebene für eine bestimmte
Region zu beschreiben:
gcloud compute project-views describe \
--region=REGION \
--project=PROJECT_ID
Ersetzen Sie Folgendes:
REGION: die Google Cloud Region für die API-Anfrage, z. B.us-central1.PROJECT_ID: Ihre Projekt-ID.
REST
Senden Sie eine GET Anfrage an die
projectViews Methode, um Ihr globales Projekt über die Steuerungsebene für eine bestimmte
Region zu beschreiben.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/projectViews"
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.REGION: die Google Cloud Region für die API Anfrage, z. B.us-central1.
Die API gibt die Standardressourcendarstellung compute.Project direkt zurück.
{
"kind": "compute#project",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-project12345",
"commonInstanceMetadata": {
"items": [
{
"key": "example-key",
"value": "example-value"
}
]
},
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345",
"defaultServiceAccount": "SERVICE_ACCOUNT_EMAIL"
}
Betriebssystem-Image-Ressource
Sie können regionale Ansichten Ihrer globalen Betriebssystem-Image-Ressource mit dem Endpunkt mit Lesezugriff imageViews abrufen.
Wenn Sie den imageViews Endpunkt abfragen, gibt Compute Engine
das globale Standardcompute.Image
Ressourcenobjekt zurück. Die Ressource selbst bleibt global.
Regionale Liste von Betriebssystem-Image-Ressourcen abrufen
Sie können alle globalen Betriebssystem-Images, die für Ihr Projekt verfügbar sind, über einen bestimmten regionalen Endpunkt mit der gcloud CLI oder der REST API auflisten.
gcloud
Führen Sie den
gcloud compute image-views list Befehl aus, um globale Betriebssystem-Images mit einem regionalen Endpunkt aufzulisten:
gcloud compute image-views list \
--region=REGION \
--project=PROJECT_ID
Ersetzen Sie Folgendes:
REGION: die Google Cloud Region für die API Anfrage, z. B.us-central1.PROJECT_ID: Ihre Projekt-ID.
REST
Senden Sie eine GET Anfrage an die Methode imageViews, um globale Betriebssystem-Images mit einem regionalen Endpunkt aufzulisten:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews"
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.REGION: die Google Cloud Region für die API Anfrage, z. B.us-central1.
Regionale Ansicht einer Betriebssystem-Image-Ressource abrufen
Sie können Informationen zu einem bestimmten globalen Betriebssystem-Image über einen regionalen Endpunkt mit der gcloud CLI oder der REST API abrufen.
gcloud
Führen Sie
den gcloud compute image-views describe Befehl aus, um Details zu einem globalen Betriebssystem-Image mit einem regionalen Endpunkt abzurufen:
gcloud compute image-views describe IMAGE_NAME \
--region=REGION \
--project=PROJECT_ID
Ersetzen Sie Folgendes:
IMAGE_NAME: der Name der globalen Betriebssystem-Image-Ressource.REGION: die Google Cloud Region für die API Anfrage, z. B.us-central1.PROJECT_ID: Ihre Projekt-ID.
REST
Senden Sie eine GET Anfrage an die entsprechende
imageViews Methode, um Details zu einem globalen Betriebssystem-Image mit einem regionalen Endpunkt abzurufen:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews/IMAGE_NAME"
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.REGION: die Google Cloud Region für die API-Anfrage, z. B.us-central1.IMAGE_NAME: der Name der globalen Betriebssystem-Image-Ressource.
Die API gibt die Standardressourcendarstellung compute.Image direkt zurück.
{
"kind": "compute#image",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-image12345",
"sourceDisk": "https://www.googleapis.com/compute/v1/projects/my-project12345/zones/us-central1-a/disks/my-disk12345",
"sourceDiskId": "1234567890123456789",
"sourceType": "RAW",
"status": "READY",
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345/global/images/my-image12345"
}
Nächste Schritte
- Weitere Informationen zur Projektressource.
- Weitere Informationen zu Betriebssystem-Images.
- Informationen zur Fehlerbehebung bei regionalen Ansichten globaler Ressourcen