Lorsque vous créez un MIG régional, vous sélectionnez une ou plusieurs zones dans lesquelles le MIG distribue ses VM. Par défaut, si une VM du MIG échoue, le MIG tente de la réparer dans sa zone d'origine. Vous pouvez également autoriser le MIG à réparer cette VM dans l'une des autres zones sélectionnées. Cela peut être utile si le MIG ne peut pas réparer la VM dans sa zone d'origine. Le MIG choisit la zone alternative en fonction de la capacité et du quota disponibles.
Limites
Lorsque vous configurez un MIG régional pour réparer une VM dans une autre zone, les limites suivantes s'appliquent :
Vous devez activer l'option Mise à jour lors de la réparation.
Les MIG régionaux avec la configuration suivante ne sont pas acceptés :
MIG avec des formes de distribution cibles
EVENouANY_SINGLE_ZONE.MIG avec une configuration avec état.
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 .
Autoriser les réparations dans une autre zone
Pour autoriser un MIG à réparer une VM dans une autre zone, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Groupes d'instances.
Si vous disposez déjà d'un MIG, procédez comme suit :
- Cliquez sur le nom du MIG.
- Cliquez sur Modifier.
Si vous ne disposez pas encore d'un MIG, procédez comme suit :
- Cliquez sur Créer un groupe d'instances.
- Saisissez un nom.
- Sélectionnez un modèle d'instance.
- Dans la section Emplacement, sélectionnez Plusieurs zones, puis une région et des zones.
Dans le menu déroulant Forme de distribution cible, sélectionnez Équilibrée ou Toutes.
Si vous sélectionnez Équilibré, dans la boîte de dialogue qui s'affiche, cliquez sur Désactiver la redistribution des instances.
Si vous souhaitez sélectionner l'option Toute, vous devez d'abord supprimer la configuration de l'autoscaling. Pour supprimer l'autoscaling, dans le menu déroulant Mode d'autoscaling, cliquez sur Supprimer la configuration de l'autoscaling.
Dans la section Cycle de vie de l'instance de VM, assurez-vous que les champs suivants sont définis comme suit :
La liste Action par défaut en cas d'échec est définie sur Réparer l'instance.
L'option Mises à jour lors de la réparation des instances de VM est définie sur Mettre à jour la configuration de l'instance.
Dans la section Modifier la zone lors de la réparation de l'instance de VM, cochez la case Autoriser la réparation des VM dans une autre zone.
Pour les autres paramètres, vous pouvez utiliser les valeurs par défaut ou modifier les champs.
Une fois terminé, cliquez sur Enregistrer pour un MIG existant ou sur Créer pour un nouveau MIG.
gcloud
Pour configurer un MIG existant afin qu'il répare les VM dans une autre zone, utilisez la commande bêta update :
gcloud beta compute instance-groups managed update MIG_NAME \
--on-repair-allow-changing-zone=YES \
--force-update-on-repair \
--region=REGION
Pour créer un MIG capable de réparer des VM dans une autre zone, utilisez la commande bêta create :
gcloud beta compute instance-groups managed create MIG_NAME \
--template=INSTANCE_TEMPLATE_URL \
--size=SIZE \
--zones=ZONES \
--target-distribution-shape=SHAPE \
--instance-redistribution-type=none \
--on-repair-allow-changing-zone=YES \
--force-update-on-repair
Remplacez les éléments suivants :
MIG_NAME: nom du MIG.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :- Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Pour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
- Pour un modèle d'instance régional :
SIZE: taille cible du MIG.ZONES: liste des zones d'une région dans lesquelles vous souhaitez créer les VM du MIG.SHAPE: forme de distribution cible. Cette valeur peut êtrebalancedouany.REGION: région où se trouve le MIG.
Terraform
Si vous n'avez pas encore créé de modèle d'instance, qui spécifie le type de machine, l'image de disque de démarrage, le réseau et les autres propriétés de VM que vous souhaitez pour chaque VM de votre MIG, créez un modèle d'instance.
Pour créer un MIG capable de réparer une VM dans une autre zone, utilisez la ressource google_compute_region_instance_group_manager.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
REST
Pour configurer un MIG existant afin qu'il répare les VM dans une autre zone, utilisez la méthode bêta regionInstanceGroupManagers.patch :
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"onRepair": {
"allowChangingZone": "YES"
},
"forceUpdateOnRepair": "YES"
}
}
Pour créer un MIG capable de réparer des VM dans une autre zone, utilisez la méthode bêta regionInstanceGroupManagers.insert :
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"name": "MIG_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"targetSize": SIZE,
"distributionPolicy": {
"targetShape": "SHAPE"
}
"updatePolicy": {
"instanceRedistributionType": none
}
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": "YES",
"onRepair": {
"allowChangingZone": "YES"
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.REGION: région où se trouve le MIG.MIG_NAME: nom du MIG.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :- Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Pour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
- Pour un modèle d'instance régional :
SIZE: taille cible du MIG.SHAPE: forme de distribution cible. Cette valeur peut êtreBALANCEDouANY.
Interdire les réparations dans une autre zone
Si vous avez configuré un MIG pour réparer une VM dans une autre zone, vous pouvez rétablir le paramètre par défaut selon lequel le MIG répare la VM dans la zone d'origine.
Pour interdire les réparations dans une autre zone, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Groupes d'instances.
Cliquez sur le nom du MIG.
Cliquez sur Modifier.
Accédez à la section Cycle de vie des instances de VM.
Dans la section Modifier la zone lors de la réparation de l'instance de VM, décochez la case Autoriser la réparation des VM dans une autre zone.
Cliquez sur Enregistrer.
gcloud
Pour interdire les réparations dans une autre zone, utilisez la commande bêta update :
gcloud beta compute instance-groups managed update MIG_NAME \
--on-repair-allow-changing-zone=NO \
--region=REGION
Remplacez les éléments suivants :
MIG_NAME: nom du MIG.REGION: région où se trouve le MIG.
REST
Pour interdire les réparations dans une autre zone, utilisez la méthode bêta regionInstanceGroupManagers.patch :
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"onRepair": {
"allowChangingZone": "NO"
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.REGION: région où se trouve le MIG.MIG_NAME: nom du MIG.
Étapes suivantes
- Vérifier la configuration de la réparation dans un MIG
- Vérifiez la zone d'une VM en listant les instances gérées.