Dans un groupe d'instances géré (MIG) régional, pour conserver un nombre équitable d'instances de machines virtuelles (VM) dans les zones sélectionnées de la région, utilisez le redistribution proactive des instances. Cette option de configuration maximise la disponibilité de votre application en cas de défaillance de la zone.
La redistribution proactive des instances est activée par défaut pour les MIG régionaux. Lorsque la redistribution proactive des instances est désactivée, le groupe ne tente pas de redistribuer les VM de manière proactive entre les zones. La désactivation de la redistribution proactive des instances est utile si vous souhaitez effectuer les opérations suivantes :
- supprimer ou abandonner des VM du groupe sans affecter les autres VM en cours d'exécution. Par exemple, vous pouvez supprimer une VM de nœud de calcul par lot une fois la tâche terminée sans affecter les autres nœuds de calcul ;
- protéger des VM avec des charges de travail avec état contre la suppression automatique indésirable en raison d'une redistribution proactive.
- Définissez la forme de distribution cible du groupe d'instances géré sur
BALANCED
ouANY_SINGLE_ZONE
.
Vous pouvez désactiver la redistribution proactive des instances lors de la création d'un MIG régional. Vous pouvez également l'activer ou la désactiver pour un MIG régional existant.
Avant de commencer
- Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
- Si vous voulez vous servir des exemples de ligne de commande de ce guide, installez Google Cloud CLI.
Créer un groupe avec la redistribution proactive des instances désactivée
Pour créer un MIG régional avec la redistribution proactive des instances désactivée, utilisez la console Google Cloud, gcloud CLI ou l'API Compute Engine.
Console
- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Cliquez sur Créer un groupe d'instances pour définir un nouveau groupe d'instances.
- Attribuez un nom et éventuellement une description à votre groupe d'instances.
- Choisissez un modèle d'instance pour le groupe d'instances ou créez-en un.
- Indiquez le nombre de VM pour ce groupe. Pensez à provisionner suffisamment de VM pour les charges de travail à disponibilité élevée afin que votre application soit prise en charge en cas de défaillance zonale.
- Sous Emplacement, sélectionnez Plusieurs zones.
- Choisissez une région et sélectionnez les zones que vous souhaitez utiliser.
- Pour désactiver la redistribution proactive des instances, sous Redistribution des instances, décochez la case Autoriser la redistribution des instances.
- Terminez le processus de création de MIG.
gcloud
Pour créer un MIG régional sans redistribution proactive des instances, utilisez la commande gcloud compute instance-groups managed create
avec l'option --instance-redistribution-type
définie sur NONE
.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE_NAME \ --size TARGET_SIZE \ --zones ZONES \ --instance-redistribution-type NONE
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME
: nom du MIGINSTANCE_TEMPLATE_NAME
: nom du modèle d'instance à utiliser pour le groupeTARGET_SIZE
: taille cible du groupeZONES
: liste des zones d'une région unique dans lesquelles vous souhaitez déployer les VM.
Exemple :
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --instance-redistribution-type NONE
API
Pour créer un MIG régional sans autoscaling ni redistribution proactive des instances, envoyez une requête POST
à la méthode regionInstanceGroupManagers.insert
. Dans le corps de la requête, incluez la propriété updatePolicy
et définissez son champ instanceRedistributionType
sur NONE
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requêteREGION
: région du groupe d'instancesINSTANCE_GROUP_NAME
: nom du MIGINSTANCE_TEMPLATE_NAME
: nom du modèle d'instance à utiliser pour le groupeTARGET_SIZE
: taille cible du groupe d'instancesZONE
: nom d'une zone de la région unique dans laquelle vous souhaitez déployer les VM.
Désactiver la redistribution proactive des instances
Pour désactiver ou réactiver la redistribution proactive des instances, utilisez la console Google Cloud, gcloud CLI ou l'API Compute Engine.
Console
- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Dans la colonne Nom de la liste, cliquez sur le nom du groupe d'instances que vous souhaitez modifier.
- Cliquez sur Modifier pour modifier le groupe d'instances géré.
- Sous Redistribution des instances, décochez la case Autoriser la redistribution des instances.
- Cliquez sur Enregistrer.
gcloud
Pour désactiver la redistribution proactive des instances, définissez l'option --instance-redistribution-type
sur NONE
à l'aide d'une commande comme suit :
Pour un MIG régional sans autoscaling ou pour un MIG régional avec autoscaling dont le mode est défini sur
OFF
ouONLY_SCALE_OUT
, utilisez la commandecompute instance-groups managed update
.Exemple :
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --instance-redistribution-type NONE \ --region REGION
Pour un MIG régional avec autoscaling dont le mode est défini sur
ON
, utilisez la commandecompute instance-groups managed update
(bêta).Exemple :
gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --instance-redistribution-type NONE \ --region REGION
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME
: nom du MIGREGION
: région du groupe d'instances
API
Pour désactiver la redistribution proactive des instances, définissez le champ instanceRedistributionType
sur NONE
à l'aide de l'une des méthodes suivantes :
Pour un MIG régional sans autoscaling ou pour un MIG régional avec autoscaling dont le mode est défini sur
OFF
ouONLY_SCALE_OUT
, utilisez la méthoderegionInstanceGroupManagers.patch
.Exemple :
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "instanceRedistributionType": "NONE" } }
Pour un MIG régional avec autoscaling dont le mode est défini sur
ON
, utilisez la méthoderegionInstanceGroupManagers.patch
(bêta).Exemple :
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "instanceRedistributionType": "NONE" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requêteREGION
: région du groupe d'instancesINSTANCE_GROUP_NAME
: nom du MIG
Activer la redistribution proactive des instances
Pour activer la redistribution proactive des instances, exécutez une commande semblable à celle utilisée pour désactiver la redistribution proactive des instances, mais définissez le type de redistribution des instances sur PROACTIVE
.
Si vous avez supprimé ou abandonné manuellement certaines instances gérées, entraînant une répartition inégale des VM au sein de la région, vous devez rééquilibrer manuellement le groupe avant de pouvoir réactiver la redistribution proactive des instances. Il ne doit pas y avoir plus d'une VM de différence entre deux zones.
Un MIG régional n'autorise pas l'activation de la redistribution proactive des instances tant que les VM ne sont pas réparties de manière homogène entre les zones (c'est-à-dire tant qu'il existe une différence d'au moins deux VM entre deux zones). Cela permet d'éviter une suppression automatique involontaire des VM dans les zones contenant le plus de VM, ce qui serait l'option utilisée pour obtenir une répartition régulière.
Étape suivante
- Découvrez comment afficher des informations sur les MIG et leurs VM.
- Découvrez comment travailler avec des VM dans un MIG, et notamment comment ajouter, recréer ou supprimer des instances.