Auf regionale Google APIs über öffentliche Endpunkte zugreifen

Sie können öffentlich über das Internet oder privat aus Ihrer Virtual Private Cloud auf regionale und multiregionale Endpunkte zugreifen. In diesem Dokument wird erläutert, wie Sie öffentlich auf die Endpunkte zugreifen.

Wenn Sie über das öffentliche Internet auf regionale Endpunkte zugreifen, wird der Traffic über die Standard-Netzwerkstufe Google Cloud weitergeleitet. Die Verbindung, einschließlich der TLS-Terminierung, wird in der Zielregion verarbeitet.

Öffentlichen Internetzugriff auf die APIs konfigurieren

So konfigurieren Sie den öffentlichen Internetzugriff auf regionale API-Endpunkte:

Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr VPC-Netzwerk zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines regionalen Endpunkts benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Hinweis

  1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

    $ gcloud init

    Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  2. Aktivieren Sie die Compute Engine API, die Network Connectivity Center API und die Cloud DNS API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Informationen zum Zuweisen von Rollen.

    APIs aktivieren

  3. Aktivieren Sie außerdem die API für den Zieldienst, auf den Sie über den Endpunkt zugreifen möchten. Wenn Sie beispielsweise auf spanner.me-central2.rep.googleapis.com zugreifen möchten, aktivieren Sie die Cloud Spanner API.

  4. Achten Sie darauf, dass die Firewallregeln für ausgehenden Traffic Traffic zum Endpunkt zulassen. Die Standardkonfiguration der Firewall für ein VPC-Netzwerk erlaubt diesen Traffic, da er eine implizierte Regel zum Zulassen von ausgehendem Traffic enthält. Achten Sie darauf, dass Sie keine Regel für ausgehenden Traffic mit einer höheren Priorität erstellt haben, die den Traffic blockiert.

Endpunkt identifizieren

Bestimmen Sie den Dienst und die spezifische Region oder Multiregion, die für Ihre Arbeitslast erforderlich sind.

  • Regionale Endpunkte haben das folgende Format: SERVICE.REGION.rep.googleapis.com

  • Multiregionale Endpunkte haben das folgende Format: SERVICE.MULTIREGION.rep.googleapis.com

DNS-Konfiguration ändern

Wenn in Ihrer Umgebung öffentliches DNS für googleapis.com mit einer privaten DNS-Zone überschrieben wird, was in Hybridkonfigurationen üblich ist, gehen Sie so vor:

Google Cloud CLI konfigurieren

Verwenden Sie die Google Cloud CLI, um den Standard-API-Endpunkt für bestimmte Dienste zu überschreiben. Im folgenden Beispiel wird mit dem gcloud config set Befehl eine Überschreibung für Cloud Storage in us-central1 und eine Überschreibung für Compute Engine in europe-west1 festgelegt.

# Set an override for Cloud Storage in us-central1.

gcloud config set api_endpoint_overrides/storage https://storage.us-central1.rep.googleapis.com/

# Set an override for Compute Engine in europe-west1.

gcloud config set api_endpoint_overrides/compute https://compute.europe-west1.rep.googleapis.com/compute/v1/

Nachdem Sie die Überschreibung festgelegt haben, verwenden die gcloud CLI-Befehle für diesen Dienst den regionalen Endpunkt. Verwenden Sie den gcloud config unset Befehl, um zum Standard-Endpunkt zurückzukehren:

gcloud config unset api_endpoint_overrides/SERVICE

Client-SDKs aktualisieren

In den meisten Google Cloud Clientbibliotheken können Sie bei der Clientinitialisierung einen benutzerdefinierten Endpunkt angeben.

Python

Verwenden Sie client_options mit api_endpoint.

from google.cloud import SERVICE
from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint='https://SERVICE.REGION.rep.googleapis.com')
SERVICE_client = SERVICE.Client(client_options=options, project='PROJECT_ID')
# ... use SERVICE_client as usual

Ersetzen Sie Folgendes:

  • SERVICE: der Name Ihres Dienstes
  • REGION: die Region für Ihren Endpunkt
  • PROJECT_ID: die ID Ihres Google Cloud Projekts

Go

Verwenden Sie option.WithEndpoint bei der Clienterstellung.

client, err := SERVICE.NewClient(ctx, projID, 
option.WithEndpoint("https://SERVICE-my-endpoint.REGION.rep.googleapis.com"), // Override endpoint

Ersetzen Sie Folgendes:

  • SERVICE: der Name Ihres Dienstes
  • REGION: die Region für Ihren Endpunkt

.NET

Konfigurieren Sie Endpoint im Client Builder.

Java

Verwenden Sie setEndpoint im Builder für die Diensteinstellungen.

Im folgenden Beispiel wird Java verwendet, um eine Verbindung zum Endpunkt für die Cloud Vision API herzustellen.

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
.setEndpoint("https://vision.REGION.rep.googleapis.com")
.build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

Referenzdokumentation

Nächste Schritte