Points de terminaison localisés

Cette page décrit les points de terminaison locaux de Bigtable, explique ce que vous devez prendre en compte avant de les utiliser et montre 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 local pour envoyer des requêtes à Bigtable. Les points de terminaison géographiques pour Bigtable permettent de s'assurer que les données d'une instance sont stockées et traitées dans la région Bigtable qui les contient. Afin de répondre aux besoins de sécurité et de conformité de votre projet, vous devrez peut-être utiliser des points de terminaison locaux pour Bigtable dans une région géographique spécifique.

Avant de lire ce document, vous devez avoir connaissance des instances, clusters et nœuds ainsi que des profils d'application.

Voici les concepts clés:

  • Point de terminaison du service:un 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 mondiaux et géographiques.

  • Point de terminaison mondial:un point de terminaison mondial 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 local : un point de terminaison géographique applique des restrictions d'emplacement, ce qui garantit que les données sont stockées et traitées dans une région spécifiée.

Vous ne pouvez utiliser des points de terminaison locaux qu'avec l'API Cloud Bigtable (API Data). Les points de terminaison locaux ne sont pas compatibles avec l'API Cloud Bigtable Admin.

Quand utiliser les points de terminaison locaux ?

L'avantage d'utiliser un point de terminaison local Bigtable plutôt qu'un point de terminaison mondial est qu'il fournit une isolation et une protection de localisation répondant aux exigences de sécurité, de conformité et de réglementation.

Utilisez un point de terminaison localisé si l'emplacement de vos données doit être limité et contrôlé pour respecter les exigences réglementaires.

Utilisez le point de terminaison global si vous n'avez pas d'exigences strictes de restriction d'emplacement.

É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 local.

Emplacements des clusters

Avant de pouvoir utiliser un point de terminaison local, vous devez créer une instance avec au moins un cluster dans la région où vous souhaitez isoler vos données. Les points de terminaison locaux Bigtable sont disponibles dans tous les emplacements Bigtable.

Vous ne pouvez utiliser qu'un point de terminaison local 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 diffuser des requêtes si le cluster auquel vous accédez se trouve dans la région us-central1.

Si vous tentez d'utiliser un point de terminaison localisé pour accéder à un cluster situé dans une autre région, la requête est rejetée avec une erreur FAILED_PRECONDITION avec 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 de la région us-central1 échoue avec FAILED_PRECONDITION. Pour en savoir plus sur FAILED_PRECONDITION, consultez la section Codes d'état Bigtable.

Profils d'application

Après avoir défini un point de terminaison localisé, vous devez utiliser un profil d'application configuré pour acheminer les requêtes vers un cluster situé dans la région du point de terminaison.

Si vous tentez d'utiliser un profil d'application configuré pour n'envoyer des écritures qu'à un cluster (via le routage à cluster unique) ou à des clusters situés dans une région différente du point de terminaison (via le routage multicluster), vous recevez le message d'erreur de condition préalable "Échec" There are no clusters accessible through this app profile and the REGION_NAME endpoint.. Pour en savoir plus sur le routage des clusters, consultez la section Règle de routage.

Si vous utilisez un profil d'application configuré pour acheminer les requêtes vers n'importe quel cluster d'une instance pour la haute disponibilité, et que vous utilisez également un point de terminaison local, celui-ci garantit que toutes les requêtes ne sont acheminées que vers des clusters dans sa région, même si l'instance possède des clusters dans d'autres régions. Le basculement automatique étant limité, les requêtes ne sont diffusées qu'à partir de clusters situés dans la région du point de terminaison.

Prenons un exemple dans lequel vous envoyez des requêtes à l'aide d'un profil d'application configuré pour un routage multicluster vers une instance comportant des clusters dans les régions us-west1-a (Oregon), us-west1-b (Oregon) et us-central1-a (Iowa). Si vous envoyez ces requêtes au point de terminaison local us-central1-bigtable.googleapis.com, toutes les requêtes sont diffusées par us-central1-a, même si vous ne reconfigurez pas le profil d'application. Les requêtes qui ne peuvent pas être traitées par us-central1-a échouent.

Réplication

Les points de terminaison locaux n'affectent pas et n'empêchent pas 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 les données dans une autre région, créez des clusters uniquement dans la région prévue.

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 d'emplacement. Pour en savoir plus, consultez la section Restreindre les emplacements des ressources.

Qui peut en bénéficier ?

Lorsque vous utilisez des points de terminaison locaux, vous ne pouvez pas configurer Bigtable pour obtenir un pourcentage de temps d'activité mensuel supérieur ou égal à 99,999%. Un temps d'activité mensuel supérieur ou égal à 99,999 % nécessite le basculement automatique des requêtes au-delà des limites géographiques, ce qu'un point de terminaison local empêche, car il confie toutes les requêtes à une seule région. Pour en savoir plus sur les pourcentages de temps d'activité mensuels, consultez le contrat de niveau de service Bigtable.

Sémantique du point de terminaison localisé

Le premier segment d'un nom de point de terminaison géographique Bigtable correspond au nom de la région Google Cloud. Un point de terminaison local respecte le format REGION-bigtable.googleapis.com, où REGION est un nom de région, tel que northamerica-northeast2.

Par exemple, si vous souhaitez isoler vos données dans la région de l'Iowa (États-Unis), comme le nom de cette région est us-central1, l'URL du point de terminaison pour cette région est us-central1-bigtable.googleapis.com. Pour obtenir la liste des régions disponibles, consultez la page 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 local 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, telle que us-central1 ou europe-west1.

Par exemple, pour configurer le point de terminaison local 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 local 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, telle que us-central1 ou europe-west1.

Par exemple, pour configurer le point de terminaison local 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 local sur le point de terminaison global, exécutez la commande suivante:

gcloud config unset api_endpoint_overrides/bigtable

cbt

Pour spécifier le point d'envoi global, 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.

Étapes suivantes