Ce document explique comment gérer les groupes de cohérence. Les groupes de cohérence sont des règles de ressources qui alignent la réplication sur plusieurs disques situés dans la même région ou la même zone.
Pour en savoir plus sur les groupes de cohérence, consultez À propos de la réplication asynchrone.
Limites
- Un disque ne peut appartenir qu'à un seul groupe de cohérence à la fois.
- Les groupes de cohérence ne sont pas compatibles avec les disques des nœuds à locataire unique.
- Les groupes de cohérence peuvent comporter jusqu'à 128 disques.
- Tous les disques d'un groupe de cohérence doivent se trouver dans le même projet que la règle de ressource du groupe de cohérence.
- Un groupe de cohérence peut contenir des disques principaux ou des disques secondaires, mais pas les deux.
- Pour activer la réplication asynchrone pour les disques d'un groupe de cohérence, tous les disques doivent se trouver dans la même zone (pour les disques zonaux) ou dans la même paire de zones (pour les disques régionaux).
- Vous ne pouvez pas ajouter un disque principal à un groupe de cohérence ou l'en retirer pendant la réplication du disque. Si vous souhaitez ajouter un disque principal à un groupe de cohérence ou l'en retirer, vous devez d'abord arrêter la réplication. Vous pouvez à tout moment ajouter un disque secondaire à un groupe de cohérence ou l'en retirer.
- Vous pouvez associer à une VM jusqu'à 16 disques appartenant à différents groupes de cohérence ou disques n'appartenant pas à un groupe de cohérence. Les disques appartenant à un même groupe de cohérence sont comptabilisés comme un seul disque pour la limite de 16 disques.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles et autorisations nécessaires
Pour obtenir les autorisations nécessaires pour cloner des disques dans un groupe de cohérence, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1) -
Pour vous connecter à une instance à laquelle un compte de service est associé : Utilisateur du compte de service (v1) (
roles/iam.serviceAccountUser)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour cloner des disques dans un groupe de cohérence. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour cloner des disques dans un groupe de cohérence :
-
compute.disks.create -
compute.disks.useReadOnlysur le disque source -
Pour cloner le disque de démarrage d'une instance associée à un compte de service :
iam.serviceAccounts.actAssur le compte de service de l'instance
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un groupe de cohérence
Si vous devez aligner la réplication sur plusieurs disques, créez un groupe de cohérence dans la même région que les disques principaux. Si vous devez aligner des clones de disque, créez un groupe de cohérence dans la même région que les disques secondaires.
Créez un groupe de cohérence à l'aide de la console Google Cloud , de la Google Cloud CLI, de REST ou de Terraform.
Console
Pour créer un groupe de cohérence, procédez comme suit :
Dans la console Google Cloud , accédez à la page Groupes de cohérence.
Cliquez sur l'onglet Groupes de cohérence de disque.
Cliquez sur Créer un groupe de cohérence.
Dans le champ Nom, saisissez le nom du groupe de cohérence.
Dans le champ Région, sélectionnez la région dans laquelle se trouvent vos disques. Si vous souhaitez ajouter au groupe de cohérence des disques principaux, sélectionnez la région principale. Si vous souhaitez ajouter au groupe de cohérence des disques secondaires, sélectionnez la région secondaire.
Cliquez sur Créer.
gcloud
Pour créer un groupe de cohérence, utilisez la commande gcloud compute resource-policies create disk-consistency-group :
gcloud compute resource-policies create disk-consistency-group CONSISTENCY_GROUP_NAME \
--region=REGION
Remplacez les éléments suivants :
CONSISTENCY_GROUP_NAME: nom du groupe de cohérence.REGION: région du groupe de cohérence. Si vous souhaitez ajouter au groupe de cohérence des disques principaux, utilisez la région principale. Si vous souhaitez ajouter au groupe de cohérence des disques secondaires, utilisez la région secondaire.
Go
Java
Node.js
Python
REST
Pour créer un groupe de cohérence, utilisez la méthode resourcePolicies.insert :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
{
"name": "CONSISTENCY_GROUP_NAME",
"diskConsistencyGroupPolicy": {
}
}
Remplacez les éléments suivants :
PROJECT: projet contenant le groupe de cohérence.REGION: région du groupe de cohérence. Si vous souhaitez ajouter au groupe de cohérence des disques principaux, utilisez la même région que les disques principaux. Si vous souhaitez ajouter au groupe de cohérence des disques secondaires, utilisez la même région que les disques secondaires.CONSISTENCY_GROUP_NAME: nom du groupe de cohérence.
Terraform
Pour créer un groupe de cohérence, utilisez la ressource compute_resource_policy.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Afficher les disques d'un groupe de cohérence
Affichez les disques d'un groupe de cohérence à l'aide de la console Google Cloud , de la Google Cloud CLI ou de REST.
Console
Pour afficher les disques inclus dans un groupe de cohérence, procédez comme suit :
Dans la console Google Cloud , accédez à la page Groupes de cohérence.
Cliquez sur l'onglet Groupes de cohérence de disque.
Cliquez sur le nom du groupe de cohérence dont vous souhaitez afficher les disques. La page Gérer le groupe de cohérence s'ouvre.
Consultez la section Membres du groupe de cohérence pour afficher tous les disques inclus dans le groupe de cohérence.
gcloud
Pour afficher les disques inclus dans un groupe de cohérence, utilisez la commande gcloud compute disks list :
gcloud compute disks list \
--LOCATION_FLAG=LOCATION \
--filter=resourcePolicies=CONSISTENCY_GROUP_NAME
Remplacez les éléments suivants :
LOCATION_FLAG: option d'emplacement pour les disques du groupe de cohérence. Si les disques du groupe de cohérence sont régionaux, utilisez--region. Si les disques du groupe de cohérence sont zonaux, utilisez--zone.LOCATION: région ou zone des disques du groupe de cohérence. Pour les disques régionaux, utilisez la région. Pour les disques zonaux, utilisez la zone.CONSISTENCY_GROUP_NAME: nom du groupe de cohérence.
Go
Java
Lister les disques zonaux d'un groupe de cohérence
Lister les disques régionaux d'un groupe de cohérence
Node.js
Python
REST
Pour afficher les disques inclus dans un groupe de cohérence, utilisez un filtre de requête avec l'une des méthodes suivantes :
Pour afficher les disques zonaux d'un groupe de cohérence, utilisez la méthode
disks.get:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
Pour afficher les disques régionaux d'un groupe de cohérence, utilisez la méthode
regionDisks.get:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
Remplacez les éléments suivants :
PROJECT: projet contenant le groupe de cohérence.ZONE: zone des disques du groupe de cohérence.REGION: région des disques du groupe de cohérence.CONSISTENCY_GROUP_NAME: nom du groupe de cohérence.
Ajouter un disque à un groupe de cohérence
Pour ajouter des disques principaux à un groupe de cohérence, vous devez ajouter ces disques au groupe de cohérence avant de commencer la réplication. Vous pouvez à tout moment ajouter des disques secondaires à un groupe de cohérence. Pour activer la réplication asynchrone pour les disques d'un groupe de cohérence, tous les disques doivent se trouver dans la même zone (pour les disques zonaux) ou dans la même paire de zones (pour les disques régionaux).
Ajoutez un disque à un groupe de cohérence à l'aide de la console Google Cloud , de la Google Cloud CLI, de REST ou de Terraform.
Console
Pour ajouter des disques à un groupe de cohérence, procédez comme suit :
Dans la console Google Cloud , accédez à la page Groupes de cohérence.
Cliquez sur l'onglet Groupes de cohérence de disque.
Cliquez sur le nom du groupe de cohérence duquel vous souhaitez retirer des disques. La page Gérer le groupe de cohérence s'ouvre.
Cliquez sur Attribuer des disques. La page Attribuer des disques s'ouvre.
Sélectionnez les disques que vous souhaitez ajouter au groupe de cohérence.
Cliquez sur Attribuer des disques. Lorsque vous y êtes invité, cliquez sur Ajouter.
gcloud
Pour ajouter un disque à un groupe de cohérence, utilisez la commande gcloud compute disks add-resource-policies :
gcloud compute disks add-resource-policies DISK_NAME \
--LOCATION_FLAG=LOCATION \
--resource-policies=CONSISTENCY_GROUP
Remplacez les éléments suivants :
DISK_NAME: nom du disque à ajouter au groupe de cohérence.LOCATION_FLAG: option d'emplacement du disque. Pour un disque régional, utilisez--region. Pour un disque zonal, utilisez--zone.LOCATION: région ou zone du disque. Pour les disques régionaux, utilisez la région. Pour les disques zonaux, utilisez la zone.CONSISTENCY_GROUP: URL du groupe de cohérence. Exemple :projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Go
Java
Node.js
Python
REST
Pour ajouter des disques à un groupe de cohérence, utilisez l'une des méthodes suivantes :
Pour ajouter des disques zonaux à un groupe de cohérence, utilisez la méthode la méthode
disks.addResourcePolicies:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }Pour ajouter des disques régionaux à un groupe de cohérence, utilisez la méthode
regionDisks.addResourcePolicies:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
Remplacez les éléments suivants :
PROJECT: projet contenant le disque.LOCATION: zone ou région du disque. Pour les disques zonaux, utilisez la zone. Pour les disques régionaux, utilisez la région.DISK_NAME: nom du disque à ajouter au groupe de cohérence.CONSISTENCY_GROUP: URL du groupe de cohérence. Exemple :projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Terraform
Pour ajouter le disque au groupe de cohérence, utilisez la ressource compute_disk_resource_policy_attachment.
Dans le cas d'un disque régional, spécifiez la région au lieu de la zone.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Retirer un disque d'un groupe de cohérence
Avant de pouvoir retirer un disque d'un groupe de cohérence, vous devez arrêter la réplication pour ce disque.
Supprimez un disque d'un groupe de cohérence à l'aide de la console Google Cloud , de la Google Cloud CLI ou de REST.
Console
Pour retirer des disques principaux d'un groupe de cohérence, procédez comme suit :
Dans la console Google Cloud , accédez à la page Groupes de cohérence.
Cliquez sur l'onglet Groupes de cohérence de disque.
Cliquez sur le nom du groupe de cohérence duquel vous souhaitez retirer des disques. La page Gérer le groupe de cohérence s'ouvre.
Dans la section Membres du groupe de cohérence, sélectionnez les disques que vous souhaitez retirer du groupe de cohérence.
Cliquez sur Supprimer les disques. Lorsque vous y êtes invité, cliquez sur Supprimer.
gcloud
Pour supprimer un disque d'un groupe de cohérence à l'aide de la commande gcloud compute disks remove-resource-policies, procédez comme suit :
gcloud compute disks remove-resource-policies DISK_NAME \
--LOCATION_FLAG=LOCATION \
--resource-policies=CONSISTENCY_GROUP
Remplacez les éléments suivants :
DISK_NAME: nom du disque à supprimer du groupe de cohérence.LOCATION_FLAG: option d'emplacement du disque. Pour un disque régional, utilisez--region. Pour un disque zonal, utilisez--zone.LOCATION: région ou zone du disque. Pour les disques régionaux, utilisez la région. Pour les disques zonaux, utilisez la zone.CONSISTENCY_GROUP: URL du groupe de cohérence. Exemple :projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.
Go
Java
Node.js
Python
REST
Vous pouvez retirer un disque d'un groupe de cohérence à l'aide de la méthode disks.removeResourcePolicies pour les disques zonaux ou de la méthode regionDisks.removeResourcePolicies pour les disques régionaux.
Pour retirer un disque zonal d'un groupe de cohérence, procédez comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }Pour retirer un disque régional d'un groupe de cohérence, procédez comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
Remplacez les éléments suivants :
PROJECT: projet contenant le disque.LOCATION: zone ou région du disque. Pour les disques zonaux, utilisez la zone. Pour les disques régionaux, utilisez la région.DISK_NAME: nom du disque à supprimer du groupe de cohérence.CONSISTENCY_GROUP: URL du groupe de cohérence. Exemple :projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.
Supprimer un groupe de cohérence
Supprimez un groupe de cohérence à l'aide de la console Google Cloud , de la Google Cloud CLI ou de REST.
Console
Pour supprimer un groupe de cohérence, procédez comme suit :
Dans la console Google Cloud , accédez à la page Groupes de cohérence.
Cliquez sur l'onglet Groupes de cohérence de disque.
Sélectionnez le groupe de cohérence que vous souhaitez supprimer.
Cliquez sur Supprimer. La fenêtre Supprimer le groupe de cohérence s'ouvre.
Cliquez sur Supprimer.
gcloud
Pour supprimer la règle de ressource, utilisez la commande gcloud compute resource-policies delete :
gcloud compute resource-policies delete CONSISTENCY_GROUP \
--region=REGION
Remplacez les éléments suivants :
CONSISTENCY_GROUP: nom du groupe de cohérence.REGION: région du groupe de cohérence.
Go
Java
Node.js
Python
REST
Pour supprimer un groupe de cohérence, utilisez la méthode resourcePolicies.delete :
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Remplacez les éléments suivants :
PROJECT: projet contenant le groupe de cohérence.REGION: région du groupe de cohérence.CONSISTENCY_GROUP: nom du groupe de cohérence.
Étapes suivantes
- Découvrez comment gérer les disques qui utilisent la réplication asynchrone.
- En savoir plus sur le basculement et la restauration.
- Découvrez comment surveiller les performances de la réplication asynchrone.