Regionale und globale Endpunkte
Auf dieser Seite werden Bigtable-Endpunkte beschrieben. Außerdem wird erläutert, was Sie vor der Verwendung beachten sollten, und es wird gezeigt, wie Sie einen Endpunkt mit der cbt-Befehlszeile festlegen.
Wenn Sie Anfragen an Bigtable senden möchten, können Sie entweder einen globalen oder einen regionalen Dienstendpunkt verwenden. Regionale 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 regionale Endpunkte 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: Eine Basis-URL, die die Netzwerkadresse eines API-Dienstes angibt. Bigtable hat sowohl globale als auch regionale Endpunkte.
Globaler Endpunkt: Mit dieser Option 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. Über den Standard-Data API-Endpunkt wird auf den globalen Endpunkt zugegriffen.Regionaler Endpunkt: Erzwingt regionale Einschränkungen, damit Bigtable Daten in einer bestimmten Region speichert und verarbeitet. Sie können regionale Endpunkte nur mit der Cloud Bigtable API (Data API) verwenden. Bigtable unterstützt keine regionalen Endpunkte für die Cloud Bigtable Admin API.
Wann sollten regionale Endpunkte verwendet werden?
Der Vorteil der Verwendung eines regionalen Bigtable-Endpunkts gegenüber einem globalen Endpunkt besteht darin, dass der regionale Endpunkt eine regionale Isolierung und einen regionalen Schutz bietet, um Sicherheits-, Compliance- und gesetzliche Anforderungen zu erfüllen.
Regionale Endpunkte unterstützen jedoch nicht Data Boost oder die Cloud Bigtable Admin API. Außerdem können Sie Bigtable nicht so konfigurieren, dass eine monatliche Uptime von mindestens 99,999% erreicht wird, wenn Sie regionale Endpunkte verwenden. Weitere Informationen finden Sie im Abschnitt Überlegungen zur Verwendung eines regionalen Endpunkts in diesem Dokument.
Wann globale Endpunkte verwendet werden sollten
Verwenden Sie in den folgenden Fällen einen globalen Endpunkt:
- Sie haben keine regionalen Einschränkungsanforderungen, die die Verwendung eines regionalen Endpunkts erfordern.
- Sie müssen Data Boost verwenden.
- Sie müssen die Cloud Bigtable Admin API verwenden.
- Sie benötigen eine monatliche Verfügbarkeit von mindestens 99,999%.
Überlegungen zur Verwendung eines regionalen Endpunkts
Wenn Sie einen regionalen Endpunkt verwenden, sollten Sie die folgenden Faktoren berücksichtigen:
Clusterstandorte
Bevor Sie einen regionalen Endpunkt verwenden können, müssen Sie eine Instanz mit mindestens einem Cluster in der Region erstellen, in der Sie Ihre Daten isolieren möchten. Regionale Bigtable-Endpunkte sind in ausgewählten Bigtable-Regionen verfügbar. Eine Liste der verfügbaren Regionen finden Sie unter Regionale Dienstendpunkte.
Sie können nur einen regionalen Endpunkt verwenden, der zu der Region gehört, in der Sie Ihre Daten isolieren möchten. Wenn sich ein Cluster beispielsweise in der Region us-central1 befindet, können Sie bigtable.us-west1.rep.googleapis.com nicht verwenden, um Anfragen zu verarbeiten.
Wenn Sie versuchen, einen regionalen Endpunkt für den Zugriff auf einen Cluster in einer anderen Region zu verwenden, lehnt Bigtable die Anfrage mit dem Fehler FAILED_PRECONDITION ab. Die Fehlermeldung gibt an, dass mit dem angegebenen Cluster und Endpunkt nicht auf Cluster zugegriffen werden kann. Weitere Informationen zu dieser Fehlermeldung finden Sie unter Bigtable-Statuscodes.
Anwendungsprofile
Nachdem Sie einen regionalen Endpunkt 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 an Cluster in einer anderen Region als der Endpunkt (mit Multi-Cluster-Routing) gesendet werden, erhalten Sie die Fehlermeldung FAILED_PRECONDITION. 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 regionalen Endpunkt verwenden, sorgt der regionale 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 regionalen Endpunkt bigtable.us-central1.rep.googleapis.com senden, werden alle Anfragen von us-central1-a verarbeitet, auch wenn Sie das Anwendungsprofil nicht neu konfigurieren. Anfragen, die nicht von us-central1-a bearbeitet werden können, schlagen fehl.
Replikation
Regionale Endpunkte haben keinen Einfluss auf die Replikation und verhindern sie auch nicht. Wenn Sie einen regionalen Endpunkt in Region A konfigurieren und dann Ihrer Instanz in Region B einen Cluster hinzufügen, werden Ihre Daten in Region B repliziert, als ob Sie den globalen Endpunkt verwendet hätten.
Um die Replikation von Daten in eine andere Region zu vermeiden, 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.
Verfügbarkeit
Wenn Sie regionale Endpunkte verwenden, können Sie Bigtable nicht so konfigurieren, dass eine monatliche Betriebszeit von mindestens 99,999 % erreicht wird. Für eine monatliche Betriebszeit von mindestens 99,999 % ist ein automatisches Failover von Anfragen über regionale Grenzen hinweg erforderlich. Ein regionaler Endpunkt verhindert den automatischen Failover, da alle Anfragen auf eine einzelne Region beschränkt werden. Weitere Informationen zu monatlichen Verfügbarkeitsprozenten finden Sie im Service Level Agreement (SLA) für Bigtable.
Semantik regionaler Endpunkte
Ein regionaler Endpunkt hat das Format bigtable.REGION.rep.googleapis.com, wobei REGION ein Google Cloud Regionsname wie northamerica-northeast2 ist.
Wenn Sie Ihre Daten beispielsweise in der Region Iowa isolieren möchten, da der Regionsname für Iowa us-central1 lautet, ist die regionale Endpunkt-URL für die Region Iowa bigtable.us-central1.rep.googleapis.com.
Regionalen Endpunkt angeben
Sie können einen regionalen Bigtable-Endpunkt mit der cbt-Befehlszeile oder den Cloud Bigtable-Clientbibliotheken angeben.
cbt
Zum Festlegen eines regionalen 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://bigtable.REGION.rep.googleapis.com/
Ersetzen Sie REGION durch die Region, für die Sie einen regionalen Endpunkt festlegen möchten, z. B. us-central1 oder europe-west1.
Wenn Sie beispielsweise den regionalen Endpunkt als us-central1 konfigurieren möchten, fügen Sie Folgendes in die Datei ~/.cbtrc ein:
data-endpoint = https://bigtable.us-central1.rep.googleapis.com/
Globalen Endpunkt angeben
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-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.