Créer et gérer des instantanés de disque

Créez des instantanés pour sauvegarder régulièrement les données de vos disques persistants zonaux ou régionaux.

Vous pouvez créer des instantanés à partir de disques, même lorsqu'ils sont associés à des instances en cours d'exécution. Les instantanés sont des ressources globales. Vous pouvez donc les utiliser pour restaurer des données sur un nouveau disque ou une nouvelle instance du même projet. Vous pouvez également partager des instantanés entre des projets.

Avant de commencer

Préparer la création d'instantanés

Pour préparer la création d'instantanés de disques persistants, procédez comme suit :

Créer un instantané d'un disque persistant zonal

Console

  1. Accédez à la page Créer un instantané dans la console Google Cloud.
    Accéder à la page Créer un instantané
  2. Saisissez un nom d'instantané.
  3. Saisissez éventuellement une description de l'instantané.
  4. Sélectionnez le disque source dans le menu déroulant.
  5. Déterminez l'emplacement de stockage de l'instantané. Vous pouvez utiliser l'emplacement de stockage par défaut ou un emplacement de stockage personnalisé.

    1. Sous Emplacement, indiquez si vous souhaitez stocker l'instantané dans un emplacement multirégional ou régional.
    2. Sélectionnez l'emplacement régional ou multirégional que vous souhaitez utiliser. Pour utiliser celui qui est le plus proche de votre disque source, sélectionnez Basé sur l'emplacement du disque source (valeur par défaut).
  6. Cliquez sur Créer pour créer l'instantané.

gcloud

Créez votre instantané dans l'emplacement de stockage par défaut ou dans un emplacement de stockage sélectionné. Vous devez saisir le nom de l'instantané. Le nom doit comporter entre 1 et 63 caractères, et être conforme à la norme RFC 1035.

  • Pour créer un instantané d'un disque persistant dans l'emplacement de stockage par défaut, exécutez la commande gcloud compute snapshots create.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk SOURCE_DISK \
        --source-disk-zone SOURCE_DISK_ZONE
    

    Remplacez les éléments suivants :

    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_DISK : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
    • SOURCE_DISK_ZONE : zone du disque persistant à partir duquel vous souhaitez créer un instantané.
  • Sinon, pour créer un instantané dans un emplacement de stockage personnalisé, utilisez l'indicateur --storage-location pour spécifier où stocker l'instantané :

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk SOURCE_DISK \
        --source-disk-zone SOURCE_DISK_ZONE \
        --storage-location STORAGE_LOCATION
    

    Remplacez les éléments suivants :

    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_DISK : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
    • SOURCE_DISK_ZONE : zone du disque persistant à partir duquel vous souhaitez créer un instantané.
    • STORAGE_LOCATION : emplacement multirégional Cloud Storage ou emplacement régional Cloud Storage dans lequel vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

gcloud CLI attend que l'opération renvoie un état READY ou FAILED, ou qu'elle atteigne le délai maximal avant expiration et renvoie les informations les plus récentes de l'instantané.

API

Créez votre instantané dans l'emplacement de stockage par défaut ou dans un emplacement de stockage sélectionné.

  • Pour créer un instantané dans l'emplacement de stockage par défaut, envoyez une requête POST à la méthode snapshots.insert :

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    
    {
      "name": SNAPSHOT_NAME
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME
    }
    

    Remplacez les éléments suivants :

    • DESTINATION_PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instantané.
    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_PROJECT_ID : ID de projet du disque source.
    • SOURCE_ZONE : zone du disque source.
    • SOURCE_DISK_NAME : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
  • Sinon, pour créer un instantané dans un emplacement de stockage personnalisé, envoyez une requête POST à la méthode snapshots.insert et spécifiez l'emplacement de stockage :

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    
    {
      "name": SNAPSHOT_NAME
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME
      "storageLocations": STORAGE_LOCATION
    }
    

    Remplacez les éléments suivants :

    • DESTINATION_PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instantané.
    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_PROJECT_ID : ID de projet du disque source.
    • SOURCE_ZONE : zone du disque source.
    • SOURCE_DISK_NAME : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
    • STORAGE_LOCATION : emplacement multirégional Cloud Storage ou emplacement régional Cloud Storage dans lequel vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

Créer un instantané d'un disque persistant régional

Une fois que vous avez préparé le disque, vous pouvez créer un instantané. Lors de la création d'un instantané d'un disque persistant régional, vous devez indiquer la région dans laquelle se trouve le disque.

Console

  1. Accédez à la page Créer un instantané dans la console Google Cloud.
    Accéder à la page Créer un instantané
  2. Saisissez un nom d'instantané.
  3. Saisissez éventuellement une description de l'instantané.
  4. Sous Disque source, sélectionnez un disque existant à partir duquel vous souhaitez créer un instantané.
  5. Si vous le souhaitez, vous pouvez spécifier un emplacement de stockage personnalisé :

    1. Sous Emplacement, indiquez si vous souhaitez stocker l'instantané dans un emplacement multirégional ou régional.
    2. Sélectionnez l'emplacement régional ou multirégional que vous souhaitez utiliser. Pour utiliser celui qui est le plus proche de votre disque source, sélectionnez Basé sur l'emplacement du disque source.
  6. Cliquez sur Créer pour créer l'instantané.

gcloud

Créez votre instantané dans l'emplacement de stockage par défaut ou dans un emplacement de stockage sélectionné.

  • Pour créer un instantané d'un disque persistant régional dans l'emplacement de stockage par défaut, exécutez la commande gcloud compute snapshots create :

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk SOURCE_DISK \
        --source-disk-region=SOURCE_DISK_REGION
    

    Remplacez les éléments suivants :

    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_DISK : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
    • SOURCE_DISK_REGION : nom du disque persistant régional à partir duquel vous souhaitez créer un instantané.
  • Si vous le souhaitez, vous pouvez spécifier un emplacement de stockage personnalisé.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk SOURCE_DISK \
        --source-disk-region=SOURCE_DISK_REGION
        --storage-location STORAGE_LOCATION
    

    Remplacez les éléments suivants :

    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_DISK : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
    • SOURCE_DISK_REGION : nom du disque persistant régional à partir duquel vous souhaitez créer un instantané.
    • STORAGE_LOCATION : emplacement multirégional Cloud Storage ou emplacement régional Cloud Storage dans lequel vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

    Google Cloud CLI attend que l'opération renvoie un état READY ou FAILED, ou qu'elle atteigne le délai maximal avant expiration. Il renvoie alors les informations les plus récentes sur l'instantané.

API

  • Pour créer un instantané dans l'emplacement de stockage par défaut, envoyez une requête POST à la méthode snapshots.insert :

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
      "name": SNAPSHOT_NAME
      "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
    }
    

    Remplacez les éléments suivants :

    • DESTINATION_PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instantané.
    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_PROJECT_ID : ID de projet du disque source.
    • SOURCE_REGION : région du disque source.
    • SOURCE_DISK_NAME : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
  • Sinon, pour créer un instantané dans un emplacement de stockage personnalisé, envoyez une requête POST à la méthode snapshots.insert et spécifiez l'emplacement de stockage :

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
      "name": SNAPSHOT_NAME
      "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
      "storageLocations": STORAGE_LOCATION
    }
    

    Remplacez les éléments suivants :

    • DESTINATION_PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instantané.
    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_PROJECT_ID : ID de projet du disque source.
    • SOURCE_REGION : région du disque source.
    • SOURCE_DISK_NAME : nom du disque persistant à partir duquel vous souhaitez créer un instantané.
    • STORAGE_LOCATION : emplacement multirégional Cloud Storage ou emplacement régional Cloud Storage dans lequel vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.

Supprimer un instantané

Compute Engine utilise des instantanés incrémentiels qui ne contiennent que les données modifiées depuis l'instantané précédent. Les instantanés ultérieurs peuvent nécessiter des informations stockées dans un instantané précédent. Par conséquent, notez que la suppression d'un instantané ne supprime pas nécessairement toutes les données qu'il contient. Pour en savoir plus sur la suppression des instantanés, consultez la page Suppression d'instantanés.

Pour supprimer un instantané, procédez comme suit :

Console

  1. Accédez à la page Instantanés dans la console Google Cloud.

    Accéder à la page Instantanés

  2. Sélectionnez un ou plusieurs instantanés que vous souhaitez supprimer.
  3. En haut de la page Instantanés, cliquez sur Supprimer.

gcloud

Pour supprimer un instantané, utilisez la commande gcloud compute snapshots delete :

gcloud compute snapshots delete SNAPSHOT_NAME

SNAPSHOT_NAME est le nom de l'instantané qui va être supprimé.

API

Envoyez une requête DELETE à la méthode compute.snapshots.delete pour supprimer des instantanés.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME

où :

  • PROJECT_ID est le nom de votre projet.
  • SNAPSHOT_NAME est le nom de l'instantané à supprimer.

Supprimer plusieurs instantanés en fonction d'un filtre

Compute Engine utilise des instantanés incrémentiels qui ne contiennent que les données modifiées depuis l'instantané précédent. Étant donné que les instantanés suivants peuvent nécessiter des informations stockées dans un instantané précédent, la suppression d'un instantané ne supprime pas nécessairement toutes les données qu'il contient. Pour en savoir plus sur la suppression des instantanés, consultez la page Suppression d'instantanés.

Les sections suivantes expliquent comment supprimer un certain nombre d'instantanés en fonction d'un filtre donné. Pour en savoir plus sur les filtres de gcloud CLI, consultez la section Filtres de sujets de gcloud CLI.

Pour supprimer les instantanés, utilisez une combinaison de la commande gcloud compute snapshots list avec un filtre donné, et de la commande gcloud compute snapshots delete avec xargs :

gcloud compute snapshots list --filter="EXPRESSION" --uri |
   xargs gcloud compute snapshots delete

Remplacez EXPRESSION par un filtre de sujet gcloud.

Par exemple, --filter="creationTimestamp>'2021-01-01'" supprime tous les instantanés créés après 2021-01-01.

Répertorier les instantanés

gcloud

Pour afficher la liste des instantanés disponibles pour un projet particulier, utilisez la commande gcloud compute snapshots list.

gcloud compute snapshots list --project PROJECT_ID

PROJECT_ID est l'ID du projet.

API

Pour afficher la liste des instantanés disponibles pour un projet particulier, envoyez une requête GET à la méthode snapshots.list :

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots

PROJECT_ID est l'ID du projet.

Afficher les informations sur un instantané

Pour répertorier des informations sur un instantané particulier, par exemple l'heure de sa création, sa taille et son disque source, exécutez la commande gcloud compute snapshots describe :

gcloud compute snapshots describe SNAPSHOT_NAME

SNAPSHOT_NAME est le nom de l'instantané.

Partager des données d'instantané entre projets

Pour déplacer des données d'un disque d'un projet vers un disque d'un autre projet, procédez comme suit :

gcloud

  1. Créez un instantané de disque dans le projet de destination en utilisant la commande gcloud compute snapshots create. Par exemple, pour créer un instantané d'un disque persistant zonal, exécutez la commande suivante :

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \
        --project DESTINATION_PROJECT_ID
    

    Remplacez les éléments suivants :

    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_PROJECT_ID : ID de projet du disque source.
    • ZONE : zone du disque source.
    • SOURCE_DISK_NAME : nom du disque source.
    • DESTINATION_PROJECT_ID : ID du projet de destination pour le nouvel instantané.
  2. Dans le projet de destination, créez un disque zonal ou régional basé sur l'instantané en utilisant la commande gcloud compute disks create :

    gcloud compute disks create DISK_NAME \
        --source-snapshot SNAPSHOT_NAME \
        --project DESTINATION_PROJECT_ID
    

    Remplacez les éléments suivants :

    • DISK_NAME : nom du nouveau disque.
    • SNAPSHOT_NAME : nom de l'instantané.
    • DESTINATION_PROJECT_ID : ID du projet de destination pour le nouveau disque.

API

  1. Créez un instantané de disque dans le projet de destination en appelant la méthode snapshots.insert. Par exemple, pour prendre un instantané d'un disque persistant zonal, exécutez la requête suivante :

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    
    {
      "name": SNAPSHOT_NAME
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME
    }
    

    Remplacez les éléments suivants :

    • DESTINATION_PROJECT_ID : ID du projet de destination pour le nouvel instantané.
    • SNAPSHOT_NAME : nom de l'instantané.
    • SOURCE_PROJECT_ID : ID de projet du disque source.
    • SOURCE_ZONE : zone du disque source.
    • SOURCE_DISK_NAME : nom du disque source.
  2. Dans le projet de destination, créez un disque zonal ou régional basé sur l'instantané en utilisant la méthode zonale disks.insert ou la méthode régionale regionDisks.insert. Par exemple, pour créer un disque zonal, envoyez la requête suivante :

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/zones/DESTINATION_ZONE/disks
    
    {
      "name": DISK_NAME
      "sourceSnapshot": SNAPSHOT_NAME
    }
    

    Remplacez les éléments suivants :

    • DESTINATION_PROJECT_ID : ID du projet de destination pour le nouveau disque.
    • DISK_NAME : nom du nouveau disque.
    • SNAPSHOT_NAME : nom de l'instantané.

Pour obtenir la liste des instantanés disponibles, consultez la page Répertorier les instantanés.

Étape suivante