Standortendpunkte

Auf dieser Seite werden Bigtable-Standortendpunkte beschrieben. Außerdem wird erläutert, was Sie vor der Verwendung beachten sollten, und es wird gezeigt, wie Sie einen Endpunkt mit der Google Cloud CLI festlegen.

Sie können entweder einen globalen oder einen standortbezogenen Dienstendpunkt verwenden, um Anfragen an Bigtable zu senden. Standortbezogene Endpunkte für Bigtable sorgen dafür, dass die Daten einer Instanz in der Bigtable-Region gespeichert und verarbeitet werden, in der sich die Daten befinden. Möglicherweise müssen Sie Standorte für Bigtable in einer bestimmten geografischen Region verwenden, um die Sicherheits- und Complianceanforderungen Ihres Projekts zu erfüllen.

Bevor Sie dieses Dokument lesen, sollten Sie sich mit Instanzen, Clustern und Knoten und App-Profilen vertraut machen.

Zu den wichtigsten Konzepten gehören:

  • Dienstendpunkt:Ein Dienstendpunkt ist eine Basis-URL, die die Netzwerkadresse eines API-Dienstes angibt. Bigtable hat sowohl globale als auch standortbezogene Endpunkte.

  • Globaler Endpunkt:Mit einem globalen Endpunkt kann Bigtable die Daten in einer Bigtable-Instanz in jeder Region speichern und weiterleiten, die einen der Cluster der Instanz enthält. Der globale Endpunkt für die Cloud Bigtable API (Data API) ist bigtable.googleapis.com. Der Standardendpunkt der Data API greift auf den globalen Endpunkt zu.

  • Standortendpunkt: Ein Standortendpunkt erzwingt Standortbeschränkungen, damit Daten in einer bestimmten Region gespeichert und verarbeitet werden.

Sie können standortbezogene Endpunkte nur mit der Cloud Bigtable API (Data API) verwenden. Standortbezogene Endpunkte werden für die Cloud Bigtable Admin API nicht unterstützt.

Wann Standortendpunkte verwendet werden sollten

Der Vorteil der Verwendung eines Bigtable-Standortendpunkts gegenüber einem globalen Endpunkt besteht darin, dass der Standortendpunkt Standortisolation und ‑schutz bietet, um Sicherheits-, Compliance- und behördliche Anforderungen zu erfüllen.

Verwenden Sie einen Standortendpunkt, wenn der Standort Ihrer Daten eingeschränkt und kontrolliert werden muss, um gesetzliche Anforderungen zu erfüllen.

Verwenden Sie den globalen Endpunkt, wenn keine strengen Standortbeschränkungen gelten.

Überlegungen bei der Verwendung eines Standortendpunkts

Berücksichtigen Sie die folgenden Faktoren, wenn Sie einen Standortendpunkt verwenden.

Clusterstandorte

Bevor Sie einen Standortendpunkt verwenden können, müssen Sie eine Instanz mit mindestens einem Cluster in der Region erstellen, in der Sie Ihre Daten isolieren möchten. Bigtable-Standortendpunkte sind an allen Bigtable-Standorten verfügbar.

Sie können nur einen Standortendpunkt verwenden, der zu der Region gehört, in der Sie Ihre Daten isolieren möchten. Sie können beispielsweise us-west1-bigtable.googleapis.com nicht zum Bereitstellen von Anfragen verwenden, wenn sich der Cluster, auf den Sie zugreifen, in der Region us-central1 befindet.

Wenn Sie versuchen, einen Standortendpunkt für den Zugriff auf einen Cluster in einer anderen Region zu verwenden, wird die Anfrage mit dem Fehler FAILED_PRECONDITION mit einer Meldung abgelehnt, dass mit dem angegebenen Cluster und Endpunkt nicht auf Cluster zugegriffen werden kann. Eine Anfrage, die an us-west1-bigtable.googleapis.com für Cluster in us-central1 gesendet wird, schlägt beispielsweise mit FAILED_PRECONDITION fehl. Weitere Informationen zu FAILED_PRECONDITION finden Sie unter Bigtable-Statuscodes.

App-Profile

Nachdem Sie einen Standortendpunkt festgelegt haben, müssen Sie ein Anwendungsprofil verwenden, das so konfiguriert ist, dass Anfragen an einen Cluster in der Region des Endpunkts weitergeleitet werden.

Wenn Sie versuchen, ein Anwendungsprofil zu verwenden, das so konfiguriert ist, dass Schreibvorgänge nur an einen Cluster (mit Single-Cluster-Routing) oder Cluster in einer anderen Region als der Endpunkt (mit Multi-Cluster-Routing) gesendet werden, erhalten Sie die Fehlerantwort für die fehlgeschlagene Vorbedingung There are no clusters accessible through this app profile and the REGION_NAME endpoint.. Weitere Informationen zum Cluster-Routing finden Sie unter Routingrichtlinie.

Wenn Sie ein Anwendungsprofil verwenden, das für die Weiterleitung an einen beliebigen Cluster in einer Instanz für Hochverfügbarkeit (High Availability, HA) konfiguriert ist, und Sie einen standortbezogenen Endpunkt verwenden, sorgt der standortbezogene Endpunkt dafür, dass alle Anfragen nur an Cluster in dessen Region weitergeleitet werden, auch wenn die Instanz Cluster in anderen Regionen hat. Der automatische Failover ist eingeschränkt. Anfragen werden also nur von Clustern in der Region des Endpunkts verarbeitet.

Nehmen wir beispielsweise an, Sie senden Anfragen mit einem Anwendungsprofil, das für Multi-Cluster-Routing an eine Instanz mit Clustern in us-west1-a (Oregon), us-west1-b (Oregon) und us-central1-a (Iowa) konfiguriert ist. Wenn Sie diese Anfragen an den us-central1-bigtable.googleapis.com-Standortendpunkt senden, werden alle Anfragen von us-central1-a verarbeitet, auch wenn Sie das App-Profil nicht neu konfigurieren. Anfragen, die nicht von us-central1-a bearbeitet werden können, schlagen fehl.

Replikation

Standortendpunkte haben keine Auswirkungen auf die Replikation und verhindern sie auch nicht. Wenn Sie einen Standortendpunkt in Region A konfigurieren und dann Ihrer Instanz in Region B einen Cluster hinzufügen, werden Ihre Daten in Region B repliziert, genau wie bei Verwendung des globalen Endpunkts.

Wenn Sie vermeiden möchten, dass Daten in eine andere Region repliziert werden, erstellen Sie Cluster nur in der gewünschten Region.

Wenn Sie verhindern möchten, dass Nutzer in Ihrer Organisation Cluster außerhalb der Endpunktregion hinzufügen, können Sie eine Organisationsrichtlinie mit Standortbeschränkungen festlegen. Weitere Informationen finden Sie unter Ressourcenstandorte einschränken.

Verfügbarkeit

Wenn Sie Standortendpunkte verwenden, können Sie Bigtable nicht so konfigurieren, dass eine monatliche Verfügbarkeit von mindestens 99,999 % erreicht wird. Für eine monatliche Betriebszeit von mindestens 99,999 % ist ein automatisches Failover von Anfragen über Standortgrenzen hinweg erforderlich.Ein Standortendpunkt verhindert dies, da er alle Anfragen auf eine einzelne Region beschränkt. Weitere Informationen zu monatlichen Verfügbarkeitszeiträumen finden Sie im Bigtable-Service Level Agreement (SLA).

Semantik von Standortendpunkten

Das erste Segment eines Bigtable-Standortendpunktnamens ist derGoogle Cloud Regionsname. Ein Standortendpunkt hat das Format REGION-bigtable.googleapis.com, wobei REGION ein Regionsname wie northamerica-northeast2 ist.

Wenn Sie Ihre Daten beispielsweise in der Region Iowa isolieren möchten, lautet die URL des Standortendpunkts für die Region Iowa us-central1-bigtable.googleapis.com, da der Regionsname für Iowa us-central1 ist. Eine Liste der verfügbaren Regionen finden Sie unter Bigtable-Standorte.

Standortendpunkt angeben

Sie können einen Bigtable-Standortendpunkt mit der Google Cloud CLI, der cbt-CLI oder den Cloud Bigtable-Clientbibliotheken angeben.

gcloud

Führen Sie den folgenden Befehl aus, um einen örtlichen Endpunkt anzugeben und den globalen Endpunkt mit der gcloud CLI zu überschreiben:

gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/

Ersetzen Sie REGION durch die Region, für die Sie einen Standortendpunkt festlegen möchten, z. B. us-central1 oder europe-west1.

Wenn Sie beispielsweise den Standortendpunkt als us-central1 konfigurieren möchten, führen Sie den folgenden Befehl aus:

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

cbt

Zum Festlegen eines örtlichen Endpunkts und zum Überschreiben des globalen Endpunkts mit der cbt-Befehlszeile können Sie in Ihrer Anfrage die Option --data-endpoint verwenden oder der Datei ~/.cbtrc Folgendes hinzufügen. Weitere Informationen zum Erstellen einer ~/.cbtrc-Datei finden Sie in der cbt-Befehlszeilenreferenz.

data-endpoint = https://REGION-bigtable.googleapis.com/

Ersetzen Sie REGION durch die Region, für die Sie einen Standortendpunkt festlegen möchten, z. B. us-central1 oder europe-west1.

Wenn Sie beispielsweise den Standortendpunkt als us-central1 konfigurieren möchten, fügen Sie der Datei „~/.cbtrc“ Folgendes hinzu:

data-endpoint = https://us-central1-bigtable.googleapis.com/

Globalen Endpunkt angeben

gcloud

Führen Sie diesen Befehl aus, um einen standortbezogenen Endpunkt für den globalen Endpunkt neu zu konfigurieren:

gcloud config unset api_endpoint_overrides/bigtable

cbt

Wenn Sie den globalen Endpunkt angeben möchten, senden Sie Ihre Anfrage ohne die Option --data-endpoint. Wenn Sie Ihrer Datei „~/.cbtrc“ zuvor eine data-endpoint-Zeile hinzugefügt haben, löschen Sie sie.

Nutzung globaler API-Endpunkt einschränken

Um die Verwendung von standortbezogenen Endpunkten 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.

Nächste Schritte