Points de terminaison localisés
Cette page décrit les points de terminaison régionaux 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 Google Cloud CLI.
Vous pouvez utiliser un point de terminaison de service mondial 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 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 géographiques pour Bigtable dans une région géographique spécifique.
Avant de lire ce document, vous devez connaître les instances, les clusters et les nœuds, ainsi que les profils d'application.
Voici quelques concepts clés :
Point de terminaison de 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 globaux 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 mondial.Point de terminaison localisé : un point de terminaison localisé applique des restrictions d'emplacement, ce qui garantit que les données sont stockées et traitées dans une région spécifique.
Vous ne pouvez utiliser les 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 les points de terminaison localisés ?
L'avantage d'utiliser un point de terminaison Bigtable localisé plutôt qu'un point de terminaison global est que le point de terminaison localisé offre une isolation et une protection localisées pour répondre aux exigences de sécurité, de conformité et réglementaires.
Utilisez un point de terminaison géographique si l'emplacement de vos données doit être limité et contrôlé pour respecter les exigences réglementaires.
Utilisez le point de terminaison mondial si vous n'avez pas d'exigences strictes en termes de 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 où vous souhaitez isoler vos données. Les points de terminaison 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 traiter les 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 dans une autre région, la requête est refusée et une erreur FAILED_PRECONDITION
s'affiche, 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 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 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 de précondition non remplie There are no clusters accessible through this app profile and the
REGION_NAME endpoint.
. Pour en savoir plus sur le routage de cluster, 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 géographique, 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 et qui comporte 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 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 Restreindre les emplacements de ressources.
Disponibilité
Lorsque vous utilisez des points de terminaison localisés, vous ne pouvez pas configurer Bigtable pour atteindre 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 qu'un point de terminaison géographique empêche, 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 de terminaison utilisant la localisation
Le premier segment du nom d'un point de terminaison 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, tel que northamerica-northeast2
.
Par exemple, si vous souhaitez isoler vos données dans la région de l'Iowa, l'URL du point de terminaison géographique pour cette région est us-central1-bigtable.googleapis.com
, car le nom de la région de l'Iowa est us-central1
. Pour obtenir la liste des régions disponibles, consultez Emplacements Bigtable.
Spécifier un point de terminaison localisé
Vous pouvez spécifier un point de terminaison géographique Bigtable à l'aide de 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 mondial à l'aide de 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 sur 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 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://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 de localisation sur us-central1
, ajoutez ceci 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 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 de l'API globale
Pour appliquer l'utilisation de points de terminaison locaux, 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
- Passez en revue le contrôle des accès avec IAM.
- Découvrez comment créer et gérer des tags.
- Consultez les régions dans lesquelles Bigtable est compatible avec les points de terminaison régionaux.