Auf regionale API-Endpunkte zugreifen

Auf dieser Seite wird beschrieben, wie Sie regionale API-Endpunkte (regionale Endpunkte) inGoogle Cloudverwenden, die für die Region me-central2 (KSA) verfügbar sind.

Regionale Endpunkte bieten Funktionen für den Datenstandort während der Übertragung, indem sie Traffic in derselben Google Cloud Region wie der Client weiterleiten und bereitstellen. Wenn ein Client einen Dienst über einen regionalen Endpunkt aufruft, wird die TLS-Sitzung des Clients in der Region beendet, die im Endpunktnamen angegeben ist. Daher sollten regionale Endpunkte nur für Arbeitslasten verwendet werden, die keine Abhängigkeiten außerhalb einer einzelnen Region oder Gerichtsbarkeit haben.

Sie können über das Internet eine Verbindung zu öffentlichen regionalen Endpunkten herstellen. Bei eingehendem Internet-Traffic wird für diese Endpunkte Best-Effort-Routing verwendet, um den Transit-Traffic lokal in der Region (oder Gerichtsbarkeit) zu halten, da sie nicht das globale Google Front End (GFE) verwenden. Stattdessen werden sie in IP-Adressen aufgelöst, die nur an den Peering-Punkten angekündigt werden, die der ausgewählten Region am nächsten sind.

Ein Data Engineer, der in Saudi-Arabien arbeitet, kann seinen Client beispielsweise so konfigurieren, dass BigQuery in der Region me-central2 (Dammam) verwendet wird. Dazu verwendet er den regionalen Dienstendpunkt bigquery.me-central2.rep.googleapis.com. Der Traffic wird über die Standardstufe weitergeleitet und die TLS-Sitzung von ihrem Client wird in me-central2 beendet.

In diesem Szenario stammt der öffentliche VIP, der dem regionalen Dienstendpunkt entspricht, aus einem IP-Präfix, das von Google an den Peering-Punkten der Region angekündigt wird. Wenn der Nutzer also mit einem lokalen Internetanbieter in Saudi-Arabien verbunden ist, kann der Traffic innerhalb des Zuständigkeitsbereichs des Anbieters weitergeleitet werden.

Format des regionalen Endpunkts

Regionale Endpunkte haben das folgende Format:

SERVICE_NAME.REGION.rep.googleapis.com

Die Platzhalterwerte sind so definiert:

  • SERVICE_NAME: Ein unterstützter Dienstendpunktname, z. B. bigquery.
  • REGION: Eine unterstützte Google Cloud Region, z. B. me-central2.

Das folgende Beispiel zeigt einen vollständigen regionalen Endpunkt für BigQuery:

bigquery.me-central2.rep.googleapis.com

Unterstützte Regionen und Dienste

Regionale Endpunkte werden in den folgenden Regionen unterstützt:

Name der Region Standort
me-central2 Dammam, Saudi-Arabien

Regionale Endpunkte werden von den folgenden Diensten unterstützt:

Dienstname Regionaler Endpunkt
Artifact Registry artifactregistry.me-central2.rep.googleapis.com
apt.me-central2.rep.pkg.dev
docker.me-central2.rep.pkg.dev
go.me-central2.rep.pkg.dev
googet.me-central2.rep.pkg.dev
kfp.me-central2.rep.pkg.dev
maven.me-central2.rep.pkg.dev
npm.me-central2.rep.pkg.dev
python.me-central2.rep.pkg.dev
yum.me-central2.rep.pkg.dev
BigQuery bigquery.me-central2.rep.googleapis.com
bigquerydatatransfer.me-central2.rep.googleapis.com
bigquerymigration.me-central2.rep.googleapis.com
bigqueryreservation.me-central2.rep.googleapis.com
bigquerystorage.me-central2.rep.googleapis.com
Bigtable bigtable.me-central2.rep.googleapis.com
Cloud Key Management Service (Cloud KMS) cloudkms.me-central2.rep.googleapis.com
Cloud Logging logging.me-central2.rep.googleapis.com
Spanner spanner.me-central2.rep.googleapis.com
Cloud Storage storage.me-central2.rep.googleapis.com
Dataflow dataflow.me-central2.rep.googleapis.com
Dataproc dataproc.me-central2.rep.googleapis.com
Pub/Sub pubsub.me-central2.rep.googleapis.com

Client für den Zugriff auf regionale Endpunkte über das öffentliche Internet konfigurieren

Wenn Sie regionale Endpunkte über das öffentliche Internet verwenden möchten, müssen Sie zuerst Ihren Client (z. B. die Google Cloud CLI oder eine Google Cloud SDK-Clientbibliothek) so konfigurieren, dass er eine Verbindung zu einem bestimmten regionalen Endpunkt herstellt.

gcloud CLI konfigurieren

Standardmäßig verwendet die gcloud CLI globale Dienstendpunkte wie bigquery.googleapis.com. Wenn Sie einen regionalen Dienstendpunkt verwenden möchten, müssen Sie die gcloud CLI so konfigurieren, dass sie diese verwendet. Führen Sie dazu die folgenden Schritte aus.

  1. Wenn ein unterstützter Dienst noch nicht aktiviert wurde, aktivieren Sie ihn mit dem folgenden Befehl:

    gcloud services enable SERVICE_NAME

    Ersetzen Sie SERVICE_NAME durch den Namen eines unterstützten Dienstes, den Sie verwenden möchten. Beispiel:

    gcloud services enable cloudkms
  2. Wenn Sie einen regionalen Dienstendpunkt verwenden möchten, müssen Sie die gcloud CLI mit dem Befehl gcloud config set api_endpoint_overrides konfigurieren:

    gcloud config set api_endpoint_overrides/SERVICE_NAME REGIONAL_API_URL

    Ersetzen Sie die folgenden Werte durch Ihre eigenen:

    • SERVICE_NAME: Der Name des unterstützten Dienstes, den Sie verwenden möchten. Beispiel: cloudkms
    • REGIONAL_API_URL: Die URL für den jeweiligen Endpunkt. Beispiel:

      https://SERVICE_NAME.REGION_NAME.rep.googleapis.com/SERVICE_NAME/API_VERSION

      Ersetzen Sie die folgenden Werte durch Ihre eigenen:

      • REGION_NAME: Der Name der erforderlichen Google Cloud Region. Beispiel: me-central2
      • API_VERSION: Die API-Version des Dienstes, den Sie verwenden möchten. Beispiel: v1 Hinweis: Bei einigen Diensten ist dieser Parameter möglicherweise nicht erforderlich.

      Hier ein Beispiel für einen REGIONAL_API_URL-Wert:

      https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1

    Zusammengesetzt ergibt sich der folgende Beispielbefehl für Cloud KMS:gcloud config set api_endpoint_overrides

    gcloud config set api_endpoint_overrides/cloudkms https://cloudkms.me-central2.rep.googleapis.com/cloudkms/v1

Nachdem die gcloud CLI für die Verwendung eines regionalen Dienstendpunkts konfiguriert wurde, wird dieser bei zukünftigen Befehlen standardmäßig anstelle des globalen Dienstendpunkts verwendet.

Google Cloud SDK-Clientbibliotheken konfigurieren

Standardmäßig verwenden Google Cloud SDK-Clientbibliotheken globale Dienstendpunkte wie pubsub.googleapis.com. Wenn Sie einen regionalen Dienstendpunkt verwenden möchten, müssen Sie die Google Cloud SDK-Clientbibliotheken entsprechend konfigurieren.

Python

Legen Sie den Parameter api_endpoint in der ClientOptions-Klasse des google-api-core-Pakets fest:

from google.api_core.client_options import ClientOptions

options = ClientOptions(api_endpoint = "pubsub.me-central2.rep.googleapis.com")
client = pubsub_v1.PublisherClient(client_options=options)

// Alternatively
client = pubsub_v1.PublisherClient(client_options={"api_endpoint": "pubsub.me-central2.rep.googleapis.com")

Java

Verwenden Sie die Methode newBuilder der ImageAnnotatorSettings-Klasse im com.google.cloud.vision-Paket:

ImageAnnotatorSettings settings = ImageAnnotatorSettings.newBuilder()
  .setEndpoint("pubsub.me-central2.rep.googleapis.com")
  .build();
ImageAnnotatorClient client = ImageAnnotatorClient.create(settings);

Go

Verwenden Sie die Funktion WithEndpoint im ClientOptions-Paket des api-Pakets:

client, err := pubsub.NewClient(ctx, projID,
    option.WithEndpoint("pubsub.me-central2.rep.googleapis.com"), // Override endpoint

.NET

Legen Sie die Property Endpoint in der Klasse ClientBuilder des Clients im Paket Google.Cloud der Bibliothek fest, die Sie verwenden:

string region = "me-central2";
var client = new DatasetServiceClientBuilder
{
    Endpoint = $"pubsub.{region}.rep.googleapis.com"
}.Build();

Nutzung globaler API-Endpunkte einschränken

Um die Verwendung regionaler Endpunkte zu erzwingen, können Sie die Einschränkung der Organisationsrichtlinie constraints/gcp.restrictEndpointUsage verwenden, um Anfragen an den globalen API-Endpunkt zu blockieren. Weitere Informationen finden Sie unter Endpunktnutzung einschränken.