Points de terminaison régionaux et mondiaux

Cette page décrit les points de terminaison 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 CLI cbt.

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 instances, les clusters et les nœuds, ainsi qu'avec les profils d'application.

Voici quelques concepts clés :

  • 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 globaux 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 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 mondial.

  • Point de terminaison régional : applique des restrictions régionales, en veillant à ce que Bigtable stocke et traite les données dans une région spécifiée. Vous ne pouvez utiliser les 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 les 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 que le point de terminaison régional 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 obtenir un pourcentage de temps d'activité mensuel supérieur ou égal à 99,999 % lorsque vous utilisez des points de terminaison régionaux. Pour en savoir plus, consultez la section Points à prendre en compte pour utiliser un point de terminaison régional de ce document.

Quand utiliser les points de terminaison globaux

Utilisez un point de terminaison global 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 %.

Points à 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 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 essayez d'utiliser un point de terminaison régional pour accéder à un cluster situé dans une autre région, Bigtable rejette la requête et affiche 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 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 n'envoyer des écritures qu'à un cluster (à l'aide du routage à cluster unique) ou à des clusters situés dans une région différente de celle du point de terminaison (à l'aide du routage multicluster), vous recevrez le message d'erreur FAILED_PRECONDITION. Pour en savoir plus sur le routage des clusters, consultez Règle de routage.

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

Prenons l'exemple d'une instance qui envoie des requêtes à l'aide d'un profil d'application configuré pour le routage multicluster vers une instance comportant des clusters dans us-west1-a (Oregon), us-west1-b (Oregon) et us-central1-a (Iowa). 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.

Réplication

Les points de terminaison régionaux n'affectent ni n'empêchent la réplication. 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 répliquées dans la région B comme si vous aviez utilisé le point de terminaison global.

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 d'emplacement.

Disponibilité

Lorsque vous utilisez des points de terminaison régionaux, 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 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 de l'Iowa, étant donné que le nom de la région pour l'Iowa est us-central1, l'URL du point de terminaison régional pour la région de l'Iowa 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 CLI cbt ou des bibliothèques clientes Cloud Bigtable.

cbt

Pour spécifier un point de terminaison régional 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 les éléments suivants à votre fichier ~/.cbtrc. Pour en savoir plus sur la création d'un fichier ~/.cbtrc, consultez la documentation de 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 en tant que us-central1, ajoutez-le au fichier ~/.cbtrc :

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

Spécifier le point de terminaison global

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.

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 Restreindre l'utilisation des points de terminaison.

Étapes suivantes