Points de terminaison localisés
Cette page décrit les points de terminaison géographiques Bigtable, explique ce que vous devez prendre en compte avant de les utiliser et explique comment définir un point de terminaison à l'aide de la Google Cloud CLI.
Vous pouvez utiliser un point de terminaison de service global ou localisé pour envoyer des requêtes à Bigtable. Les points de terminaison géographiques pour Bigtable garantissent que les données d'une instance sont stockées et traitées dans la région Bigtable où elles se trouvent. Pour répondre aux exigences de sécurité et de conformité de votre projet, vous devrez peut-être utiliser des points de terminaison géographiques pour Bigtable dans une région géographique spécifique.
Avant de lire ce document, vous devez connaître les instances, clusters et nœuds et les profils d'application.
Voici les principaux concepts:
Point de terminaison de service:point de terminaison de service est une URL de base qui spécifie l'adresse réseau d'un service d'API. Bigtable dispose de points de terminaison globaux et de points de terminaison basés sur la localisation.
Point de terminaison global:un point de terminaison global permet à Bigtable de stocker et d'acheminer les données d'une instance Bigtable vers n'importe quelle région contenant l'un des clusters de l'instance. Le point de terminaison global de l'API Cloud Bigtable (API Data) est
bigtable.googleapis.com
. Le point de terminaison de l'API Data par défaut accède au point de terminaison global.Point de terminaison localisé Un point de terminaison localisé applique des restrictions géographiques, en veillant à ce que les données soient stockées et traitées dans une région spécifiée.
Vous ne pouvez utiliser des points de terminaison localisés qu'avec l'API Cloud Bigtable (API Data). Les points de terminaison géographiques ne sont pas compatibles avec l'API Cloud Bigtable Admin.
Quand utiliser des points de terminaison localisés ?
L'avantage d'utiliser un point de terminaison Bigtable par rapport à un point de terminaison global est qu'il offre une isolation et une protection par zone géographique pour répondre aux exigences de sécurité, de conformité et de réglementation.
Utilisez un point de terminaison géographique si l'emplacement de vos données doit être limité et contrôlé afin de respecter les exigences réglementaires.
Utilisez le point de terminaison mondial si vous n'avez pas d'exigences strictes concernant les restrictions géographiques.
Éléments à prendre en compte lors de l'utilisation d'un point de terminaison localisé
Tenez compte des facteurs suivants lorsque vous utilisez un point de terminaison localisé.
Emplacements des clusters
Avant de pouvoir utiliser un point de terminaison géographique, vous devez créer une instance avec au moins un cluster dans la région dans laquelle vous souhaitez isoler vos données. Les points de terminaison localisés Bigtable sont disponibles dans tous les emplacements Bigtable.
Vous ne pouvez utiliser qu'un point de terminaison géographique appartenant à la région dans laquelle vous souhaitez isoler vos données. Par exemple, vous ne pouvez pas utiliser us-west1-bigtable.googleapis.com
pour répondre aux requêtes si le cluster auquel vous accédez se trouve dans la région us-central1
.
Si vous essayez d'utiliser un point de terminaison localisé pour accéder à un cluster dans une autre région, la requête est rejetée avec une erreur FAILED_PRECONDITION
et un message indiquant qu'aucun cluster n'est accessible à l'aide du cluster et du point de terminaison spécifiés. Par exemple, une requête envoyée à us-west1-bigtable.googleapis.com
pour les clusters dans us-central1
échoue avec FAILED_PRECONDITION
. Pour en savoir plus sur FAILED_PRECONDITION
, consultez la section Codes d'état Bigtable.
Profils d'application
Une fois que vous avez défini un point de terminaison géographique, vous devez utiliser un profil d'application configuré pour acheminer les requêtes vers un cluster dans la région du point de terminaison.
Si vous essayez d'utiliser un profil d'application configuré pour envoyer des écritures uniquement à un cluster (à l'aide du routage à cluster unique) ou à des clusters situés dans une région différente du point de terminaison (à l'aide du routage multicluster), vous recevez le message d'erreur There are no clusters accessible through this app profile and the
REGION_NAME endpoint.
indiquant que la précondition a échoué. Pour en savoir plus sur le routage de cluster, consultez la section Règle de routage.
Si vous utilisez un profil d'application configuré pour acheminer vers n'importe quel cluster d'une instance à des fins de haute disponibilité (HA) et que vous utilisez également un point de terminaison géographique, il garantit que toutes les requêtes ne sont acheminées que vers les clusters de sa région, même si l'instance comporte des clusters dans d'autres régions. Le basculement automatique est limité. Par conséquent, les requêtes ne sont traitées que depuis les clusters de la région du point de terminaison.
Prenons l'exemple d'une instance contenant des clusters dans us-west1-a
(Oregon), us-west1-b
(Oregon) et us-central1-a
(Iowa) à laquelle vous envoyez des requêtes à l'aide d'un profil d'application configuré pour le routage multicluster. Si vous envoyez ces requêtes au point de terminaison de localisation us-central1-bigtable.googleapis.com
, toutes les requêtes sont traitées par us-central1-a
, même si vous ne reconfigurez pas le profil de l'application. Les requêtes qui ne peuvent pas être traitées par us-central1-a
échouent.
Réplication
Les points de terminaison localisés n'affectent ni n'empêchent la réplication. Si vous configurez un point de terminaison géographique dans la région A, puis que vous ajoutez un cluster à votre instance dans la région B, vos données sont répliquées dans la région B comme si vous utilisiez le point de terminaison mondial.
Pour éviter de répliquer des données dans une autre région, ne créez des clusters que dans la région souhaitée.
Pour empêcher les utilisateurs de votre organisation d'ajouter des clusters en dehors de la région du point de terminaison, vous pouvez définir une règle d'administration qui utilise des contraintes de localisation. Pour en savoir plus, consultez la section Limiter les emplacements de ressources.
Disponibilité
Lorsque vous utilisez des points de terminaison localisés, vous ne pouvez pas configurer Bigtable pour obtenir un pourcentage de disponibilité mensuel supérieur ou égal à 99,999%. Un temps d'activité mensuel supérieur ou égal à 99,999 % nécessite un basculement automatique des requêtes au-delà des limites géographiques, ce qui est empêché par un point de terminaison géographique, car il limite toutes les requêtes à une seule région. Pour en savoir plus sur les pourcentages de disponibilité mensuels, consultez le contrat de niveau de service (CLN) Bigtable.
Sémantique des points de terminaison localisés
Le premier segment du nom d'un point de terminaison géographique Bigtable est le nom de la régionGoogle Cloud . Un point de terminaison géographique suit le format REGION-bigtable.googleapis.com
, où REGION est un nom de région, par exemple northamerica-northeast2
.
Par exemple, si vous souhaitez isoler vos données dans la région de l'Iowa, car le nom de la région de l'Iowa est us-central1
, l'URL du point de terminaison géographique de la région de l'Iowa est us-central1-bigtable.googleapis.com
. Pour obtenir la liste des régions disponibles, consultez la section Emplacements Bigtable.
Spécifier un point de terminaison localisé
Vous pouvez spécifier un point de terminaison géographique Bigtable à l'aide de la Google Cloud CLI, de la CLI cbt
ou des bibliothèques clientes Cloud Bigtable.
gcloud
Pour spécifier un point de terminaison localisé et remplacer le point de terminaison global à l'aide de la gcloud CLI, exécutez la commande suivante:
gcloud config set api_endpoint_overrides/bigtable https://REGION-bigtable.googleapis.com/
Remplacez REGION
par la région dans laquelle vous souhaitez définir un point de terminaison géographique, par exemple us-central1
ou europe-west1
.
Par exemple, pour configurer le point de terminaison géographique en tant que us-central1
, exécutez la commande suivante:
gcloud config set api_endpoint_overrides/bigtable https://us-central1-bigtable.googleapis.com/
cbt
Pour spécifier un point de terminaison localisé et remplacer le point de terminaison global à l'aide de la CLI cbt
, vous pouvez utiliser l'option --data-endpoint
dans votre requête ou ajouter ce qui suit à votre fichier ~/.cbtrc. Pour en savoir plus sur la création d'un fichier ~/.cbtrc, consultez la documentation de référence de la CLI cbt.
data-endpoint = https://REGION-bigtable.googleapis.com/
Remplacez REGION
par la région dans laquelle vous souhaitez définir un point de terminaison géographique, par exemple us-central1
ou europe-west1
.
Par exemple, pour configurer le point de terminaison géographique en tant que us-central1
, ajoutez ce qui suit au fichier ~/.cbtrc:
data-endpoint = https://us-central1-bigtable.googleapis.com/
Spécifier le point de terminaison global
gcloud
Pour reconfigurer un point de terminaison géographique en point de terminaison global, exécutez la commande suivante:
gcloud config unset api_endpoint_overrides/bigtable
cbt
Pour spécifier le point de terminaison sglobal, envoyez votre requête sans utiliser l'option --data-endpoint
. Si vous avez déjà ajouté une ligne data-endpoint
à votre fichier ~/.cbtrc, supprimez-la.
Étape suivante
- Consultez le contrôle des accès avec IAM.
- Découvrez comment créer et gérer des balises.
- Consultez les régions dans lesquelles Bigtable est compatible avec les points de terminaison régionaux.