Auf regionale API-Endpunkte zugreifen

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

Regionale Endpunkte bieten Funktionen zur Datenresidenz 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 verwenden diese Endpunkte Best-Effort-Routing, um den Traffic während der Übertragung 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 in Saudi-Arabien kann beispielsweise seinen Client so konfigurieren, dass er BigQuery in der me-central2 Region (Dammam) verwendet, indem er den regionalen Dienstendpunkt bigquery.me-central2.rep.googleapis.com verwendet. Der Traffic wird über die Standardstufe weitergeleitet und die TLS-Sitzung von seinem Client wird in me-central2 beendet.

In diesem Szenario stammt die öffentliche VIP, die 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 seiner Gerichtsbarkeit weitergeleitet werden.

Format regionaler Endpunkte

Regionale Endpunkte verwenden 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
Managed Service for Apache Spark 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 gcloud config set api_endpoint_overrides Befehl 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 spezifischen 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: Für einige Dienste ist dieser Parameter möglicherweise nicht erforderlich.

      Das folgende Beispiel zeigt einen REGIONAL_API_URL-Wert:

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

    Zusammengesetzt sieht der Befehl gcloud config set api_endpoint_overrides für Cloud KMS so aus:

    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 so konfigurieren, dass sie diese verwenden.

Python

Legen Sie den api_endpoint Parameter 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 newBuilder Methode 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 WithEndpoint Funktion im ClientOptions Paket des Pakets api:

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

.NET

Legen Sie die Eigenschaft Endpoint in der Klasse ClientBuilder des Clients im Paket Google.Cloud der verwendeten Bibliothek fest:

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

Nutzung globaler API-Endpunkt 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.