Ce document explique comment créer un groupe d'instances géré (MIG) qui utilise des instances de VM préemptives. Les VM préemptives sont utiles si votre charge de travail peut tolérer des perturbations et que vous souhaitez tirer parti des économies associées aux VM préemptives.
Vous pouvez également découvrir d'autres scénarios de base pour la création d'un MIG.
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 en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
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.
-
Dans la console, accédez à la page Modèles d'instances.
Accéder à la page "Modèles d'instances"
Les étapes restantes s'affichent dans la console Google Cloud.
-
Cliquez sur
Créer un modèle d'instance . - Spécifiez les propriétés souhaitées pour votre modèle d'instance.
-
Cliquez sur
Options avancées , puis développez la section Gestion. -
Sous Règle de disponibilité, dans la liste
Modèle de provisionnement de VM , sélectionnez Spot. -
Cliquez sur
Créer pour générer le modèle. - Configurez l'autoréparation basée sur l'application, qui vérifie périodiquement que votre application répond comme prévu sur chacune des VM du MIG et recrée automatiquement les VM qui ne répondent pas.
- Activez l'autoscaling pour ajouter ou supprimer automatiquement des VM dans votre groupe d'instances géré en fonction de l'augmentation ou de la diminution de la charge.
- Découvrez comment appliquer une nouvelle configuration à un sous-ensemble ou à l'ensemble des VM d'un MIG en définissant et en appliquant un nouveau modèle d'instance, une configuration sur toutes les instances, ou une configuration par instance.
- Préservez les disques, les métadonnées et les adresses IP lors d'événements perturbateurs tels que la recréation, l'autoréparation et la mise à jour de VM en ajoutant une configuration avec état.
- Découvrez comment utiliser des instances gérées, par exemple pour supprimer, abandonner et recréer des VM dans un MIG.
- Affichez les informations sur les MIG et leurs VM.
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
Pour afficher la liste complète des limites des MIG, qui varie en fonction de la configuration que vous utilisez, consultez la section Limites des MIG.
Créer un modèle d'instance avec des VM préemptives
Vous pouvez utiliser un MIG zonal ou régional pour créer rapidement plusieurs VM préemptives, ce qui peut réduire les coûts des VM de vos groupes d'instances gérés. Par exemple, vous pouvez créer un groupe de VM préemptives, exécuter une tâche de traitement par lot à l'aide de ces VM, puis supprimer le groupe une fois la tâche terminée.
Pour créer un groupe de VM préemptives, activez l'option "Préemption" dans un modèle d'instance, puis créez le MIG à partir de ce modèle.
Console
gcloud
Créez un modèle d'instance à l'aide de la commande
instance-templates create
. Spécifiez l'option--preemptible
.gcloud compute instance-templates create INSTANCE_TEMPLATE \ --preemptible
Terraform
L'exemple suivant crée un modèle d'instance global. Pour fournir l'option "Préemption", incluez le bloc
scheduling
. Pour en savoir plus sur la ressource utilisée dans l'exemple, consultez la section consacrée à la ressourcegoogle_compute_instance_template
. Pour créer un modèle d'instance régional, utilisez la ressourcegoogle_compute_region_instance_template
.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
REST
Appelez la méthode
instanceTemplates.insert
pour créer un modèle d'instance. Ajoutez la propriétéscheduling.preemptible
, puis définissez-la surtrue
.{ "name": "INSTANCE_TEMPLATE", "properties": { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "scheduling": { "preemptible": true }, "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-9" } } ] } }
Une fois le modèle d'instance généré, utilisez-le pour créer un MIG avec des VM limitées à une seule zone ou avec des VM réparties sur plusieurs zones d'une même région.
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-