Si vous utilisez un groupe d'instances géré (MIG) régional, vous pouvez définir la forme de distribution cible de ce MIG sur l'une des les options suivantes :
- EVEN (ÉGAL, valeur par défaut) : le groupe crée et supprime des VM pour atteindre et conserver le même nombre de VM dans les zones sélectionnées. Dans une distribution
EVEN
, le nombre de VM ne diffère pas de plus de 1 entre deux zones données. Option recommandée pour les charges de travail de diffusion à disponibilité élevée. - BALANCED (ÉQUILIBRÉ) : le groupe priorise la création de VM dans les zones où des ressources sont disponibles, tout en répartissant les VM aussi uniformément que possible entre les zones sélectionnées afin de minimiser l'impact d'une défaillance zonale. Option recommandée pour les charges de travail de diffusion ou par lot à disponibilité élevée.
- ANY (N'IMPORTE QUELLE ZONE) : le groupe choisit les zones dans lesquelles créer les instances de VM afin de respecter le nombre de VM demandé dans les limites des ressources disponibles et d'optimiser l'utilisation des réservations zonales non utilisées. Option recommandée pour les charges de travail par lot ne nécessitant pas une disponibilité élevée.
- N'IMPORTE QUELLE ZONE UNIQUE : le groupe crée toutes les instances de VM dans une seule zone. La zone est choisie en fonction de la compatibilité matérielle, de la disponibilité actuelle des ressources et des quotas, et des réservations correspondantes. Option recommandée en association avec une stratégie d'emplacement compact des instances pour les charges de travail qui nécessitent une communication approfondie entre les VM.
Pour utiliser des VM réservées dans un groupe d'instances géré régional, créez des réservations identiques portant le même nom dans chaque zone applicable. Ensuite, ciblez ces réservations par leur nom dans le modèle d'instance du groupe.
Pour vous aider à choisir une forme, consultez le tableau comparatif, les cas d'utilisation et le fonctionnement des formes de distribution.
Définissez une forme de distribution cible lorsque vous créez votre MIG régional ou que vous modifiez la forme cible d'un MIG régional existant.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant 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 comme suit :
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
-
Limites
- Vous ne pouvez sélectionner des zones pour le groupe d'instances géré que lorsque vous le créez.
Si vous spécifiez des ressources dans le modèle d'instance ou la configuration avec état de votre MIG qui ne sont pas disponibles dans toutes les zones sélectionnées, les limites suivantes s'appliquent :
- Vous devez définir la forme de distribution cible sur
BALANCED
,ANY
ouANY_SINGLE_ZONE
. - Vous devez vous assurer que toutes les ressources requises par le MIG, telles que les disques, les types de machines ou les GPU existants, sont disponibles dans au moins l'une des zones sélectionnées.
- Si vous souhaitez remplacer la configuration du MIG (par exemple, le modèle d'instance) par une configuration qui ne peut pas être instanciée dans toutes les zones sélectionnées, vous devez supprimer les instances gérées de toutes les zones non compatibles avant de définir la nouvelle configuration.
- Vous devez définir la forme de distribution cible sur
Pour définir la forme de distribution cible sur
BALANCED
ouANY_SINGLE_ZONE
, vous devez désactiver la redistribution proactive des instances.- Si vous souhaitez effectuer l'autoscaling d'un groupe d'instances géré régional, vous devez définir la forme de distribution cible du groupe sur
BALANCED
(bêta) ouEVEN
. Si vous définissez la forme de distribution cible sur
BALANCED
,ANY
ouANY_SINGLE_ZONE
, les limites suivantes s'appliquent :- Les mises à jour Canary avec deux versions ne sont pas acceptées.
- En cas de disponibilité limitée des ressources demandées dans l'ensemble de la région, le groupe peut planifier la création d'instances de VM dans une zone où les ressources sont déjà indisponibles. Vous pouvez essayer de réduire et d'augmenter la taille du groupe pour obtenir les ressources demandées dans d'autres zones.
- Les mises à jour progressives qui utilisent la méthode de remplacement
SUBSTITUTE
tentent de créer les instances mises à jour dans la même zone que les machines obsolètes, même si la zone ne dispose pas des ressources nécessaires pour répondre aux exigences de la nouvelle version. Pour remédier à ce problème, vous pouvez supprimer les VM obsolètes de la zone limitée, puis augmenter la taille du groupe en fonction du nombre de VM supprimées. Le groupe crée des instances à partir du dernier modèle dans les zones disposant d'une capacité suffisante. - Si vous souhaitez mettre à jour le modèle d'instance du groupe pour qu'il utilise un modèle spécifiant les ressources qui ne sont pas disponibles dans toutes les zones sélectionnées, vous devez supprimer les instances gérées des zones non compatibles avant de définir le nouveau modèle.
Si vous définissez la forme de distribution cible sur
ANY_SINGLE_ZONE
et que le groupe dispose de VM existantes dans une seule zone, vous ne pouvez créer des VM supplémentaires que dans cette zone. Si vous souhaitez utiliser une autre zone, vous devez d'abord réduire le nombre de VM dans le groupe à zéro.Si vous devez provisionner un groupe de VM à locataire unique, vous devez définir la forme de distribution cible du groupe d'instances géré sur
EVEN
. Créez vos groupes de nœuds dans les mêmes zones que les zones du MIG et définissez les affinités de nœuds dans le modèle d'instance du MIG.
Créer un groupe avec une forme de distribution cible
Pour créer votre groupe, sélectionner ses zones et définir sa forme de distribution cible, utilisez la console Google Cloud, la gcloud CLI, Terraform ou REST.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
- Toutes les autorisations requises pour appeler la méthode
regionInstanceGroupManagers.insert
- 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.
- Sélectionnez l'une des options du groupe d'instances géré : sans état (par défaut) ou avec état.
- 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.
- Si vous souhaitez que votre MIG puisse utiliser toutes les zones de la région, sélectionnez toutes les zones disponibles.
- Notez qu'après la création d'un MIG régional, vous ne pouvez pas le mettre à jour pour utiliser des zones différentes.
Choisissez une forme de distribution cible.
- Si vous souhaitez sélectionner l'option Any (N'importe quelle zone) ou Any single zone (N'importe quelle zone unique), cliquez sur Mode d'autoscaling dans la section Autoscaling puis choisissez Supprimer la configuration d'autoscaling.
- Si vous souhaitez sélectionner l'option Any single zone (N'importe quelle zone unique) ou Balanced (Équilibré), ne sélectionnez pas Autoriser la redistribution des instances dans la section Redistribution des instances.
Terminez le processus de création de MIG.
Exécutez la commande gcloud compute instance-groups managed create
avec l'option --target-distribution-shape
.
gcloud compute instance-groups managed createINSTANCE_GROUP_NAME \ --templateTEMPLATE \ --sizeSIZE \ --regionREGION \ --zonesZONES \ --target-distribution-shapeSHAPE
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME
: nom du groupe d'instances.TEMPLATE
: nom du modèle d'instance à utiliser pour le groupe.SIZE
: taille cible du groupe d'instances.REGION
: région dans laquelle vous souhaitez créer votre groupe.ZONES
(facultatif) : liste des zones de la région dans lesquelles vous souhaitez déployer les instances de VM. Par défaut, Compute Engine sélectionne trois zones pour vous.Si vous souhaitez que votre MIG puisse utiliser toutes les zones de la région, spécifiez toutes les zones disponibles. Vous pouvez obtenir la liste des zones de la région à l'aide de la commande suivante :
gcloud compute zones list --filter=region:
--format='list(NAME)'REGION Notez qu'après la création d'un MIG régional, vous ne pouvez pas le mettre à jour pour utiliser des zones différentes.
SHAPE
: forme de distribution cible. Il peut s'agir de l'une des valeurs suivantes :even
(valeur par défaut) : le groupe crée et supprime des VM pour atteindre et conserver le même nombre de VM dans les zones sélectionnées. Dans une distributionEVEN
, le nombre de VM ne diffère pas de plus de 1 entre deux zones données. Option recommandée pour les charges de travail de diffusion à disponibilité élevée.balanced
: le groupe priorise la création de VM dans les zones où des ressources sont disponibles, tout en répartissant les VM aussi uniformément que possible entre les zones sélectionnées afin de minimiser l'impact d'une défaillance zonale. Option recommandée pour les charges de travail de diffusion ou par lot à disponibilité élevée.any
: le groupe choisit les zones dans lesquelles créer les instances de VM afin de respecter le nombre de VM demandé dans les limites des ressources disponibles et d'optimiser l'utilisation des réservations zonales non utilisées. Option recommandée pour les charges de travail par lot ne nécessitant pas une disponibilité élevée.any-single-zone
: le groupe planifie toutes les instances de VM dans une seule zone. La zone est choisie en fonction de la compatibilité matérielle, de la disponibilité actuelle des ressources et des quotas, et des réservations correspondantes. Option recommandée en association avec une stratégie d'emplacement compact des instances pour les charges de travail qui nécessitent une communication approfondie entre les VM.
Par exemple, pour créer un MIG régional avec une forme de distribution cible équilibrée, définissez l'option --target-distribution-shape
sur balanced
.
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --target-distribution-shape balanced \ --instance-redistribution-type none
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 régional, utilisez la ressource google_compute_region_instance_group_manager
.
L'exemple suivant crée un MIG régional avec la forme de distribution cible BALANCED
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Appelez la méthode regionInstanceGroupManagers.insert
.
Dans le corps de la requête, incluez la propriété distributionPolicy
et définissez son champ targetShape
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /regions/REGION /instanceGroupManagers { "name":INSTANCE_GROUP_NAME , "instanceTemplate": "global/instanceTemplates/TEMPLATE ", "targetSize":SIZE , "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1 "}, {"zone": "zones/ZONE2 "}, {"zone": "zones/ZONE3 "}, ], "targetShape": "SHAPE " } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requête.REGION
: région du groupe d'instances.INSTANCE_GROUP_NAME
: nom du groupe d'instances.TEMPLATE
: nom du modèle d'instance à utiliser pour le groupe.SIZE
: taille cible du groupe d'instances.ZONE
: nom d'une zone de la région dans laquelle vous souhaitez déployer les instances de VM.- Si vous souhaitez que votre MIG puisse utiliser toutes les zones de la région, spécifiez toutes les zones disponibles. Vous pouvez obtenir la liste des zones de la région en appelant la méthode
regions.get
. - Notez qu'après la création d'un MIG régional, vous ne pouvez pas le mettre à jour pour utiliser des zones différentes.
- Si vous souhaitez que votre MIG puisse utiliser toutes les zones de la région, spécifiez toutes les zones disponibles. Vous pouvez obtenir la liste des zones de la région en appelant la méthode
SHAPE
: forme de distribution cible. Il peut s'agir de l'une des valeurs suivantes :EVEN
(valeur par défaut) : le groupe crée et supprime des VM pour atteindre et conserver le même nombre de VM dans les zones sélectionnées. Dans une distributionEVEN
, le nombre de VM ne diffère pas de plus de 1 entre deux zones données. Option recommandée pour les charges de travail de diffusion à disponibilité élevée.BALANCED
: le groupe priorise la création de VM dans les zones où des ressources sont disponibles, tout en répartissant les VM aussi uniformément que possible entre les zones sélectionnées afin de minimiser l'impact d'une défaillance zonale. Option recommandée pour les charges de travail de diffusion ou par lot à disponibilité élevée.ANY
: le groupe choisit les zones dans lesquelles créer les instances de VM afin de respecter le nombre de VM demandé dans les limites des ressources disponibles et d'optimiser l'utilisation des réservations zonales non utilisées. Option recommandée pour les charges de travail par lot ne nécessitant pas une disponibilité élevée.ANY_SINGLE_ZONE
: le groupe planifie toutes les instances de VM dans une seule zone. La zone est choisie en fonction de la compatibilité matérielle, de la disponibilité actuelle des ressources et des quotas, et des réservations correspondantes. Option recommandée en association avec une stratégie d'emplacement compact des instances pour les charges de travail qui nécessitent une communication approfondie entre les VM.
Modifier la forme de distribution cible d'un groupe existant
Vous pouvez modifier la forme de distribution cible d'un MIG régional existant, mais les limites suivantes s'appliquent :
- Si vous souhaitez définir la forme de distribution cible sur
BALANCED
ouANY_SINGLE_ZONE
, vous devez d'abord désactiver la redistribution proactive. - Si vous souhaitez définir la forme de distribution cible sur
EVEN
et que la distribution actuelle des instances est inégale, vous devez d'abord désactiver la redistribution proactive. - Si vous définissez la forme sur
EVEN
et que vous souhaitez réactiver la redistribution proactive, vous devez d'abord rééquilibrer manuellement le groupe. - Si vous souhaitez remplacer la forme de distribution cible par
EVEN
, bien que votre modèle d'instance spécifie des ressources non compatibles avec toutes les zones sélectionnées, vous devez d'abord mettre à jour le modèle d'instance du groupe vers une ressource compatible avec toutes les zones sélectionnées.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
compute.instanceGroupManagers.update
sur le groupe d'instances
- 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 dont vous souhaitez modifier la forme de distribution cible.
- Cliquez sur Modifier pour modifier le groupe d'instances géré.
- Sous Forme de distribution cible, spécifiez la forme de votre choix.
- Cliquez sur Enregistrer pour appliquer le nouveau modèle.
Exécutez la commande gcloud compute instance-groups managed update
avec l'option --target-distribution-shape
.
gcloud compute instance-groups managed updateINSTANCE_GROUP_NAME \ --target-distribution-shapeSHAPE
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME
: nom du groupe d'instances.SHAPE
: forme de distribution cible. Il peut s'agir de l'une des valeurs suivantes :even
(valeur par défaut) : le groupe crée et supprime des VM pour atteindre et conserver le même nombre de VM dans les zones sélectionnées. Dans une distributionEVEN
, le nombre de VM ne diffère pas de plus de 1 entre deux zones données. Option recommandée pour les charges de travail de diffusion à disponibilité élevée.balanced
: le groupe priorise la création de VM dans les zones où des ressources sont disponibles, tout en répartissant les VM aussi uniformément que possible entre les zones sélectionnées afin de minimiser l'impact d'une défaillance zonale. Option recommandée pour les charges de travail de diffusion ou par lot à disponibilité élevée.any
: le groupe choisit les zones dans lesquelles créer les instances de VM afin de respecter le nombre de VM demandé dans les limites des ressources disponibles et d'optimiser l'utilisation des réservations zonales non utilisées. Option recommandée pour les charges de travail par lot ne nécessitant pas une disponibilité élevée.any-single-zone
: le groupe planifie toutes les instances de VM dans une seule zone. La zone est choisie en fonction de la compatibilité matérielle, de la disponibilité actuelle des ressources et des quotas, et des réservations correspondantes. Option recommandée en association avec une stratégie d'emplacement compact des instances pour les charges de travail qui nécessitent une communication approfondie entre les VM.
Appelez la méthode regionInstanceGroupManagers.patch
.
Dans le corps de la requête, incluez la propriété distributionPolicy
et définissez son champ targetShape
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /regions/REGION /instanceGroupManagers/INSTANCE_GROUP_NAME { "distributionPolicy": { "targetShape": "SHAPE " } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requête.REGION
: région du groupe d'instances.INSTANCE_GROUP_NAME
: nom du groupe d'instances.SHAPE
: forme de distribution cible. Il peut s'agir de l'une des valeurs suivantes :EVEN
(valeur par défaut) : le groupe crée et supprime des VM pour atteindre et conserver le même nombre de VM dans les zones sélectionnées. Dans une distributionEVEN
, le nombre de VM ne diffère pas de plus de 1 entre deux zones données. Option recommandée pour les charges de travail de diffusion à disponibilité élevée.BALANCED
: le groupe priorise la création de VM dans les zones où des ressources sont disponibles, tout en répartissant les VM aussi uniformément que possible entre les zones sélectionnées afin de minimiser l'impact d'une défaillance zonale. Option recommandée pour les charges de travail de diffusion ou par lot à disponibilité élevée.ANY
: le groupe choisit les zones dans lesquelles créer les instances de VM afin de respecter le nombre de VM demandé dans les limites des ressources disponibles et d'optimiser l'utilisation des réservations zonales non utilisées. Option recommandée pour les charges de travail par lot ne nécessitant pas une disponibilité élevée.ANY_SINGLE_ZONE
: le groupe planifie toutes les instances de VM dans une seule zone. La zone est choisie en fonction de la compatibilité matérielle, de la disponibilité actuelle des ressources et des quotas, et des réservations correspondantes. Option recommandée en association avec une stratégie d'emplacement compact des instances pour les charges de travail qui nécessitent une communication approfondie entre les VM.
Afficher la règle de distribution des instances configurée
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
compute.instanceGroupManagers.get
sur le groupe d'instances
- Dans Google Cloud Console, accédez à la page Groupes d'instances. Cette page répertorie les groupes d'instances dont vous disposez,
- Cliquez sur le nom du groupe d'instances que vous souhaitez examiner. La page qui s'ouvre affiche les propriétés du groupe d'instances, ainsi que la liste des instances qui en font partie.
- Cliquez sur Détails.
- Dans la section Emplacement, recherchez Forme de distribution cible.
Exécutez la commande gcloud compute instance-groups managed describe
.
gcloud compute instance-groups managed describeINSTANCE_GROUP_NAME \ --regionREGION
La commande renvoie des informations sur le groupe, y compris le champ distributionPolicy.targetShape
:
... distributionPolicy: targetShape: BALANCED zones: - zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f ... name: my-group region: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1 ...
Envoyez une requête GET
à la méthode regionInstanceGroupManagers.get
.
GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID /regions/REGION /instanceGroupManagers/INSTANCE_GROUP_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requêteREGION
: région du groupe d'instancesINSTANCE_GROUP_NAME
: nom du groupe d'instances.
La forme de distribution cible est renvoyée dans le champ distributionPolicy.targetShape
. Exemple :
{ "name": "my-instance-group", "distributionPolicy": { "targetShape": "BALANCED", }, "targetSize": 50, ... }
Étape suivante
- Découvrez comment afficher des informations sur les MIG et leurs VM.
- Découvrez comment utiliser les VM dans un MIG, y compris comment ajouter, recréer et supprimer des VM, et mettre à jour leur configuration.