In diesem Dokument wird beschrieben, wie Sie mit regionalen Private Service Connect-Endpunkten auf Ressourcen im Lakehouse-Laufzeitkatalog zugreifen können. Mit regionalen Endpunkten können Sie Ihre Arbeitslasten so ausführen, dass sie den Datenstandort- und Datenhoheitsanforderungen entsprechen, wobei Ihr Anfragetraffic direkt an die im Endpunkt angegebene Region weitergeleitet wird.
Übersicht
Bei regionalen Endpunkten werden Anfragen nur dann fortgesetzt, wenn die betroffene Katalogressource am vom Endpunkt angegebenen Standort vorhanden ist. Wenn Sie beispielsweise den Endpunkt https://biglake.us-central1.rep.googleapis.com verwenden, um auf einen Katalog, Namespace oder eine Tabelle zuzugreifen, wird die Anfrage nur fortgesetzt, wenn sich der Katalog in us-central1 befindet.
Im Gegensatz zu globalen Endpunkten, bei denen Anfragen an einen anderen Standort als dem der Ressource weitergeleitet werden können, beschränken regionale Endpunkte Ihre Anfragen auf den durch den Endpunkt angegebenen Standort (an dem sich die Ressource befindet). Regionale Endpunkte beenden TLS-Sitzungen (Transport Layer Security) an dem vom Endpunkt angegebenen Standort für Anfragen aus dem Internet, anderen Google Cloud -Ressourcen wie virtuellen Compute Engine-Maschinen, lokalen Diensten mit Cloud VPN oder Cloud Interconnect und Virtual Private Clouds (VPCs).
Regionale Endpunkte tragen dazu bei, den Datenstandort sicherzustellen, indem Ihre Kataloganfragen bei der Übertragung innerhalb des vom Endpunkt angegebenen Standorts bleiben. Weitere Informationen zum Umgang mit Dienstmetadaten finden Sie unter Hinweis zu Dienstdaten.
Die folgenden Katalogendpunkte im Lakehouse-Laufzeitkatalog können mit regionalen Endpunkten verwendet werden:
| Katalogendpunkt | Regionale Endpunkt-URL | Referenz |
|---|---|---|
| Apache Iceberg-REST-Katalogendpunkt | https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog |
REST |
| Apache Hive-Katalogendpunkt (Vorabversion) | https://biglake.LOCATION.rep.googleapis.com/hive/v1 |
REST |
Unterstützte Standorte
Sie können regionale Endpunkte mit dem Lakehouse-Laufzeitkatalog an den folgenden Standorten verwenden:
Asiatisch-pazifischer Raum
- Delhi
asia-south2 - Mumbai (
asia-south1)
- Delhi
Europa
- Belgien
europe-west1 - Frankfurt (
europe-west3) - London (
europe-west2) - Mailand
europe-west8 - Niederlande
europe-west4 - Paris
europe-west9 - Zürich (
europe-west6)
- Belgien
Naher Osten
- Dammam
me-central2
- Dammam
Nord- und Südamerika
- Columbus, Ohio
us-east5 - Dallas
us-south1 - Iowa
us-central1 - Las Vegas (
us-west4) - Los Angeles (
us-west2) - Montreal (
northamerica-northeast1) - Northern Virginia (
us-east4) - Oregon
us-west1 - Salt Lake City (
us-west3) - South Carolina (
us-east1) - Toronto
northamerica-northeast2
- Columbus, Ohio
Unterstützte Vorgänge und Speicherorte
Regionale Endpunkte können nur verwendet werden, um Vorgänge auszuführen, die auf Katalogressourcen zugreifen oder diese mutieren, die am vom Endpunkt angegebenen Standort repliziert werden:
- Regionale Katalogisolierung: Wenn Sie Kataloge über
https://biglake.LOCATION.rep.googleapis.comauflisten, werden nur Kataloge zurückgegeben, die sich inLOCATIONbefinden. Anfragen zum Abrufen, Aktualisieren oder Löschen eines Katalogs, Namespace oder einer Tabelle außerhalb vonLOCATIONgeben einen404 NOT_FOUND-Fehler zurück. - Standardspeicherort: Wenn Sie einen Katalog mit einem regionalen Endpunkt erstellen, muss sich der in
default_locationangegebene Cloud Storage-Bucket für einen Katalog mit mehreren Buckets (CATALOG_TYPE_BIGLAKE) oder der mit einem Katalog mit einem einzelnen Bucket (CATALOG_TYPE_GCS_BUCKET) verknüpfte Bucket inLOCATIONbefinden. - Eingeschränkte Standorte für Kataloge mit mehreren Buckets: Bei Katalogen mit mehreren Buckets können Sie zusätzliche Cloud Storage-Buckets in
restricted_locationskonfigurieren, sofern sich diese Buckets in derselben geografischen Gerichtsbarkeit (z. B. USA oder Europa) wieLOCATIONbefinden. Weitere Informationen finden Sie unter Katalog mit mehreren Buckets.
Limits und Einschränkungen
Regionale Endpunkte können nicht für die folgenden Vorgänge verwendet werden:
- Vorgänge, mit denen Kataloge, Namespaces oder Tabellen gelesen oder geändert werden, die sich außerhalb der vom Endpunkt angegebenen Region befinden.
- Multiregionales Endpunkt-Routing (z. B.
USoderEU). Bei regionalen Endpunkten muss eine einzelne Region angegeben werden.
Beachten Sie bei der Verwendung regionaler Endpunkte die folgenden Einschränkungen:
- Regionale Endpunkte unterstützen keine gegenseitige Transport Layer Security (mTLS).
- Durch die Verwendung eines regionalen Endpunkts wird nicht automatisch verhindert, dass Nutzer Ressourcen in anderen Regionen erstellen oder den globalen Endpunkt (
biglake.googleapis.com) aufrufen. Um regionale Einschränkungen zu erzwingen, konfigurieren Sie die Einschränkung „Organisationsrichtliniendienst – Ressourcenstandorte“ und schränken Sie die Nutzung globaler API-Endpunkt ein.
Tools und Abfrage-Engines konfigurieren
Sie können die Google Cloud CLI, Apache Spark, Trino und direkte REST API-Anfragen so konfigurieren, dass regionale Endpunkte verwendet werden.
gcloud-CLI
Wenn Sie die gcloud CLI so konfigurieren möchten, dass regionale Endpunkte mit gcloud biglake-Befehlen verwendet werden, legen Sie das Attribut api_endpoint_overrides/biglake auf den regionalen Endpunkt fest, den Sie verwenden möchten:
gcloud config set api_endpoint_overrides/biglake https://biglake.LOCATION.rep.googleapis.com/
Alternativ können Sie die Umgebungsvariable CLOUDSDK_API_ENDPOINT_OVERRIDES_BIGLAKE für einzelne Befehle festlegen:
CLOUDSDK_API_ENDPOINT_OVERRIDES_BIGLAKE=https://biglake.LOCATION.rep.googleapis.com/ \
gcloud biglake iceberg catalogs list --project=PROJECT_ID
Ersetzen Sie Folgendes:
LOCATION: Die unterstützte Region für Ihren Katalog, z. B.us-central1.PROJECT_ID: Projekt-ID in Google Cloud .
Apache Spark
Wenn Sie eine Spark-Sitzung für die Verbindung zum Apache Iceberg-REST-Katalogendpunkt konfigurieren, legen Sie das Attribut spark.sql.catalog.CATALOG_NAME.uri auf die regionale Endpunkt-URL fest:
from pyspark.sql import SparkSession catalog_name = "CATALOG_NAME" spark = SparkSession.builder.appName("APP_NAME") \ .config('spark.sql.defaultCatalog', 'CATALOG_NAME') \ .config(f'spark.sql.catalog.{catalog_name}', 'org.apache.iceberg.spark.SparkCatalog') \ .config(f'spark.sql.catalog.{catalog_name}.type', 'rest') \ .config(f'spark.sql.catalog.{catalog_name}.uri', 'https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog') \ .config(f'spark.sql.catalog.{catalog_name}.warehouse', 'bl://projects/PROJECT_ID/catalogs/CATALOG_ID') \ .config(f'spark.sql.catalog.{catalog_name}.header.x-goog-user-project', 'PROJECT_ID') \ .config(f'spark.sql.catalog.{catalog_name}.rest.auth.type', 'org.apache.iceberg.gcp.auth.GoogleAuthManager') \ .config(f'spark.sql.catalog.{catalog_name}.io-impl', 'org.apache.iceberg.gcp.gcs.GCSFileIO') \ .config(f'spark.sql.catalog.{catalog_name}.header.X-Iceberg-Access-Delegation', 'vended-credentials') \ .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \ .getOrCreate()
Ersetzen Sie Folgendes:
CATALOG_NAME: Ein Name für den lokalen Spark-Katalog, z. B.my_catalog.APP_NAME: Ein Name für Ihre Spark-Sitzung.LOCATION: die unterstützte Region, in der sich der Katalog befindet, z. B.us-central1.PROJECT_ID: Projekt-ID in Google Cloud .CATALOG_ID: die ID Ihres Katalogs mit mehreren Buckets.
Weitere Konfigurationsoptionen finden Sie unter Apache Iceberg-REST-Katalogendpunkt einrichten.
Trino
Wenn Sie einen Managed Service for Apache Spark-Cluster mit der Trino-Komponente erstellen, legen Sie trino-catalog:CATALOG_NAME.iceberg.rest-catalog.uri auf die regionale Endpunkt-URL fest:
gcloud dataproc clusters create CLUSTER_NAME \ --enable-component-gateway \ --region=LOCATION \ --image-version=DATAPROC_VERSION \ --network=NETWORK_ID \ --optional-components=TRINO \ --properties="\ trino-catalog:CATALOG_NAME.connector.name=iceberg,\ trino-catalog:CATALOG_NAME.iceberg.catalog.type=rest,\ trino-catalog:CATALOG_NAME.iceberg.rest-catalog.uri=https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog,\ trino-catalog:CATALOG_NAME.iceberg.rest-catalog.warehouse=bl://projects/PROJECT_ID/catalogs/CATALOG_ID,\ trino-catalog:CATALOG_NAME.iceberg.rest-catalog.biglake.project-id=PROJECT_ID,\ trino-catalog:CATALOG_NAME.iceberg.rest-catalog.rest.auth.type=org.apache.iceberg.gcp.auth.GoogleAuthManager"
Ersetzen Sie Folgendes:
CLUSTER_NAME: ein Name für Ihren Cluster.LOCATION: die unterstützte Region für Ihren Cluster und Katalog.DATAPROC_VERSION: die Image-Version von Managed Service for Apache Spark (z. B.2.2).NETWORK_ID: die Cluster-Netzwerk-ID.CATALOG_NAME: der Name Ihres Trino-Katalogs.PROJECT_ID: Projekt-ID in Google Cloud .CATALOG_ID: die ID Ihres Katalogs mit mehreren Buckets.
REST APIs
Senden Sie die REST-Anfrage nicht an den globalen Endpunkt (https://biglake.googleapis.com), sondern an den regionalen Endpunkt im folgenden Format: https://biglake.LOCATION.rep.googleapis.com.
So listen Sie beispielsweise Kataloge in LOCATION mit der Apache Iceberg REST-Katalogendpunkt-Erweiterungs-API auf:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ "https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs"
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 (biglake.googleapis.com) zu blockieren. Weitere Informationen finden Sie unter Endpunktnutzung einschränken.
Die folgende YAML-Datei für Organisationsrichtlinien lehnt Anfragen an den globalen biglake.googleapis.com-Endpunkt ab, während Anfragen an regionale Endpunkte zugelassen werden:
name: projects/PROJECT_ID/policies/gcp.restrictEndpointUsage
spec:
rules:
- values:
deniedValues:
- under:services/biglake.googleapis.com
Nächste Schritte
- Weitere Informationen zum Apache Iceberg-REST-Katalogendpunkt
- Richten Sie den Apache Iceberg REST-Katalogendpunkt ein.
- Weitere Informationen zur Identitäts- und Zugriffsverwaltung und Zugriffssteuerung