Cette page explique comment utiliser un modèle d'instance pour créer une instance de VM. Un modèle d'instance est une ressource API qui définit les propriétés des instances de VM. Vous définissez des propriétés telles que le type de machine, l'image de l'OS, les configurations du disque persistant, les métadonnées, les scripts de démarrage, etc., dans un modèle d'instance puis vous pouvez utiliser ce modèle d'instance pour créer des instances de VM individuelles ou des groupes d'instances gérés.
Lorsque vous créez une instance de VM à partir d'un modèle d'instance, le comportement par défaut consiste à créer une instance de VM identique aux propriétés spécifiées dans le modèle, à l'exception du nom de l'instance de VM et de la zone dans laquelle l'instance se situera. Vous pouvez également remplacer certains champs lors de la création de l'instance si vous souhaitez modifier certaines propriétés du modèle d'instance pour des utilisations spécifiques.
Dans le présent document, nous partons du principe que vous disposez d'un modèle d'instance prêt à être utilisé. Si vous n'avez pas de modèle d'instance, suivez les instructions afin de créer un modèle d'instance.
Avant de commencer
- Lisez la documentation sur le modèle d'instance.
- Créez un modèle d'instance.
-
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.
- 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.
- 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.
- 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.
Accédez à la page Créer une instance dans Google Cloud Console.
Cliquez sur Nouvelle instance de VM à partir d'un modèle.
Sélectionnez votre modèle, puis cliquez sur Continuer.
Spécifiez le nom de la VM et effectuez des personnalisations si nécessaire.
Cliquez sur Créer.
Pour en savoir plus sur la configuration, consultez la page Créer une instance de VM à partir d'une image.
VM_NAME
: le nom de l'instance.INSTANCE_TEMPLATE_NAME
: le nom du modèle d'instance à utiliser. Pour un modèle d'instance régional, vous devez spécifier l'URL complète ou partielle du modèle.https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
est un exemple d'URL complète etprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
est un exemple d'URL partielle.- Si vous remplacez un champ de base, le champ de base correspondant dans le modèle d'instance sera remplacé par la valeur du champ de base dans la requête. Les champs de base incluent
machineType
,sourceImage
,name
, etc. - Si vous remplacez un champ répété, toutes les valeurs répétées pour cette propriété seront remplacées par les valeurs correspondantes fournies dans la requête.
Les champs répétés sont généralement des propriétés de type
list
. Par exemple,disks
etnetworkInterfaces
sont des champs répétés. - Si vous remplacez un objet imbriqué
nested object
, l'objet du modèle d'instance sera fusionné avec la spécification d'objet correspondante de la requête. Notez que si un objet imbriqué se situe dans un champ répété, le champ est traité conformément aux règles s'appliquant aux champs répétés. Les libellés font exception à cette règle et sont traités en tant que champ répété, même s'ils sont de typeobject
. - Consultez la documentation sur les instances de VM préemptives.
- Consultez la page relative aux scripts d'arrêt.
- Consultez la tarification des instances préemptives.
- Connectez-vous à l'instance.
Go
Pour utiliser les exemples Go 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.
Java
Pour utiliser les exemples Java 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.
Node.js
Pour utiliser les exemples Node.js 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.
Python
Pour utiliser les exemples Python 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.
Créer une instance de VM à partir d'un modèle d'instance
Vous pouvez utiliser un modèle d'instance régional ou global pour créer une instance de VM. Pour créer une instance respectant scrupuleusement le modèle d'instance, suivez les instructions suivantes.
Console
gcloud
Pour créer une VM à partir d'un modèle d'instance régional ou global, utilisez la même commande
gcloud compute instances create
que vous utiliseriez pour créer une instance normale, mais ajoutez le paramètre--source-instance-template
:gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_NAME
Remplacez les éléments suivants :
Exemple :
gcloud compute instances create example-instance \ --source-instance-template my-instance-template
Go
Java
Node.js
Python
REST
Pour créer une VM à partir d'un modèle d'instance régional ou global, envoyez une requête normale pour créer une instance, mais incluez le paramètre de requête
sourceInstanceTemplate
suivi du chemin d'accès complet d'un modèle d'instance.POST https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID/zones/ZONE/ instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_NAME
Dans le corps de la requête, fournissez un
name
pour l'instance de VM :{ "name": "example-instance" }
Par exemple, l'extrait suivant inclut un chemin d'accès complet vers le modèle :
https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
.POST https://compute.googleapis.com/ compute/v1/projects/myproject/zones/us-central1-a/instances?sourceInstanceTemplate= https://compute.googleapis.com/compute/v1/projects/myproject/global/ instanceTemplates/example-instance-template
{ "name": "example-instance" }
Créer une instance de VM à partir d'un modèle d'instance avec remplacements
Lorsque vous utilisez un modèle d'instance pour démarrer une instance de VM, le comportement par défaut consiste à créer une instance de VM exactement telle que décrite dans le modèle d'instance, à l'exception du nom et de la zone de l'instance.
Si vous souhaitez créer une instance principalement basée sur un modèle d'instance, mais avec quelques modifications, vous pouvez utiliser le comportement de remplacement. Pour ce faire, vous transmettez des attributs à remplacer dans le modèle d'instance existant lors de la création de l'instance.
gcloud
À l'aide de gcloud CLI, envoyez une demande de création d'instance avec l'indicateur
gcloud
et remplacez les propriétés de votre choix par l'indicateur--source-instance-template
approprié. Pour afficher la liste des indicateurs applicables, consultez la documentation de référencegcloud
.Par exemple, spécifiez les options suivantes pour remplacer le type de machine, les métadonnées, le système d'exploitation, le disque de démarrage du disque persistant et un disque secondaire de modèle d'instance :
gcloud compute instances create example-instance \ --source-instance-template example-instance --machine-type e2-standard-2 \ --image-family debian-9 --image-project debian-cloud \ --metadata bread=butter --disk=boot=no,name=my-override-disk
Go
Java
Node.js
Python
REST
Dans l'API, utilisez le paramètre de requête
sourceInstanceTemplate
et fournissez les champs que vous souhaitez remplacer dans le corps de la requête lors de l'élaboration d'une requête normale pour créer une instance.Le comportement de remplacement dans l'API suit les règles des correctifs de fusion JSON, décrites dans le document RFC 7396.
Plus précisément :
Par exemple, supposons que vous disposiez d'un modèle d'instance doté de deux disques non amorçables, mais que vous souhaitiez remplacer l'un d'entre eux. Vous devez indiquer l'intégralité de la spécification
disks
dans votre requête, y compris les disques que vous souhaitez conserver.L'URL de cette requête :
POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances? sourceInstanceTemplate=https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
Le corps de la requête :
{ "disks": [ { # Since you are overriding the repeated disk property, you must # specify a boot disk in the request, even if it is already # specified in the instance template "autoDelete": true, "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-8" }, "mode": "READ_WRITE", "type": "PERSISTENT" }, { # New disk you want to use "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-override-disk", "type": "PERSISTENT" }, { # Assume this disk is already specified in instance template, but # you must specify it again since you are overriding the disks # property "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-other-disk-to-keep", "type": "PERSISTENT" } ], "machineType": "zones/us-central1-f/machineTypes/e2-standard-2", "name": "example-instance" }
Étapes suivantes
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).
-