Créer et démarrer une instance de VM

Ce document explique comment créer une instance de machine virtuelle à l'aide d'une image de disque de démarrage, d'un instantané de disque de démarrage ou d'une image de conteneur. Lors de la création d'une instance de VM à partir d'une image de disque de démarrage, vous pouvez utiliser une image standard ou une image de VM protégéeBÊTA. Les images de VM protégées offrent des fonctionnalités de sécurité telles que le micrologiciel conforme à l'UEFI, le démarrage sécurisé et le démarrage mesuré protégé par le module vTPM. Compute Engine démarre automatiquement l'instance de VM après sa création.

Vous pouvez créer plusieurs disques pour votre instance de VM au cours du processus de création. Vous pouvez également ajouter des disques à l'instance après sa création.

Ce document explique les méthodes de base pour créer une instance. Pour des configurations d'instance plus spécifiques ou complexes, veuillez consulter les ressources suivantes :

Avant de commencer

Créer une instance à partir d'une image

Cette section explique comment créer une instance à partir d'une image issue d'un système d'exploitation spécifique. Une image de disque de démarrage contient le bootloader, le système de fichiers de démarrage et un système d'exploitation qui s'exécute sur l'instance.

Les utilisateurs avancés peuvent créer une image personnalisée pour remplacer les images publiques proposées par Compute Engine.

Vous pouvez créer une instance avec une image dans la console Google Cloud Platform, l'outil de ligne de commande gcloud ou l'API.

Créer une instance à partir d'une image publique

Les images publiques sont fournies et gérées par Google, par des communautés Open Source ou par des fournisseurs tiers. Par défaut, tous les projets ont accès à ces images et peuvent les utiliser pour créer des instances avec des images de systèmes d'exploitation communs.

Pour créer une instance, spécifiez la famille d'images du système d'exploitation dont vous avez besoin. Compute Engine propose plusieurs distributions Linux, dont certaines sont disponibles en tant qu'images standards et images de VM protégées. Si vous choisissez un stockage SSD local pour votre instance, vous ne pouvez pas utiliser les fonctionnalités de surveillance d'intégrité de la VM protégée, ni utiliser le module vTPM pour la protection de données. Pour obtenir la liste des familles d'images disponibles, voir les images publiques.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le bouton Créer une instance.
  4. Indiquez un Nom pour votre instance.
  5. Modifiez la Zone pour cette instance, si besoin.

    Remarque : La liste des zones affiche des résultats aléatoires dans chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez un Type de machine pour votre instance.

  7. Dans la section Disque de démarrage, cliquez sur Modifier pour configurer le disque de démarrage.
    Créez un disque de démarrage limité à 2 To pour tenir compte des limitations relatives aux partitions MBR.

  8. Dans l'onglet Images d'OS, choisissez une image.
    Sélectionnez Afficher les images disposant des fonctionnalités des VM protégées pour n'afficher que les images de VM protégées.

  9. Cliquez sur Sélectionner.

  10. Pour autoriser le trafic HTTP ou HTTPS vers l'instance de VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    La console GCP ajoute un tag réseau à votre instance et crée la règle de pare-feu d'entrée correspondante, qui autorise l'intégralité du trafic entrant sur le port tcp:80 (HTTP) ou tcp:443 (HTTPS). Le tag réseau associe la règle de pare-feu à l'instance. Pour plus d'informations, consultez la section Présentation des règles de pare-feu dans la documentation sur Virtual Private Cloud.

  11. Pour ajouter des disques secondaires non amorçables à votre instance de VM :

    1. Cliquez sur la section Gestion, sécurité, disques, mise en réseau et location unique.
    2. Cliquez sur l'onglet Disques.
    3. Dans Disques supplémentaires, cliquez sur Ajouter un disque.
    4. Renseignez les champs Nom, Type, Type de source, Mode et Règle de suppression du disque.
    5. Cliquez sur OK.
    6. Ajoutez des disques supplémentaires, si nécessaire.
  12. Vous pouvez également modifier les paramètres de la VM protégée de l'instance si vous avez choisi une image compatible avec la VM protégée :

    1. Dans la section Gestion, sécurité, disques, mise en réseau et location unique, cliquez sur l'onglet Sécurité.
    2. Si vous souhaitez désactiver le démarrage sécurisé, décochez la case Activer le démarrage sécurisé. Le démarrage sécurisé permet de protéger vos instances de VM contre les logiciels malveillants et les rootkits opérant au niveau des secteurs de démarrage et du noyau. Pour plus d'informations, consultez la section Démarrage sécurisé.
    3. Si vous souhaitez désactiver le module vTPM (Virtual Trusted Platform Module), décochez la case Activer vTPM. Le module vTPM active le démarrage mesuré, ce qui permet de valider l'intégrité du pré-amorçage et du démarrage de la VM. Pour plus d'informations, consultez la section Module vTPM (Virtual Trusted Platform Module).

    4. Si vous souhaitez désactiver la surveillance de l'intégrité, décochez la case Activer la surveillance de l'intégrité. Cette fonctionnalité vous permet de surveiller l'intégrité du démarrage de vos instances de VM protégées à l'aide de Stackdriver. Pour plus d'informations, consultez la section Surveillance de l'intégrité.

  13. Cliquez sur le bouton Créer pour créer et démarrer l'instance.

gcloud

Avant de créer une instance, sélectionnez une image de système d'exploitation à utiliser pour le disque de démarrage de votre instance. Exécutez la commande gcloud compute images list sans indicateur pour afficher la liste complète des images publiques de VM non protégées, ainsi que leurs ID, familles d'images et projets d'images :

gcloud compute images list

Exécutez la commande gcloud compute images list avec les indicateurs suivants pour afficher la liste complète des images publiques de VM protégées :

gcloud compute images list --project gce-uefi-images --no-standard-images

Après avoir sélectionné une image, créez une instance à l'aide de la commande gcloud compute instances create.

Pour utiliser la dernière version d'une image de système d'exploitation, renseignez les paramètres --image-family et --image-project. Par exemple, debian-9 correspond à une famille d'images qui renvoie la version la plus récente de l'image Debian 9 non obsolète et debian-cloud correspond au projet d'image.

Créez une instance avec la dernière image d'une famille d'images :

gcloud compute instances create [INSTANCE_NAME] \
--image-family [IMAGE_FAMILY] \
--image-project [IMAGE_PROJECT]

Où :

Exemple de réponse :

Created [https://www.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]/instances/[INSTANCE_NAME]].
NAME            ZONE   MACHINE_TYPE  INTERNAL_IP   EXTERNAL_IP    STATUS
[INSTANCE_NAME] [ZONE] n1-standard-1 10.105.155.92 173.255.114.53 RUNNING

Si vous devez utiliser une version d'image spécifique au lieu de la dernière version, renseignez les paramètres --image et --image-project. Par exemple, pour créer une instance utilisant l'image Debian debian-9-stretch-v20170619, spécifiez --image debian-9-stretch-v20170619 et --image-project debian-cloud.

Créez une instance avec la version spécifique d'une image :

gcloud compute instances create [INSTANCE_NAME] \
    --image [IMAGE_ID] \
    --image-project [IMAGE_PROJECT]

Où :

  • [INSTANCE_NAME] correspond au nom de la nouvelle instance.
  • [IMAGE_ID] correspond à une image spécifique.
  • [IMAGE_PROJECT] correspond au projet d'image auquel appartient la famille d'images.

Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables lors de la création de votre instance. Spécifiez l'indicateur --create-disk pour chaque disque secondaire que vous créez. Pour créer des disques secondaires à partir d'une image publique ou d'une image issue d'une banque d'images, spécifiez les propriétés image et image-project dans l'indicateur --create-disk. Pour créer un disque vide, n'incluez pas ces propriétés. Vous pouvez également inclure des valeurs pour les propriétés size et type du disque.

gcloud compute instances create [INSTANCE_NAME] \
  --image-family [IMAGE_FAMILY] \
  --image-project [IMAGE_PROJECT] \
  --create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

Où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [IMAGE_FAMILY] est l'une des familles d'images disponibles.
  • [IMAGE_PROJECT] est le projet d'image auquel appartient l'image.
  • [DISK_IMAGE] correspond à l'image source du disque secondaire. Pour obtenir la liste des images disponibles, exécutez gcloud compute images list. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [DISK_IMAGE_PROJECT] est le projet d'image auquel appartient l'image disque. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [SIZE_GB] correspond à la taille du disque secondaire.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

Si vous avez choisi une image compatible avec les VM protégées, vous pouvez également modifier les paramètres de la VM protégée de l'instance en spécifiant l'un des paramètres suivants :

  • --no-shielded-vm-secure-boot : désactive le démarrage sécurisé. Le démarrage sécurisé permet de protéger vos instances de VM contre les logiciels malveillants et les rootkits opérant au niveau des secteurs de démarrage et du noyau. Pour plus d'informations, consultez la section Démarrage sécurisé.
  • --no-shielded-vm-vtpm : désactive le module vTPM (Virtual Trusted Platform Module). Le module vTPM active le démarrage mesuré, ce qui permet de valider l'intégrité du pré-amorçage et du démarrage de la VM. Pour plus d'informations, consultez la section Module vTPM (Virtual Trusted Platform Module).

  • --no-shielded-vm-integrity-monitoring : désactive la surveillance de l'intégrité. Cette fonctionnalité vous permet de surveiller l'intégrité du démarrage de vos instances de VM protégées à l'aide de Stackdriver. Pour plus d'informations, consultez la section Surveillance de l'intégrité.

    L'exemple suivant permet de créer une instance de VM protégée Ubuntu avec le démarrage sécurisé désactivé :

    gcloud beta compute instances create my-instance
    --image-family ubuntu-1804-uefi --image-project gce-uefi-images
    --no-shielded-vm-secure-boot

API

Pour démarrer une instance dans l'API, envoyez une requête et spécifiez les propriétés suivantes :

  • Image source
  • Interface réseau
  • Type de machine
  • Si votre réseau VPC est un réseau VPC en mode personnalisé, vous devez également spécifier le sous-réseau sur lequel vous voulez créer l'instance.
  • Si vous avez choisi une image compatible avec les VM protégées, vous pouvez éventuellement modifier les paramètres de la VM protégée de l'instance en renseignant les éléments suivants dans le corps de la requête booléenne :

    • enableSecureBoot : active ou désactive le démarrage sécurisé. Le démarrage sécurisé permet de protéger vos instances de VM contre les logiciels malveillants et les rootkits opérant au niveau des secteurs de démarrage et du noyau. Pour plus d'informations, consultez la section Démarrage sécurisé.
    • enableVtpm : active ou désactive le module vTPM (Virtual Trusted Platform Module). Le module vTPM active le démarrage mesuré, ce qui permet de valider l'intégrité du pré-amorçage et du démarrage de la VM. Pour plus d'informations, consultez la section Module vTPM (Virtual Trusted Platform Module).

    • enableIntegrityMonitoring : active ou désactive la surveillance de l'intégrité. La surveillance de l'intégrité vous permet de contrôler et de valider l'intégrité pendant le démarrage de l'environnement d'exécution de vos instances de VM protégées au moyen de rapports Stackdriver. Pour plus d'informations, consultez la section Surveillance de l'intégrité.

Après avoir sélectionné les propriétés de ressource, créez un corps de requête et effectuez une requête d'API. Pour en savoir plus sur la construction des requêtes d'API et la gestion des réponses de l'API, consultez la documentation Créer des requêtes d'API et gérer les réponses.

Créer la requête d'API

Si vous utilisez la bibliothèque cliente de l'API, vous pouvez démarrer une nouvelle instance en appelant directement l'API REST ou en utilisant instances().insert. Voici un exemple pour chaque option :

REST

Dans l'API, créez une requête POST vers l'URI des instances avec le même corps de requête. Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables au moment de la création d'une instance de VM en spécifiant la propriété initializeParams pour chaque disque supplémentaire. Créez des disques supplémentaires avec une image publique ou privée. Pour ajouter des disques vides, ne spécifiez pas d'image source. Vous pouvez éventuellement inclure les propriétés diskSizeGb et diskType.

def addInstance(http, listOfHeaders):
  url = "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances"

  body = {
    "name": "[INSTANCE_NAME]",
    "machineType": "machineTypes/[MACHINE_TYPE]",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT"
       }],
      "network": "global/networks/default"
    }],
    "disks": [{
       "autoDelete": "true",
       "boot": "true",
       "type": "PERSISTENT",
       "initializeParams": {
          "sourceImage": "projects/[IMAGE_PROJECT]/global/images/family/[IMAGE]"
       }
     },
     {
       "initializeParams": {
          "diskSizeGb": "[SIZE_GB]",
          "sourceImage":"[IMAGE]"
       },
       {
       "initializeParams": {
          "diskSizeGb": "[SIZE_GB]"
       }
     }]

  bodyContentURLEncoded = urllib.urlencode(bodyContent)
  resp, content = http.request(uri=url, method="POST", body=dumps(bodyContent), headers=listOfHeaders)

  print resp
  print content

où :

  • [INSTANCE_NAME] est le nom de l'instance.
  • [PROJECT_ID] est l'ID de votre projet.
  • [ZONE] est la zone de cette instance.
  • [MACHINE_TYPE] est le type de machine de l'instance.
  • [IMAGE_PROJECT] est le projet d'image auquel appartient l'image, par exemple debian-cloud, ubuntu-os-cloud, etc.
  • [IMAGE] est l'une des familles d'images publiques disponibles. Par exemple, family/debian-9 utilise la dernière version de l'image Debian 9. Vous pouvez également utiliser une version d'image spécifique telle que debian-9-stretch-v20170619, sans le chemin d'accès family/. Pour les disques vides, ne spécifiez pas d'image source.
  • [SIZE_GB] correspond à la taille du disque.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Si vous créez une instance avec des disques secondaires vides, formatez et installez ces disques afin que votre système d'exploitation invité puisse les utiliser.

Bibliothèque cliente Python

def create_instance(compute, project, zone, name, bucket):
    # Get the latest Debian Jessie image.
    image_response = compute.images().getFromFamily(
        project='debian-cloud', family='debian-9').execute()
    source_disk_image = image_response['selfLink']

    # Configure the machine
    machine_type = "zones/%s/machineTypes/n1-standard-1" % zone
    startup_script = open(
        os.path.join(
            os.path.dirname(__file__), 'startup-script.sh'), 'r').read()
    image_url = "http://storage.googleapis.com/gce-demo-input/photo.jpg"
    image_caption = "Ready for dessert?"

    config = {
        'name': name,
        'machineType': machine_type,

        # Specify the boot disk and the image to use as a source.
        'disks': [
            {
                'boot': True,
                'autoDelete': True,
                'initializeParams': {
                    'sourceImage': source_disk_image,
                }
            }
        ],

        # Specify a network interface with NAT to access the public
        # internet.
        'networkInterfaces': [{
            'network': 'global/networks/default',
            'accessConfigs': [
                {'type': 'ONE_TO_ONE_NAT', 'name': 'External NAT'}
            ]
        }],

        # Allow the instance to access cloud storage and logging.
        'serviceAccounts': [{
            'email': 'default',
            'scopes': [
                'https://www.googleapis.com/auth/devstorage.read_write',
                'https://www.googleapis.com/auth/logging.write'
            ]
        }],

        # Metadata is readable from the instance and allows you to
        # pass configuration from deployment scripts to instances.
        'metadata': {
            'items': [{
                # Startup script is automatically executed by the
                # instance upon startup.
                'key': 'startup-script',
                'value': startup_script
            }, {
                'key': 'url',
                'value': image_url
            }, {
                'key': 'text',
                'value': image_caption
            }, {
                'key': 'bucket',
                'value': bucket
            }]
        }
    }

    return compute.instances().insert(
        project=project,
        zone=zone,
        body=config).execute()

Créer une instance à partir d'une image personnalisée

Une image personnalisée appartient uniquement à votre projet. Pour créer une instance avec une image personnalisée, vous devez d'abord en posséder une. Pour apprendre à la créer, consultez la section Créer une image personnalisée.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le bouton Créer une instance.
  4. Indiquez un Nom pour votre instance.
  5. Modifiez la Zone pour cette instance, si besoin.

    Remarque : La liste des zones affiche des résultats aléatoires dans chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez un Type de machine pour votre instance.

  7. Dans la section Disque de démarrage, cliquez sur Modifier pour configurer le disque de démarrage.
    Créez un disque de démarrage limité à 2 To pour tenir compte des limitations relatives aux partitions MBR.

  8. Sélectionnez l'onglet Images personnalisées.

  9. Assurez-vous que votre projet est sélectionné dans le menu déroulant.

  10. Choisissez une image et cliquez sur le bouton Sélectionner.

  11. Pour autoriser le trafic HTTP ou HTTPS vers l'instance de VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    La console GCP ajoute un tag réseau à votre instance et crée la règle de pare-feu d'entrée correspondante, qui autorise l'intégralité du trafic entrant sur le port tcp:80 (HTTP) ou tcp:443 (HTTPS). Le tag réseau associe la règle de pare-feu à l'instance. Pour plus d'informations, consultez la section Présentation des règles de pare-feu dans la documentation sur Virtual Private Cloud.

  12. Pour ajouter des disques secondaires non amorçables à votre instance de VM :

    1. Cliquez sur Gestion, sécurité, disques, réseau et location unique.
    2. Sélectionnez l'onglet Disques.
    3. Dans Disques supplémentaires, cliquez sur Ajouter un disque.
    4. Renseignez les champs Nom, Type, Type de source, Mode et Règle de suppression du disque.
    5. Cliquez sur OK.
    6. Ajoutez des disques supplémentaires, si nécessaire.
  13. Cliquez sur le bouton Créer pour créer et démarrer l'instance.

gcloud

Créez une instance avec une image personnalisée à l'aide de l'outil de ligne de commande gcloud compute instances create :

gcloud compute instances create [INSTANCE_NAME] \
--image [IMAGE_NAME] \
--image-family [IMAGE_FAMILY]

où :

  • [INSTANCE_NAME] correspond au nom de l'instance.
  • [IMAGE_NAME] correspond au nom de l'image.
  • [IMAGE] est un champ facultatif. Utilisez une image privée ou publique. Si aucune image n'est spécifiée, le disque sera vide.

Si vous avez créé vos images personnalisées au sein d'une famille d'images, spécifiez cette dernière au lieu du nom de l'image. Ainsi, l'instance utilisera automatiquement l'image la plus récente et non obsolète de la famille d'images.

Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables lors de la création de votre instance. Spécifiez l'indicateur --create-disk pour chaque disque secondaire que vous créez. Pour créer des disques secondaires à partir d'une image publique ou d'une image issue d'une banque d'images, spécifiez les propriétés image et image-project dans l'indicateur --create-disk. Pour créer un disque vide, n'incluez pas ces propriétés. Vous pouvez également inclure des valeurs pour les propriétés size et type du disque.

gcloud compute instances create [INSTANCE_NAME] \
  --image-family [IMAGE_FAMILY] \
  --image-project [IMAGE_PROJECT] \
  --create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

Où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [IMAGE_FAMILY] est l'une des familles d'images disponibles.
  • [IMAGE_PROJECT] est le projet d'image auquel appartient l'image.
  • [DISK_IMAGE] correspond à l'image source du disque secondaire. Pour obtenir la liste des images disponibles, exécutez gcloud compute images list. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [DISK_IMAGE_PROJECT] est le projet d'image auquel appartient l'image disque. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [SIZE_GB] correspond à la taille du disque secondaire.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

API

Le processus de création d'une instance avec une image personnalisée dans l'API est le même que lorsque vous créez une instance avec une image accessible à tous. Dans l'URI sourceImage, indiquez votre propre ID de projet et le nom de l'image.

Vous pouvez créer jusqu'à 15 disques secondaires non amorçables au moment de la création de votre instance de VM en spécifiant la propriété initializeParams pour chaque disque supplémentaire. Créez des disques supplémentaires avec une image publique ou privée. Pour ajouter un disque vide, définissez l'entrée initializeParams sans valeur sourceImage.

...
"initializeParams" :{
   "sourceImage": "global/images/[IMAGE_NAME]"
},
{
"initializeParams": {
   "diskSizeGb": "[SIZE_GB]",
   "sourceImage": "[IMAGE]",
   "diskType": "[DISK_TYPE]"
 },
 {
 "initializeParams": {
 "diskSizeGb": "[SIZE_GB]",
 "diskType": "[DISK_TYPE]"
 }
}...]

Où :

  • [PROJECT_ID] est l'ID de votre projet.
  • [IMAGE_NAME] correspond à l'image spécifique, telle que debian-9-stretch-v20170619. Vous pouvez également spécifier une famille d'images. Par exemple, family/debian-9 renvoie la dernière version de l'image Debian 9.
  • [IMAGE] correspond à l'image source du disque secondaire. Pour les disques vides, ne spécifiez pas d'image source.
  • [SIZE_GB] correspond à la taille du disque.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

Créer une instance avec une image partagée avec vous

Si un autre utilisateur a partagé une image avec vous, vous pouvez utiliser cette image pour créer une instance.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le bouton Créer une instance.
  4. Indiquez un Nom pour votre instance.
  5. Modifiez la Zone pour cette instance, si besoin.

  6. Sélectionnez un Type de machine pour votre instance.

  7. Dans la section Disque de démarrage, cliquez sur Modifier pour configurer le disque de démarrage.

    Créez un disque de démarrage limité à 2 To pour tenir compte des limitations relatives aux partitions MBR.

  8. Sélectionnez l'onglet Images personnalisées.

  9. Sélectionnez le projet d'image dans la liste déroulante.

  10. Choisissez une image et cliquez sur le bouton Sélectionner.

  11. Pour autoriser le trafic HTTP ou HTTPS vers l'instance de VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    La console GCP ajoute un tag réseau à votre instance et crée la règle de pare-feu d'entrée correspondante, qui autorise l'intégralité du trafic entrant sur le port tcp:80 (HTTP) ou tcp:443 (HTTPS). Le tag réseau associe la règle de pare-feu à l'instance. Pour plus d'informations, consultez la page Présentation des règles de pare-feu dans la documentation relative à Virtual Private Cloud.

  12. Pour ajouter des disques secondaires non amorçables à votre instance de VM :

    1. Cliquez sur Gestion, sécurité, disques, réseau et location unique.
    2. Sélectionnez l'onglet Disques.
    3. Dans Disques supplémentaires, cliquez sur Ajouter un disque.
    4. Renseignez les champs Nom, Type, Type de source, Mode et Règle de suppression du disque.
    5. Cliquez sur OK.
    6. Ajoutez des disques supplémentaires, si nécessaire.
  13. Cliquez sur le bouton Créer pour créer et démarrer l'instance.

gcloud

Créez une instance à l'aide de la commande gcloud compute instances create, puis utilisez les indicateurs --image et --image-project pour spécifier le nom de l'image et le projet où celle-ci réside :

gcloud compute instances create [INSTANCE_NAME] \
    --image [IMAGE] \
    --image-project [IMAGE_PROJECT]

où :

  • [INSTANCE_NAME] correspond au nom de la nouvelle instance.
  • [IMAGE] correspond au nom de l'image.
  • [IMAGE_PROJECT] correspond au projet auquel appartient l'image.

Si la commande réussit, gcloud envoie une réponse contenant les propriétés de la nouvelle instance :

Created [https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance].
NAME                 ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
example-instance     us-central1-b  n1-standard-1               10.240.0.4   104.198.53.60  RUNNING</pre>

Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables lors de la création de votre instance. Spécifiez l'indicateur --create-disk pour chaque disque secondaire que vous créez. Pour créer des disques secondaires à partir d'une image publique ou d'une image issue d'une banque d'images, spécifiez les propriétés image et image-project dans l'indicateur --create-disk. Pour créer un disque vide, n'incluez pas ces propriétés. Vous pouvez également inclure des valeurs pour les propriétés size et type du disque.

gcloud compute instances create [INSTANCE_NAME] \
--image-family [IMAGE_FAMILY] \
--image-project [IMAGE_PROJECT] \
--create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

Où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [IMAGE_FAMILY] est l'une des familles d'images disponibles.
  • [IMAGE_PROJECT] est le projet d'image auquel appartient l'image.
  • [DISK_IMAGE] correspond à l'image source du disque secondaire. Pour obtenir la liste des images disponibles, exécutez gcloud compute images list. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [DISK_IMAGE_PROJECT] est le projet d'image auquel appartient l'image disque. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [SIZE_GB] correspond à la taille du disque secondaire.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

API

Suivez les instructions de l'API pour créer une instance à partir d'une image publique, mais spécifiez le champ image dans le corps de la requête. Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables en spécifiant le champ initalizeParams pour chaque disque supplémentaire. Pour ajouter des disques vides, ne spécifiez pas d'image source. Vous pouvez également inclure les propriétés diskSizeGb et diskType.

...
image: "projects/[PROJECT_ID]/global/images/[IMAGE]

{
 "initializeParams": {
    "diskSizeGb": "[SIZE_GB]",
    "sourceImage": "[IMAGE]"
       }
   {
  "initializeParams": {
  "diskSizeGb": "[SIZE_GB]"
   }
 }...]

Où :

  • [PROJECT_ID] correspond au projet contenant l'image.
  • [IMAGE] correspond à l'image source.
  • [SIZE_GB] correspond à la taille du disque.
  • [IMAGE] correspond à l'image source du disque secondaire. Pour les disques vides, ne spécifiez pas d'image source.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

Créer une instance à partir d'un instantané

Si vous avez sauvegardé un disque persistant de démarrage avec un instantané, vous pouvez utiliser ce dernier pour créer une instance.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le bouton Créer une instance.
  4. Indiquez un Nom pour votre instance.
  5. Modifiez la Zone pour cette instance, si besoin.

  6. Sélectionnez un Type de machine pour votre instance.

  7. Dans la section Disque de démarrage, cliquez sur Modifier pour configurer le disque de démarrage.

    Créez un disque de démarrage limité à 2 To pour tenir compte des limitations relatives aux partitions MBR.

  8. Cliquez sur l'onglet Instantanés et choisissez un instantané dans la liste.

  9. Cliquez sur Sélectionner.

  10. Pour autoriser le trafic HTTP ou HTTPS vers l'instance de VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    La console GCP ajoute un tag réseau à votre instance et crée la règle de pare-feu d'entrée correspondante, qui autorise l'intégralité du trafic entrant sur le port tcp:80 (HTTP) ou tcp:443 (HTTPS). Le tag réseau associe la règle de pare-feu à l'instance. Pour plus d'informations, consultez la page Présentation des règles de pare-feu dans la documentation relative à Virtual Private Cloud.

  11. Pour ajouter des disques secondaires non amorçables à votre instance de VM :

    1. Cliquez sur Gestion, sécurité, disques, réseau et location unique.
    2. Sélectionnez l'onglet Disques.
    3. Dans Disques supplémentaires, cliquez sur Ajouter un disque.
    4. Renseignez les champs Nom, Type, Type de source, Mode et Règle de suppression du disque.
    5. Cliquez sur OK.
    6. Ajoutez des disques supplémentaires, si nécessaire.
  12. Cliquez sur le bouton Créer pour créer et démarrer l'instance.

gcloud

Avec l'outil de ligne de commande gcloud, vous ne pouvez pas utiliser un instantané pour créer directement une instance comme dans la console. Commencez par créer un disque persistant de démarrage autonome à partir d'un instantané. Puis, utilisez ce disque pour créer une instance.

  1. Créez un disque persistant de démarrage autonome à partir d'un instantané à l'aide de la commande gcloud compute disks create.

    gcloud compute disks create [DISK_NAME] --source-snapshot [SNAPSHOT_NAME]
    
  2. Exécutez la commande gcloud compute instances create pour créer une instance, puis associez le disque via l'indicateur --disk et la propriété boot=yes.

    gcloud compute instances create [INSTANCE_NAME] --disk name=[DISK_NAME],boot=yes
    

    Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables lors de la création de votre instance. Spécifiez l'indicateur --create-disk pour chaque disque secondaire que vous créez. Pour créer des disques secondaires à partir d'une image publique ou d'une image issue d'une banque d'images, spécifiez les propriétés image et image-project dans l'indicateur --create-disk. Pour créer un disque vide, n'incluez pas ces propriétés. Vous pouvez également inclure des valeurs pour les propriétés size et type du disque.

    gcloud compute instances create [INSTANCE_NAME] \
       --image-family [IMAGE_FAMILY] \
       --image-project [IMAGE_PROJECT] \
       --create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]
    

    Où :

    • [INSTANCE_NAME] est le nom de la nouvelle instance.
    • [IMAGE_FAMILY] est l'une des familles d'images disponibles.
    • [IMAGE_PROJECT] est le projet d'image auquel appartient l'image.
    • [DISK_IMAGE] correspond à l'image source du disque secondaire. Pour obtenir la liste des images disponibles, exécutez gcloud compute images list. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
    • [DISK_IMAGE_PROJECT] est le projet d'image auquel appartient l'image disque. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
    • [SIZE_GB] correspond à la taille du disque secondaire.
    • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

API

Dans l'API, vous ne pouvez pas utiliser un instantané pour créer directement une instance comme dans la console. Commencez par créer un disque persistant de démarrage autonome à partir d'un instantané. Ensuite, utilisez ce disque pour créer une instance.

Restrictions :

  • Un seul disque persistant peut être le disque persistant de démarrage.
  • Vous devez associer le disque persistant de démarrage en tant que premier disque pour cette instance.
  • Si vous spécifiez la propriété source, la propriété initializeParams ne pourra pas être utilisée. En effet, la propriété source spécifie que le disque persistant de démarrage existe déjà, tandis que la propriété initializeParams indique que Compute Engine doit en créer un.

Pour créer une instance à partir d'un instantané :

  1. Créez un disque persistant de démarrage autonome à partir d'un instantané.

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks
    
    {
      "name": "[DISK_NAME]",
      "sourceSnapshot": "zones/[ZONE]/snapshots/[SNAPSHOT_NAME]"
    }
    
  2. Associez le disque lorsque vous créez une instance. Dans le corps de la requête, incluez les propriétés permettant de créer une instance. Dans la propriété disks, renseignez le champ source avec l'URL du disque persistant que vous souhaitez associer. Pour ajouter jusqu'à 15 disques secondaires non amorçables, indiquez la propriété initializeParams pour chaque disque. Pour ajouter des disques vides, ne spécifiez pas d'image source. Vous pouvez également inclure les propriétés diskSizeGb et diskType.

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances
    
    {
      "name": "[INSTANCE_NAME]",
      "machineType": "machineTypes/[MACHINE_TYPE]"
      "networkInterfaces": [{
        "accessConfigs": [{
          "type": "ONE_TO_ONE_NAT",
          "name": "External NAT"
         }],
        "network": "global/networks/default"
      }],
      "disks": [{
         "source": "zones/[ZONE]/disks/[DISK_NAME]",
         "boot": true
       }],
       "initializeParams": [{
          "diskSizeGb": "[SIZE_GB]",
          "sourceImage": "[IMAGE]"
        }
       {
       "initializeParams": {
       "diskSizeGb": "[SIZE_GB]"
       }
    }...]
    

    Où :

    • [IMAGE] correspond à l'image source du disque secondaire. Pour les disques vides, ne spécifiez pas d'image source.
    • [SIZE_GB] correspond à la taille du disque.
    • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

Créer une instance à partir d'une image de conteneur

Pour déployer et lancer un conteneur sur une instance Compute Engine, spécifiez un nom d'image de conteneur, ainsi que des paramètres de configuration facultatifs lors de la création de l'instance. Compute Engine crée l'instance à l'aide de la dernière version de l'image publique de Container-Optimized OS, sur laquelle Docker est installé. Compute Engine lance ensuite le conteneur au démarrage de la VM. Consultez la section Déployer des conteneurs sur des VM pour plus d'informations.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Cliquez sur Créer une instance.
  3. Indiquez un Nom pour votre instance.
  4. Dans la section Conteneur, cochez la case Déployer une image de conteneur dans cette instance de VM.
  5. Spécifiez l'Image de conteneur à utiliser.
    • Par exemple, vous pouvez renseigner gcr.io/cloud-marketplace/google/nginx1:1.12 pour sélectionner une image de conteneur NGINX 1.12 dans Cloud Launcher.
    • Si vous utilisez une image de conteneur de Docker Hub, spécifiez toujours le nom complet de l'image Docker. Par exemple, pour déployer une image de conteneur Apache, utilisez le nom d'image suivant : docker.io/httpd:2.4.
  6. Vous pouvez également cliquer sur Options avancées des conteneurs. Pour plus d'informations, consultez la page Configurer des options pour exécuter votre conteneur.
  7. Cliquez sur Créer pour créer et démarrer l'instance, puis lancez le conteneur.

gcloud

Exécutez la commande gcloud compute instances create-with-container :

gcloud compute instances create-with-container [INSTANCE_NAME] \
     --container-image [CONTAINER_IMAGE]

où :

  • [INSTANCE_NAME] correspond au nom de la nouvelle instance.
  • [CONTAINER_IMAGE] correspond au nom de l'image de conteneur.

Par exemple, la commande suivante crée une instance de VM nommée nginx-vm qui va lancer et exécuter l'image de conteneur gcr.io/cloud-marketplace/google/nginx1:1.12.

gcloud compute instances create-with-container nginx-vm \
    --container-image gcr.io/cloud-marketplace/google/nginx1:1.12

Lorsque vous utilisez une image de conteneur de Docker Hub, vous devez toujours spécifier le nom complet de l'image Docker. Par exemple, spécifiez le nom d'image suivant pour déployer une image de conteneur Apache : docker.io/httpd:2.4.

Créer une instance avec accès à d'autres services Google Cloud Platform

Si vous envisagez d'exécuter une application sur une instance de machine virtuelle qui a besoin d'accéder à d'autres services Google Cloud Platform, créez un compte de service avant de créer l'instance, puis suivez les instructions pour configurer une instance pour qu'elle s'exécute en tant que compte de service. Un compte de service est un compte spécial dont les identifiants peuvent être utilisés dans le code de votre application pour accéder à d'autres services Google Cloud Platform.

Pour plus d'informations sur les comptes de service, consultez la section Présentation des comptes de service.

Créer une instance dans un sous-réseau spécifique

Par défaut, Google Cloud Platform (GCP) crée pour chaque projet un réseau VPC en mode automatique appelé default. Si vous créez une instance sans spécifier les détails du réseau, Compute Engine utilisera le réseau VPC par défaut et le sous-réseau automatique situé dans la même région que l'instance.

Pour utiliser un réseau ou sous-réseau que vous avez créé manuellement dans un réseau VPC en mode automatique ou en mode personnalisé, vous devez spécifier le sous-réseau au moment de la création de l'instance.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le bouton Créer une instance.
  4. Indiquez un Nom pour votre instance.
  5. Modifiez la Zone pour cette instance, si besoin.

  6. Pour autoriser le trafic HTTP ou HTTPS vers l'instance de VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    La console GCP ajoute un tag réseau à votre instance et crée la règle de pare-feu d'entrée correspondante, qui autorise l'intégralité du trafic entrant sur le port tcp:80 (HTTP) ou tcp:443 (HTTPS). Le tag réseau associe la règle de pare-feu à l'instance. Pour plus d'informations, consultez la page Présentation des règles de pare-feu dans la documentation relative à Virtual Private Cloud.

  7. Développez la section Gestion, sécurité, disques, mise en réseau et location unique.

  8. Dans Interfaces réseau, dans l'onglet Réseau, spécifiez les détails du réseau.

    1. Dans le champ Réseau, sélectionnez le réseau VPC contenant le sous-réseau que vous avez créé.
    2. Dans le champ Sous-réseau, sélectionnez le sous-réseau que l'instance utilisera.
  9. Pour ajouter des disques secondaires non amorçables à votre instance de VM :

    1. Cliquez sur Gestion, sécurité, disques, réseau et location unique.
    2. Sélectionnez l'onglet Disques.
    3. Dans Disques supplémentaires, cliquez sur Ajouter un disque.
    4. Renseignez les champs Nom, Type, Type de source, Mode et Règle de suppression du disque.
    5. Cliquez sur OK.
    6. Ajoutez des disques supplémentaires, si nécessaire.
  10. Cliquez sur le bouton Créer pour créer et démarrer l'instance.

gcloud

À l'aide de l'outil de ligne de commande gcloud, reprenez les instructions permettant de créer une instance à partir d'une image ou d'un instantané, puis ajoutez les indicateurs --subnet [SUBNET_NAME] et --zone [ZONE_NAME] lorsque vous exécutez la commande gcloud compute instances create :

gcloud compute instances create [INSTANCE_NAME] --subnet [SUBNET_NAME] \
--zone [ZONE_NAME]

où :

  • [INSTANCE_NAME] correspond au nom de l'instance.
  • [SUBNET_NAME] correspond au nom du sous-réseau. Le réseau est déduit du sous-réseau spécifié.
  • [ZONE_NAME] correspond au nom de la zone dans laquelle l'instance est créée, par exemple europe-west1-b. La région de l'instance est déduite de la zone.

Vous pouvez ajouter jusqu'à 15 disques secondaires non amorçables lors de la création de votre instance. Spécifiez l'indicateur --create-disk pour chaque disque secondaire que vous créez. Pour créer des disques secondaires à partir d'une image publique ou d'une image issue d'une banque d'images, spécifiez les propriétés image et image-project dans l'indicateur --create-disk. Pour créer un disque vide, n'incluez pas ces propriétés. Vous pouvez également inclure des valeurs pour les propriétés size et type du disque.

gcloud compute instances create [INSTANCE_NAME] \
--subnet [SUBNET_NAME] \
--zone [ZONE_NAME] \
--image-family [IMAGE_FAMILY] \
--image-project [IMAGE_PROJECT] \
--create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

Où :

  • [INSTANCE_NAME] correspond au nom de la nouvelle instance.
  • [SUBNET_NAME] correspond au nom du sous-réseau.
  • [ZONE_NAME] correspond au nom de la zone dans laquelle l'instance est créée, par exemple europe-west1-b.
  • [IMAGE_FAMILY] est l'une des familles d'images disponibles.
  • [IMAGE_PROJECT] est le projet d'image auquel appartient l'image.
  • [DISK_IMAGE] correspond à l'image source du disque secondaire. Pour obtenir la liste des images disponibles, exécutez gcloud compute images list. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [DISK_IMAGE_PROJECT] est le projet d'image auquel appartient l'image disque. Pour les disques vides, ne spécifiez pas d'image disque ni de projet d'image.
  • [SIZE_GB] correspond à la taille du disque secondaire.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

API

Suivez les instructions de l'API pour créer une instance à partir d'une image ou d'un instantané, mais spécifiez le champ subnet dans le corps de la requête. Pour ajouter jusqu'à 15 disques secondaires non amorçables, utilisez la propriété initializeParams pour chaque disque. Pour ajouter des disques vides, ne spécifiez pas d'image source. Vous pouvez également inclure les propriétés diskSizeGb et diskType.

...
"networkInterfaces": [
{
  "network": "global/networks/[NETWORK_NAME]",
  "subnetwork": "regions/[REGION]/subnetworks/[SUBNET_NAME]",
  "accessConfigs":
    {
      "name": "External NAT",
      "type": "ONE_TO_ONE_NAT"
    }
    {
      "initializeParams": {
         "diskSizeGb": "[SIZE_GB]",
         "sourceImage": "[IMAGE]"
    {
      "initializeParams": {
      "diskSizeGb": "[SIZE_GB]"
     }
 }...]

Où :

  • [IMAGE] correspond à l'image source du disque secondaire. Pour les disques vides, ne spécifiez pas d'image source.
  • [SIZE_GB] correspond à la taille du disque.
  • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).

Formatez et installez les disques avant de les utiliser.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine