Points de terminaison régionaux et mondiaux

Cette page décrit les points de terminaison Bigtable, explique les éléments que vous devez prendre en compte avant de les utiliser et montre comment définir un point de terminaison à l'aide de la cbt CLI.

Pour envoyer des requêtes à Bigtable, vous pouvez utiliser un point de terminaison de service mondial ou régional. Les points de terminaison régionaux pour Bigtable garantissent que les données d'une instance sont stockées et traitées dans la région Bigtable où elles résident. Pour répondre aux exigences de sécurité et de conformité de votre projet, vous pouvez être amené à utiliser des points de terminaison régionaux pour Bigtable dans une région géographique spécifique.

Avant de lire ce document, familiarisez-vous avec les sections Instances, clusters, et nœuds et Profils d'application.

Voici les principaux concepts à retenir :

  • Point de terminaison de service : URL de base qui spécifie l'adresse réseau d'un service d'API. Bigtable dispose de points de terminaison mondiaux et régionaux.

  • Point de terminaison mondial : permet à Bigtable de stocker et de router 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 mondial 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 mondial.

  • Point de terminaison régional : applique des restrictions régionales, ce qui garantit que Bigtable stocke et traite les données dans une région spécifiée. Vous ne pouvez utiliser des points de terminaison régionaux qu'avec l'API Cloud Bigtable (API Data). Bigtable n'est pas compatible avec les points de terminaison régionaux pour l'API Cloud Bigtable Admin.

Quand utiliser des points de terminaison régionaux ?

L'avantage d'utiliser un point de terminaison régional Bigtable plutôt qu'un point de terminaison mondial est qu'il offre une isolation et une protection régionales pour répondre aux exigences de sécurité, de conformité et réglementaires.

Toutefois, les points de terminaison régionaux ne sont pas compatibles avec Data Boost ni avec l'API Cloud Bigtable Admin. De plus, vous ne pouvez pas configurer Bigtable pour atteindre un pourcentage de disponibilité mensuel supérieur ou égal à 99,999% lorsque vous utilisez des points de terminaison régionaux. Pour en savoir plus, consultez la section Éléments à prendre en compte pour utiliser un point de terminaison régional de ce document.

Quand utiliser des points de terminaison mondiaux ?

Utilisez un point de terminaison mondial dans les cas suivants :

  • Vous n'avez pas d'exigences de restriction régionale qui vous obligent à utiliser un point de terminaison régional.
  • Vous devez utiliser Data Boost.
  • Vous devez utiliser l'API Cloud Bigtable Admin.
  • Vous avez besoin d'un pourcentage de disponibilité mensuel d'au moins 99,999%.

Éléments à prendre en compte pour utiliser un point de terminaison régional

Si vous utilisez un point de terminaison régional, tenez compte des facteurs suivants :

Emplacements des clusters

Avant de pouvoir utiliser un point de terminaison régional, 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 régionaux Bigtable sont disponibles dans certaines régions Bigtable. Pour obtenir la liste des régions disponibles, consultez la section Points de terminaison de service régionaux.

Vous ne pouvez utiliser qu'un point de terminaison régional appartenant à la région dans laquelle vous souhaitez isoler vos données. Par exemple, si un cluster se trouve dans la région us-central1, vous ne pouvez pas utiliser bigtable.us-west1.rep.googleapis.com pour traiter les requêtes.

Si vous tentez d'utiliser un point de terminaison régional pour accéder à un cluster situé dans une autre région, Bigtable rejette la requête avec un message d'erreur FAILED_PRECONDITION indiquant qu'aucun cluster n'est accessible à l'aide du cluster et du point de terminaison spécifiés. Pour en savoir plus sur ce message d'erreur, consultez Codes d'état Bigtable.

Profils d'application

Une fois que vous avez défini un point de terminaison régional, vous devez utiliser un profil d'application configuré pour router les requêtes vers un cluster 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 (à l'aide d'un routage à cluster unique) ou à des clusters situés dans une région différente de celle du point de terminaison (à l'aide d'un routage multicluster), vous recevez le message d'erreur FAILED_PRECONDITION. Pour en savoir plus sur le routage des clusters, consultez la section Stratégie de routage.

Si vous utilisez un profil d'application configuré pour router vers n'importe quel cluster d'une instance pour une haute disponibilité (HA) et que vous utilisez également un point de terminaison régional, ce dernier garantit que toutes les requêtes ne sont routé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é, de sorte que les requêtes ne sont traitées que par les clusters de la région du point de terminaison.

Prenons l'exemple d'une instance qui comporte des clusters dans les régions us-west1-a (Oregon), us-west1-b (Oregon) et us-central1-a (Iowa), et à 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 régional bigtable.us-central1.rep.googleapis.com, toutes les requêtes sont traité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.

Duplication

Les points de terminaison régionaux n'affectent ni n'empêchent la duplication. Si vous configurez un point de terminaison régional dans la région A, puis que vous ajoutez un cluster à votre instance dans la région B, vos données sont dupliquées dans la région B comme si vous utilisiez le point de terminaison mondial.

Pour éviter de dupliquer 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 d'emplacement.

Disponibilité

Lorsque vous utilisez des points de terminaison régionaux, vous ne pouvez pas configurer Bigtable pour atteindre un pourcentage de disponibilité mensuel supérieur ou égal à 99,999%. Un pourcentage de disponibilité mensuel supérieur ou égal à 99,999 % nécessite un basculement automatique des requêtes au-delà des limites régionales. Un point de terminaison régional empêche le basculement automatique, 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 (SLA) Bigtable.

Sémantique des points finaux régionaux

Un point de terminaison régional suit le format bigtable.REGION.rep.googleapis.com, où REGION est un nom de région Google Cloud , tel que northamerica-northeast2.

Par exemple, si vous souhaitez isoler vos données dans la région Iowa, le nom de région étant us-central1, l'URL du point de terminaison régional pour cette région est bigtable.us-central1.rep.googleapis.com.

Spécifier un point de terminaison régional

Vous pouvez spécifier un point de terminaison régional Bigtable à l'aide de la cbt CLI, ou des bibliothèques clientes Cloud Bigtable.

cbt

Pour spécifier un point de terminaison régional et remplacer le point de terminaison mondial à l'aide de la CLI cbt, vous pouvez utiliser l'option --data-endpoint dans votre requête ou ajouter les éléments suivants à 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://bigtable.REGION.rep.googleapis.com/

Remplacez REGION par la région dans laquelle vous souhaitez définir un point de terminaison régional, par exemple us-central1 ou europe-west1.

Par exemple, pour configurer le point de terminaison régional sur us-central1, ajoutez les éléments suivants au fichier ~/.cbtrc :

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

Spécifier le point de terminaison mondial

cbt

Pour spécifier le point de terminaison mondial, envoyez votre requête sans utiliser l'option --data-endpoint. Si vous avez précédemment ajouté une ligne data-endpoint à votre fichier ~/.cbtrc, supprimez-la.

Restreindre l'utilisation des points de terminaison d'API mondiaux

Pour appliquer l'utilisation de points de terminaison régionaux, utilisez la contrainte de règle d'administration constraints/gcp.restrictEndpointUsage afin de bloquer les requêtes envoyées au point de terminaison d'API mondial. Pour en savoir plus, consultez la section Restreindre l'utilisation des points de terminaison.

Étape suivante