Créer et démarrer une instance de VM

Ce document explique comment créer une instance de machine virtuelle (VM) à l'aide d'une image de disque de démarrage, d'un instantané de disque de démarrage ou d'une image de conteneur. Certaines images sont compatibles avec les fonctionnalités de sécurité de VM protégée, telles que le micrologiciel compatible UEPI, le démarrage sécurisé et le démarrage mesuré protégé par vTPM. Sur les VM protégées, vTPM et la surveillance de l'intégrité sont activés par défaut.

Vous pouvez créer un ou plusieurs disques pour votre VM lors du processus de création. Vous pouvez également ajouter des disques à la VM après sa création. Compute Engine démarre automatiquement la VM après sa création.

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

Si vous utilisez une licence existante, consultez la section Utiliser sa propre licence avec des nœuds à locataire unique.

Avant de commencer

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

Cette section explique comment créer une VM à partir d'une image d'OS publique ou d'une image personnalisée. Une VM contient un bootloader, un système de fichiers de démarrage et une image de l'OS.

Afficher une liste d'images publiques disponibles sur Compute Engine

Avant de créer une VM à l'aide d'une image publique, consultez la liste des images publiques disponibles sur Compute Engine.

Pour plus d'informations sur les fonctionnalités disponibles avec chaque image publique, consultez la section Compatibilité des fonctionnalités par système d'exploitation.

Console

  1. Dans Google Cloud Console, accédez à la page Images.

    Accéder à la page "Images"

gcloud

  1. Exécutez la commande suivante :

    gcloud compute images list
  2. Notez le nom de l'image ou de la famille d'images, ainsi que du projet contenant l'image.

  3. Facultatif : déterminez si l'image est compatible avec les fonctionnalités de VM protégée. Pour ce faire, exécutez la commande suivante et recherchez UEFI_COMPATIBLE dans la sortie :

    gcloud compute images describe VM_NAME \
        --project IMAGE_PROJECT
    

    Remplacez l'élément suivant :

    • VM_NAME : nom de l'image pour laquelle vérifier la compatibilité avec les fonctionnalités de VM protégée
    • IMAGE_PROJECT : projet contenant l'image

API

  1. Exécutez la commande suivante :

    GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/
    
  2. Notez le nom de l'image ou de la famille d'images ainsi que celui du projet contenant l'image.

  3. Facultatif : déterminez si l'image est compatible avec les fonctionnalités de VM protégée. Pour ce faire, exécutez la commande suivante et recherchez UEFI_COMPATIBLE dans la sortie :

    GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE_NAME
    

    Remplacez l'élément suivant :

    • IMAGE_PROJECT : projet contenant l'image
    • IMAGE_NAME : nom de l'image pour laquelle vérifier la compatibilité avec les fonctionnalités de VM protégée

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

Google, ainsi que des communautés Open Source et des fournisseurs tiers, fournissent et gèrent des images de l'OS publiques. Par défaut, tous les projets Google Cloud peuvent créer des VM à partir d'images de l'OS publiques. Toutefois, si votre projet Cloud dispose d'une liste définie d'images de confiance, vous pouvez utiliser uniquement les images de cette liste pour créer une VM.

Si vous créez une image de VM protégée avec un SSD local, vous ne pouvez pas protéger les données avec la surveillance de l'intégrité ou le module vTPM (Virtual Trusted Platform Module).

Console

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Cliquez sur Create instance (Créer une instance).

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Facultatif : modifiez la zone de cette VM. Compute Engine choisit de manière aléatoire la liste des zones de chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez une configuration de machine pour votre VM.

  7. Dans la section Disque de démarrage, cliquez sur Modifier pour configurer le disque de démarrage. Sauf si vous choisissez explicitement un autre disque de démarrage, si le nom de la nouvelle VM correspond au nom d'un disque persistant existant, le disque persistant existant est automatiquement associé à la nouvelle VM en tant que disque de démarrage.

  8. Dans l'onglet Images publiques, choisissez un système d'exploitation et une version.

  9. Cliquez sur Enregistrer pour confirmer vos options de disque de démarrage.

  10. Sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS pour autoriser le trafic HTTP ou HTTPS vers la VM. Lorsque vous sélectionnez l'une de ces options, Compute Engine ajoute un tag réseau à votre VM, qui associe la règle de pare-feu à la VM. Compute Engine crée ensuite la règle de pare-feu d'entrée correspondante qui autorise tout le trafic entrant sur tcp:80 (HTTP) ou tcp:443 (HTTPS).

  11. Facultatif : si vous avez choisi une image d'OS compatible avec les fonctionnalités de VM protégée, vous pouvez modifier les paramètres de la VM protégée :

    1. Cliquez sur l'onglet Sécurité dans la section Gestion, sécurité, disques, mise en réseau et location unique.

    2. Pour activer le démarrage sécurisé, sélectionnez Activer le démarrage sécurisé. Le démarrage sécurisé est désactivé par défaut.

    3. Pour désactiver vTPM, désélectionnez Activer vTPM. vTPM est activé par défaut. La désactivation de vTPM désactive également la surveillance de l'intégrité, car elle repose sur les données collectées par le démarrage mesuré.

    4. Pour désactiver la surveillance de l'intégrité, désélectionnez Activer la surveillance de l'intégrité. La surveillance de l'intégrité est activée par défaut.

  12. Cliquez sur le bouton Créer pour créer et démarrer la VM.

gcloud

  1. Sélectionnez une image publique. Notez le nom de l'image ou de la famille d'images, ainsi que du projet contenant l'image.
  2. Exécutez la commande gcloud compute instances create pour créer une VM à partir d'une famille d'images ou d'une version spécifique d'une image de l'OS.

    Si vous spécifiez l'option facultative --shielded-secure-boot, Compute Engine crée une VM avec l'ensemble des fonctionnalités de VM protégée suivantes :

    Une fois que Compute Engine a démarré votre VM, vous devez l'arrêter pour modifier les options de VM protégée.

    gcloud compute instances create VM_NAME \
        [--image IMAGE | --image-family IMAGE_FAMILY] \
        --image-project IMAGE_PROJECT

    Remplacez l'élément suivant :

    • VM_NAME : nom de la nouvelle VM.
    • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :
      • IMAGE : version requise d'une image publique. Exemple :--image debian-10-buster-v20200309
      • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez --image-family debian-10, Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.
    • IMAGE_PROJECT : projet contenant l'image.
  3. Vérifiez que Compute Engine a créé la VM :

    gcloud compute instances describe VM_NAME
    

    Remplacez VM_NAME par le nom de la VM.

API

  1. Sélectionnez une image publique. Notez le nom de l'image ou de la famille d'images, ainsi que du projet contenant l'image.
  2. Utilisez la méthode instances.insert pour créer une VM à partir d'une famille d'images ou d'une version spécifique d'une image de l'OS :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances
    
    {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "VM_NAME",
     "disks": [
       {
         "initializeParams": {
           "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot": true
       }
     ],
     "shieldedInstanceConfig": {
       "enableSecureBoot": ENABLE_SECURE_BOOT
     }
    }
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet dans lequel créer la VM.
    • PROJECT_ZONE : zone dans laquelle créer la VM.
    • MACHINE_TYPE_ZONE : zone contenant le type de machine à utiliser pour la nouvelle VM.
    • MACHINE_TYPE : type de machine prédéfini ou personnalisé pour la nouvelle VM.
    • VM_NAME : nom de la nouvelle VM.
    • IMAGE_PROJECT : projet contenant l'image. Par exemple, si vous spécifiez debian-10 comme famille d'images, spécifiez debian-cloud comme projet d'image.
    • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :
      • IMAGE : version requise d'une image publique. Par exemple, "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309".
      • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.
    • ENABLE_SECURE_BOOT : (facultatif) si vous avez choisi une image compatible avec les fonctionnalités de VM protégée, Compute Engine active par défaut le module vTPM et la surveillance de l'intégrité. Compute Engine n'active pas le démarrage sécurisé par défaut. Si vous spécifiez true pour enableSecureBoot, Compute Engine crée une VM avec les trois fonctionnalités de VM protégée activées. Une fois que Compute Engine a démarré votre VM, vous devez l'arrêter pour modifier les options de VM protégée.

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 VM à partir d'une image personnalisée

Une image personnalisée appartient uniquement à votre projet. Pour créer une VM avec une image personnalisée, vous devez d'abord posséder une image de ce type. 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 le projet et cliquez sur Continuer.

  3. Cliquez sur le bouton Créer une instance.

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Facultatif : modifiez la zone de cette VM. Compute Engine choisit de manière aléatoire la liste des zones de chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez une configuration de machine pour votre VM.

  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 dont la capacité ne dépasse pas 2 To, afin de tenir compte des limitations inhérentes aux partitions MBR.

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

  9. Assurez-vous que votre projet est sélectionné 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.

    Cloud Console ajoute un tag réseau à votre VM 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 à la VM. Pour plus d'informations, consultez la section Présentation des règles de pare-feu dans la documentation du cloud privé virtuel.

  12. Cliquez sur le bouton Créer pour créer et démarrer la VM.

gcloud

Exécutez la commande gcloud compute instances create pour créer une VM avec une image personnalisée :

gcloud compute instances create VM_NAME \
    --image-project IMAGE_PROJECT \
    [--image IMAGE | --image-family IMAGE_FAMILY]

Remplacez l'élément suivant :

  • VM_NAME : nom de la VM.
  • IMAGE_PROJECT : nom du projet contenant l'image.
  • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :

    • IMAGE : nom de votre image personnalisée. Exemple :--image my-debian-image-v2
    • IMAGE_FAMILY : si vous avez créé vos images personnalisées dans le cadre d'une famille d'images personnalisées, spécifiez cette famille. Cette action crée la VM à partir de la version de l'image de l'OS la plus récente et non obsolète de votre famille d'images personnalisée. Par exemple, si vous spécifiez --image-family my-debian-family, Compute Engine crée une VM à partir de la dernière image de l'OS dans votre famille d'images personnalisée my-debian-family.

API

Le processus de création d'une VM avec une image personnalisée dans l'API est identique à celui consistant à partir d'une image accessible publiquement.

Pour créer la VM à partir d'une image personnalisée, utilisez la méthode instances.insert et, dans l'URI sourceImage, indiquez l'ID du projet contenant l'image personnalisée et le nom de l'image personnalisée.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances

{
 "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
 "name": "VM_NAME",
 "disks": [
   {
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
     },
     "boot": true
   }
 ],
 .....
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel créer la VM.
  • PROJECT_ZONE : zone dans laquelle créer la VM.
  • MACHINE_TYPE_ZONE : zone contenant le type de machine à utiliser pour la nouvelle VM.
  • MACHINE_TYPE : type de machine prédéfini ou personnalisé pour la nouvelle VM.
  • VM_NAME : nom de la nouvelle VM.
  • IMAGE_PROJECT : nom du projet contenant l'image personnalisée.
  • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :

    • IMAGE : nom de votre image personnalisée. Exemple : "sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2".
    • IMAGE_FAMILY : si vous avez créé vos images personnalisées dans le cadre d'une famille d'images personnalisées, spécifiez cette famille. Cette action crée la VM à partir de la version de l'image de l'OS la plus récente et non obsolète de votre famille d'images personnalisée. Par exemple, si vous spécifiez "sourceImage": "projects/my-project-1234/global/images/family/my-debian-family", Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images personnalisée my-debian-family.

Créer une instance de VM avec des disques non amorçables supplémentaires

Console

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Cliquez sur Create instance (Créer une instance).

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Facultatif : modifiez la zone de cette VM. Compute Engine choisit de manière aléatoire la liste des zones de chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez une configuration de machine pour votre VM.

  7. Dans la section Disque de démarrage, cliquez sur Modifier pour configurer le disque de démarrage. Sauf si vous choisissez explicitement un autre disque de démarrage, si le nom de la nouvelle VM correspond au nom d'un disque persistant existant, le disque persistant existant est automatiquement associé à la nouvelle VM en tant que disque de démarrage.

  8. Dans l'onglet Images publiques, choisissez un système d'exploitation et une version.

  9. Cliquez sur Enregistrer pour confirmer vos options de disque de démarrage.

  10. Sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS pour autoriser le trafic HTTP ou HTTPS vers la VM. Lorsque vous sélectionnez l'une de ces options, Compute Engine ajoute un tag réseau à votre VM, qui associe la règle de pare-feu à la VM. Compute Engine crée ensuite la règle de pare-feu d'entrée correspondante qui autorise tout le trafic entrant sur tcp:80 (HTTP) ou tcp:443 (HTTPS).

  11. Pour ajouter des disques non amorçables à votre VM, procédez comme suit :

    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 si nécessaire.
  12. Cliquez sur le bouton Créer pour créer et démarrer la VM.

gcloud

Exécutez la commande gcloud compute instances create pour créer une VM avec des disques supplémentaires non amorçables.

Vous pouvez ajouter jusqu'à 128 disques non amorçables lors de la création de votre VM. Spécifiez l'option --create-disk pour chaque disque non amorçable que vous créez.

Pour créer des disques non amorçables à partir d'une image publique ou d'une image issue d'une banque d'images, spécifiez les propriétés image, image-family et image-project dans l'option --create-disk. Pour créer un disque vide, n'incluez pas ces propriétés. Vous pouvez également inclure les propriétés size et type pour le disque.

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

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM.
  • IMAGE ou IMAGE_FAMILY. Spécifiez l'une des options suivantes :

    • IMAGE : version requise d'une image publique. Exemple :--image debian-10-buster-v20200309
    • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez --image-family debian-10, Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.
  • IMAGE_PROJECT : projet contenant l'image.

  • Pour les disques supplémentaires, remplacez les éléments suivants :

    • DISK_IMAGE ou DISK_IMAGE_FAMILY : spécifiez l'un des éléments suivants :
      • DISK_IMAGE : nom de l'image que vous souhaitez utiliser en tant que disque non amorçable.
      • DISK_IMAGE_FAMILY : famille d'images à utiliser comme disque non amorçable.
    • DISK_IMAGE_PROJECT : projet d'image auquel appartient l'image disque.
    • SIZE_GB : taille facultative du disque non amorçable.
    • DISK_TYPE : (facultatif) type du disque persistant. Par exemple, pd-ssd. Pour les disques vides, ne spécifiez pas les paramètres DISK_IMAGE, DISK_IMAGE_FAMILY ou DISK_IMAGE_PROJECT.

    Formatez et installez les disques avant de les utiliser.

API

Vous pouvez créer jusqu'à 128 disques 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 un disque vide, définissez l'entrée initializeParams sans valeur sourceImage.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances

{
 "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
 "name": "VM_NAME",
 "disks": [
   {
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
     },
     "boot": true
   },
   {
     "initializeParams": {
       "diskSizeGb": "SIZE_GB",
       "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE",
       "diskType": "DISK_TYPE"
   },
   {
     "initializeParams": {
     "diskSizeGb": "SIZE_GB",
     "diskType": "DISK_TYPE"
   }
    }...]

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel créer la VM.
  • PROJECT_ZONE : zone dans laquelle créer la VM.
  • MACHINE_TYPE_ZONE : zone contenant le type de machine à utiliser pour la nouvelle VM.
  • MACHINE_TYPE : type de machine prédéfini ou personnalisé pour la nouvelle VM.
  • VM_NAME : nom de la nouvelle VM.
  • IMAGE_PROJECT : nom du projet contenant l'image personnalisée.
  • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :
    • IMAGE : nom de votre image personnalisée. Exemple : "sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2".
    • IMAGE_FAMILY : si vous avez créé vos images personnalisées dans le cadre d'une famille d'images personnalisées, spécifiez cette famille. Cette action crée la VM à partir de la version de l'image de l'OS la plus récente et non obsolète de votre famille d'images personnalisée. Par exemple, si vous spécifiez "sourceImage": "projects/my-project-1234/global/images/family/my-debian-family", Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images personnalisées my-debian-family.
  • Pour les disques supplémentaires, remplacez les éléments suivants :
    • SIZE_GB : taille du disque
    • DISK_IMAGE ou DISK_IMAGE_FAMILY : spécifiez une image source ou une famille d'images source pour le disque non amorçable.
      • DISK_IMAGE : nom de l'image que vous souhaitez utiliser en tant que disque non amorçable. Exemple : "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE".
      • DISK_IMAGE_FAMILY : famille d'images à utiliser comme disque non amorçable. Exemple : "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY".
    • DISK_TYPE : type du disque persistant. Par exemple, pd-ssd. Pour les disques vides, ne spécifiez pas les paramètres DISK_IMAGE, DISK_IMAGE_FAMILY ou DISK_IMAGE_PROJECT.

Formatez et installez les disques avant de les utiliser.

Créer une instance de VM à partir d'une image partagée

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

Console

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

    Accéder à la page "Instances de VM"

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Cliquez sur le bouton Créer une instance.

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Facultatif : modifiez la zone de cette VM. Compute Engine choisit de manière aléatoire la liste des zones de chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez une configuration de machine pour votre VM.

  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 liées 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 la VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    Cloud Console ajoute un tag réseau à votre VM 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 à la VM. Pour plus d'informations, consultez la page Présentation des règles de pare-feu dans la documentation sur Virtual Private Cloud.

  12. Cliquez sur le bouton Créer pour créer et démarrer la VM.

gcloud

Créez une VM à l'aide de la commande gcloud compute instances create, et utilisez les options --image et --image-project pour spécifier le nom de l'image et le projet où se trouve l'image :

gcloud compute instances create VM_NAME \
    --image IMAGE \
    --image-project IMAGE_PROJECT

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM
  • IMAGE : nom de l'image
  • IMAGE_PROJECT : projet auquel appartient l'image

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

Created [https://compute.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  e2-standard-2               10.240.0.4   104.198.53.60  RUNNING

Formatez et installez les disques avant de les utiliser.

API

Suivez les instructions de l'API pour créer une VM à partir d'une image publique, mais spécifiez le champ image dans le corps de la requête. Pour ajouter des disques vides, ne spécifiez pas d'image source. Facultatif : vous pouvez également spécifier les propriétés diskSizeGb, diskType et labels.

[...
image: "projects/PROJECT_ID/global/images/IMAGE_NAME
{
 "initializeParams": {
    "diskSizeGb": "SIZE_GB",
    "sourceImage": "IMAGE"
       }
 }
 ...]

Remplacez l'élément suivant :

  • PROJECT_ID : projet contenant l'image.
  • IMAGE_NAME : image source
  • SIZE_GB : taille du disque
  • IMAGE : image source du disque non amorçable. Pour les disques vides, ne spécifiez pas d'image source.

Formatez et installez les disques avant de les utiliser.

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

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

Sachez que si vous prévoyez de créer plusieurs VM à partir du même instantané de disque de démarrage, vous pouvez envisager de créer une image personnalisée et de créer des VM. à partir de cette image. La création de disques de démarrage à partir d'images personnalisées prend moins de temps que la création de disques de démarrage à partir d'instantanés.

Créer un disque de démarrage d'instance de VM à partir d'un instantané

Vous pouvez restaurer un instantané d'un disque de démarrage sur un nouveau disque de démarrage lorsque vous créez une VM.

Console

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

    Accéder à la page "Instances de VM"

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Cliquez sur le bouton Créer une instance.

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Facultatif : modifiez la zone de cette VM. Compute Engine choisit de manière aléatoire la liste des zones de chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Sélectionnez une configuration de machine pour votre VM.

  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 liées aux partitions MBR.

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

  9. Cliquez sur Select (Sélectionner).

  10. Pour autoriser le trafic HTTP ou HTTPS vers la VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    Cloud Console ajoute un tag réseau à votre VM 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 à la VM. Pour plus d'informations, consultez la page Présentation des règles de pare-feu dans la documentation sur Virtual Private Cloud.

  11. Cliquez sur le bouton Créer pour créer et démarrer la VM.

gcloud

Exécutez la commande gcloud compute instances create en incluant l'option --source-snapshot :

gcloud compute instances create VM_NAME \
    --source-snapshot BOOT_SNAPSHOT_NAME \
    --boot-disk-size BOOT_DISK_SIZE \
    --boot-disk-type BOOT_DISK_TYPE \
    --boot-disk-device-name BOOT_DISK_NAME

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM.
  • BOOT_SNAPSHOT_NAME : nom de l'instantané du disque de démarrage que vous souhaitez restaurer sur le disque de démarrage de la nouvelle VM.
  • BOOT_DISK_SIZE : (facultatif) taille, en Go, du nouveau disque de démarrage. La taille de ces disques doit être au moins égale à la taille des disques sources à partir desquels les instantanés ont été créés.
  • BOOT_DISK_TYPE : (facultatif) type du disque persistant de démarrage. Par exemple, pd-ssd.
  • BOOT_DISK_NAME : nom du nouveau disque de démarrage pour cette VM.

API

Lorsque vous utilisez l'API pour créer une VM à partir d'un instantané, les restrictions suivantes s'appliquent :

  • Un seul disque persistant peut être utilisé comme disque persistant de démarrage.
  • Vous devez associer le disque persistant de démarrage en tant que premier disque pour cette VM.
  • Si vous spécifiez la propriété source, vous ne pouvez pas également spécifier la propriété initializeParams. La propriété source indique que le disque persistant de démarrage existe déjà, mais la propriété initializeParams indique que Compute Engine doit créer un disque persistant de démarrage.

    Pour créer une VM à partir d'un instantané de disque de démarrage, spécifiez le champ sourceSnapshot sous la propriété disks. Vous pouvez également spécifier les propriétés diskSizeGb et diskType pour le nouveau disque de démarrage :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "disks": [{
     "boot": true,
     "initializeParams": {
       "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
       "diskSizeGb": "BOOT_DISK_SIZE",
       "diskType": "BOOT_DISK_TYPE"
    }
   }],
 }

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet.
  • ZONE : zone dans laquelle vous souhaitez créer la VM.
  • VM_NAME : nom de la VM sur laquelle vous souhaitez restaurer un instantané.
  • MACHINE_TYPE : type de machine de la VM.
  • BOOT_SNAPSHOT_NAME : nom de l'instantané que vous souhaitez utiliser pour créer le disque de démarrage d'une nouvelle VM.
  • BOOT_DISK_SIZE : (facultatif) taille, en Go, du nouveau disque de démarrage. La taille de ces disques doit être au moins égale à la taille des disques sources à partir desquels les instantanés ont été créés.
  • BOOT_DISK_TYPE : (facultatif) type du disque de démarrage. Par exemple, pd-ssd.

Restaurer des instantanés de disques non amorçables sur une nouvelle instance de VM

Les instantanés de disques non amorçables sont des sauvegardes de disques persistants secondaires que votre VM n'utilise que pour le stockage de données. Vous pouvez restaurer des instantanés de disques non amorçables sur de nouveaux disques lorsque vous créez une VM. Vous pouvez également restaurer des instantanés de disques non amorçables sur une VM existante.

Pour restaurer des instantanés de disques non amorçables sur une nouvelle VM, effectuez ces étapes supplémentaires lorsque vous créez une VM.

Console

Lorsque vous restaurez des instantanés de disques non amorçables sur une nouvelle VM à partir de la console, commencez par créer un disque à partir de chaque instantané. Ensuite, associez les nouveaux disques lorsque vous créez la VM.

  1. Restaurez chaque instantané de disque non amorçable sur un nouveau disque.

    1. Dans Google Cloud Console, accédez à la page Disques.

      Accéder à la page Disques

    2. Cliquez sur Créer un disque.

    3. Spécifiez le paramètre Nom pour le disque. Consultez la convention d'attribution de noms des ressources.

    4. Sélectionnez une région et une zone pour ce disque. Le disque et la VM doivent se trouver dans la même zone.

    5. Sélectionnez un Type de disque.

    6. Sous Type de source, sélectionnez Instantané.

    7. Sous le nouveau champ Instantané source, sélectionnez un instantané de disque non amorçable que vous souhaitez restaurer sur le nouveau disque.

    8. Cliquez sur Créer pour créer le disque.

    9. Répétez ces étapes pour créer un disque à partir de chaque instantané que vous souhaitez restaurer. Lorsque vous créez une VM, vous pouvez ajouter jusqu'à 15 disques non amorçables.

  2. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  3. Cliquez sur Create instance (Créer une instance).

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Sélectionnez une région et une zone pour cette VM. Le disque et la VM doivent se trouver dans la même zone.

  6. Sélectionnez un type de machine pour votre VM.

  7. Si vous souhaitez autoriser le trafic externe entrant, modifiez les règles de pare-feu pour la VM.

  8. Pour associer des disques à la VM, procédez comme suit :

    1. Cliquez sur Management, security, disks, networking, sole tenancy (Gestion, sécurité, disques, mise en réseau et location unique).
    2. Sélectionnez l'onglet Disques.
    3. Sous Disques supplémentaires, cliquez sur Associer un disque existant.
    4. Dans le nouveau champ Disque, sélectionnez un disque à associer à cette VM.
    5. Spécifiez un Mode et une Règle de suppression pour le disque.
    6. Cliquez sur OK.
    7. Répétez ces étapes pour chaque disque que vous souhaitez associer à l'instance. Lorsque vous créez une VM, vous pouvez ajouter jusqu'à 15 disques non amorçables.
  9. Cliquez sur Créer pour créer et démarrer la VM.

  10. Formatez et installez les disques associés avant de les utiliser.

gcloud

Créez une VM à l'aide de la commande gcloud compute instances create. Pour chaque instantané de disque non amorçable que vous souhaitez restaurer, incluez l'option --create-disk et spécifiez source-snapshot. Lorsque vous créez une VM, vous pouvez ajouter jusqu'à 15 disques non amorçables.

Par exemple, pour restaurer deux instantanés de disques non amorçables sur une nouvelle VM, exécutez la commande suivante :

gcloud compute instances create VM_NAME \
    --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \
    --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM.
  • SNAPSHOT_1_NAME et SNAPSHOT_2_NAME : noms des instantanés de disques non amorçables que vous souhaitez restaurer.
  • DISK_1_NAME et DISK_2_NAME : noms des nouveaux disques non amorçables pour cette VM.
  • DISK_1_SIZE et DISK_2_SIZE (facultatif) : tailles, en Go, de chaque nouveau disque non amorçable. Ces tailles doivent être au moins égales à celles des disques sources à partir desquels les instantanés ont été créés.
  • DISK_1_TYPE et DISK_2_TYPE : (facultatif) types des disques persistants. Par exemple, pd-ssd.

API

Lorsque vous utilisez l'API pour restaurer un instantané de disque non amorçable sur une nouvelle VM, les restrictions suivantes s'appliquent :

  • 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 VM.
  • Si vous spécifiez la propriété source, vous ne pouvez pas également spécifier la propriété initializeParams. La propriété source indique que le disque persistant de démarrage existe déjà, mais la propriété initializeParams indique que Compute Engine doit créer un disque persistant de démarrage.

À l'aide de l'API bêta, spécifiez le champ sourceSnapshot sous la propriété initializeParams. Vous pouvez ajouter jusqu'à 15 disques non amorçables en répétant la propriété initializeParams pour chaque disque non amorçable que vous souhaitez créer. Vous pouvez également spécifier les propriétés diskSizeGb et diskType pour chaque disque que vous créez.

Par exemple, pour restaurer deux instantanés de disques non amorçables sur une nouvelle VM, exécutez la requête suivante :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_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",
     "diskSizeGb": "DISK_SIZE",
     "diskType": "DISK_TYPE"
   },
   {
     "initializeParams": {
        "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME",
        "diskSizeGb": "DISK_SIZE",
        "diskType": "DISK_TYPE"
     }
   },
   {
     "initializeParams": {
        "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME",
        "diskSizeGb": "DISK_SIZE",
        "diskType": "DISK_TYPE"
     }
  }]
 }

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet.
  • ZONE : zone dans laquelle vous souhaitez créer la VM.
  • VM_NAME : nom de la VM sur laquelle vous souhaitez restaurer un instantané.
  • MACHINE_TYPE : type de machine de la VM.
  • DISK_SIZE : (facultatif) taille, en Go, du disque correspondant. Lorsqu'elle est fournie, cette propriété doit être supérieure ou égale à la taille du disque source à partir duquel l'instantané a été créé.
  • DISK_TYPE : (facultatif) type du disque persistant correspondant. Par exemple, pd-ssd.
  • SNAPSHOT_1_NAME et SNAPSHOT_2_NAME : noms des instantanés de disques non amorçables que vous souhaitez restaurer sur de nouveaux disques non amorçables sur la nouvelle VM.

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

Pour déployer et lancer un conteneur sur une VM Compute Engine, spécifiez un nom d'image de conteneur, ainsi que des paramètres de configuration facultatifs lors de la création de la VM. Compute Engine crée la VM à 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. Pour plus d'informations, consultez la page Déployer des conteneurs sur des VM.

Console

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Cliquez sur Create instance (Créer une instance).

  3. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  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 :

    • Pour sélectionner une image de conteneur NGINX 1.12 à partir de Cloud Launcher, procédez comme suit :

      gcr.io/cloud-marketplace/google/nginx1:1.12

    • Pour déployer une image de conteneur Apache à partir de Docker Hub, spécifiez toujours le nom complet de l'image Docker :

      docker.io/httpd:2.4

  6. Facultatif : cliquez 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 la VM, la démarrer et lancer le conteneur.

gcloud

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

gcloud compute instances create-with-container VM_NAME \
    --container-image CONTAINER_IMAGE

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM
  • CONTAINER_IMAGE : nom de l'image de conteneur

Par exemple, la commande suivante crée une VM nommée nginx-vm, qui lance et exécute l'image du 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

Pour déployer une image de conteneur Apache à partir de Docker Hub, spécifiez toujours le nom complet de l'image Docker :

docker.io/httpd:2.4.

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

Si vous envisagez d'exécuter une application sur votre VM qui doit accéder à d'autres services Google Cloud, créez un compte de service avant de créer la VM, puis suivez les instructions pour configurer une VM à exécuter en tant que compte de service. Un compte de service est un compte spécial dont vous pouvez utiliser les identifiants dans le code de votre application pour lui permettre d'accéder à d'autres services Google Cloud.

Pour plus d'informations sur les comptes de service, consultez la page Comptes de service.

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

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

Pour utiliser un autre réseau ou un 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 la VM.

Console

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Cliquez sur le bouton Créer une instance.

  4. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  5. Facultatif : modifiez la zone de cette VM. Compute Engine choisit de manière aléatoire la liste des zones de chaque région pour encourager l'utilisation dans plusieurs zones.

  6. Pour autoriser le trafic HTTP ou HTTPS vers la VM, sélectionnez Autoriser le trafic HTTP ou Autoriser le trafic HTTPS.

    Cloud Console ajoute un tag réseau à votre VM 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 à la VM. Pour plus d'informations, consultez la page Présentation des règles de pare-feu dans la documentation sur 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 la VM utilisera.
  9. Cliquez sur le bouton Créer pour créer et démarrer la VM.

gcloud

À l'aide de l'outil de ligne de commande gcloud, suivez les mêmes instructions pour créer une VM à partir d'une image ou d'un instantané, puis ajoutez les options --subnet SUBNET_NAME et --zone ZONE_NAME lorsque vous exécutez la commande gcloud compute instances create :

gcloud compute instances create VM_NAME \
    --subnet SUBNET_NAME \
    --zone ZONE_NAME

Remplacez l'élément suivant :

  • VM_NAME : nom de la VM.
  • SUBNET_NAME : nom du sous-réseau. Le réseau est déduit du sous-réseau spécifié.
  • ZONE_NAME : zone dans laquelle la VM est créée, par exemple europe-west1-b. La région de la VM est déduite de la zone.

Formatez et installez les disques avant de les utiliser.

API

Suivez les instructions de l'API pour créer une VM à partir d'une image ou d'un instantané, mais spécifiez le champ subnet dans le corps de la requête. Pour ajouter des disques vides, ne spécifiez pas d'image source. Vous pouvez également spécifier les propriétés diskSizeGb, diskType et labels (facultatif).

...
"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"
     }
 }...]

Remplacez l'élément suivant :

  • NETWORK_NAME : réseau dans lequel créer la VM.
  • REGION : nom de la région dans laquelle créer la VM.
  • SUBNET_NAME : nom du sous-réseau.
  • SIZE_GB : taille du disque
  • IMAGE : image source du disque non amorçable. Pour les disques vides, ne spécifiez pas d'image source.

Formatez et installez les disques avant de les utiliser.

Étape suivante

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Compute Engine en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Profiter d'un essai gratuit de Compute Engine