Créer des images système


Utilisez une image système pour stocker la totalité de la configuration, des métadonnées, des autorisations et des données de plusieurs disques pour une instance de VM exécutée sur Compute Engine. L'instance de VM que vous utilisez pour créer une image système est appelée instance de VM source.

Pour savoir quand et comment utiliser des images système, consultez la page Images système.

Ce document explique comment créer une image système à partir d'une instance de VM source.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    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.

      Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

Limites et restrictions

  • Vous pouvez partager une image système entre plusieurs projets. Toutefois, notez que les réseaux VPC partagés ne sont pas compatibles.
  • Vous pouvez créer une image système au maximum toutes les dix minutes. Si vous souhaitez effectuer une série de requêtes de création d'images système multiples à partir d'une instance, vous ne pouvez pas émettre plus de six requêtes en 60 minutes.
  • Vous pouvez protéger une image système à l'aide de Cloud Key Management Service (Cloud KMS) ou d'une clé de chiffrement fournie par le client (CSEK). La clé de chiffrement protège le contenu des disques. Cependant, notez que les métadonnées ne sont pas protégées.
  • Si vous utilisez une clé CSEK pour protéger votre image système, une copie intégrale de toutes les données du disque est enregistrée lors de la génération de l'image système. Dans tout autre scénario, les données de disque sont stockées dans des copies différentielles.
  • Vous ne pouvez pas créer d'images système à partir de VM sources qui :

    • sont associées à plus de 200 To de disques ;
    • ne sont associées à aucun disque ;
    • sont associées à des disques Hyperdisk Extreme.

Propriétés d'instance et de disque non compatibles avec l'image système

Lorsque vous créez des images système à partir d'instances de VM ou que vous créez des instances de VM à partir d'images système, les propriétés d'instance et de disque suivantes ne sont pas conservées ni restaurées :

  • disks.architecture
  • disks.description
  • disks.labels
  • disks.locked
  • disks.multiWriter
  • disks.onUpdateAction
  • disks.provisionedIops
  • disks.shieldedInstanceInitialState
  • disks.sourceImage
  • disks.sourceImageEncryptionKey
  • disks.sourceInstantSnapshot
  • disks.sourceSnapshot
  • disks.sourceSnapshotEncryptionKey
  • privateIpv6GoogleAccess
  • resourceManagerTags
  • resourcePolicies
  • secure_tag
  • shieldedInstanceConfig

Créer une image système à partir d'une VM

Vous pouvez créer des images système à l'aide de la console Google Cloud, de Google Cloud CLI ou de REST.

Pour créer une image système, vous avez besoin des informations suivantes :

  • Le nom de l'image système que vous souhaitez créer.
  • Le nom de l'instance de VM source.
  • La zone dans laquelle se trouve l'instance de VM source.
  • Description facultative
  • Un emplacement storageLocation facultatif. Si vous ne spécifiez pas d'emplacement, l'emplacement de stockage par défaut est l'emplacement Cloud Storage multirégional de l'instance de VM source.
  • Une clé de chiffrement facultative. Vous pouvez choisir entre une clé gérée par Google, une clé Cloud Key Management Service (Cloud KMS) ou une clé de chiffrement fournie par le client (CSEK). Si aucune clé de chiffrement n'est spécifiée, les images système sont chiffrées à l'aide d'une clé gérée par Google.
  • Si vous souhaitez utiliser une image système pour le clonage et la création d'instantanées d'une instance, supprimez les informations de système d'exploitation et d'application propres à l'instance avant de l'utiliser pour générer l'image système. Par exemple, pour les instances de VM Windows, utilisez GCESysprep pour préparer le système à la réplication.

console

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

    Accéder à la page "Images système"

  2. Cliquez sur Créer une image système.

  3. Spécifiez un nom pour votre image système.

  4. Facultatif : Fournissez une description.

  5. Sélectionnez l'instance de VM source.

  6. Facultatif : Spécifiez l'emplacement où stocker l'image système. Choisissez entre un stockage multirégional ou régional. Pour en savoir plus sur les emplacements, consultez la section Emplacement de stockage des images système.

  7. Facultatif : Sélectionnez une méthode de chiffrement.

  8. Cliquez sur Create (Créer).

gcloud

Pour créer une image système à partir d'une instance, utilisez la commande gcloud compute machine-images create.

gcloud compute machine-images create MACHINE_IMAGE_NAME \
    --source-instance=SOURCE_VM_NAME

Remplacez les éléments suivants :

  • MACHINE_IMAGE_NAME : nom de l'image système que vous souhaitez créer.
  • SOURCE_VM_NAME : nom de l'instance de VM source à partir de laquelle vous souhaitez créer l'image.

Exemple

Par exemple, vous pouvez utiliser la commande gcloud suivante pour créer une image système appelée my-machine-image à partir d'une instance source nommée my-instance :

gcloud compute machine-images create my-machine-image  \
    --source-instance=my-instance

Le processus prend quelques minutes. Une fois l'image système créée, vous obtenez un résultat semblable à celui-ci :

Created [https://www.googleapis.com/compute/v1/projects/project-12345/global/machineImages/my-machine-image].
NAME               STATUS
my-machine-image   READY

REST

Dans l'API, envoyez une requête POST à la méthode machineimages.insert. Dans le corps de la requête, incluez la requête POST suivante :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/machineImages

{
  "name": "MACHINE_IMAGE_NAME",
  "sourceInstance": "SOURCE_INSTANCE_URL"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • MACHINE_IMAGE_NAME : nom de l'image système que vous souhaitez créer.
  • SOURCE_INSTANCE_URL : URL complète ou partielle de l'instance de VM source que vous souhaitez utiliser pour créer l'image système. Par exemple, si vous avez une instance source appelée my-instance dans un projet nommé myProject, les URL suivantes sont valides :

    • https://www.googleapis.com/compute/v1/projects/myProject/global/instances/my-instance
    • projects/myProject/global/instances/my-instance
    • global/instances/my-instance

Étapes suivantes