Restaurer un disque à partir d'un instantané immédiat


Pour accéder aux données capturées dans un instantané immédiat, vous devez restaurer ou créer un disque à partir de l'instantané immédiat.

Cette page explique comment créer un disque à partir d'un instantané immédiat. Après avoir créé le disque, vous pouvez l'utiliser en l'associant à une machine virtuelle (VM).

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

Restrictions

Les restrictions suivantes s'appliquent :

  • Lorsque vous créez un disque à partir d'un instantané immédiat, le nouveau disque possède toujours le même type, le même emplacement de stockage et le même chiffrement que le disque source de l'instantané.

  • Vous ne pouvez pas créer une VM directement à partir d'un instantané immédiat. Vous devez créer un disque à partir de l'instantané immédiat, puis utiliser le nouveau disque pour créer une VM.

  • Si le disque source de l'instantané immédiat utilise des clés de chiffrement gérées par le client ou fournies par le client, vous devez fournir la même clé de chiffrement lorsque vous créez un disque à partir de l'instantané immédiat.

    Prenez l'exemple suivant : Imaginons que vous disposez d'un disque DISK-1 chiffré avec une clé de chiffrement fournie par le client (CSEK), KEY-1. Vous disposez également d'un instantané immédiat, IS-1, créé à partir de DISK-1. Pour créer un disque à partir de IS-1, vous devez fournir la même clé, KEY-1, lors de la création du disque.

    Si le disque est chiffré avec des clés de chiffrement gérées par le client (CMEK), vous ne devez fournir la clé que si vous utilisez REST ou gcloud CLI pour créer le disque. Si vous utilisez la console Google Cloud, vous n'avez pas besoin de spécifier la clé de chiffrement.

Créer un disque à partir d'un instantané immédiat

Un instantané immédiat est chiffré avec le même chiffrement que son disque source. La procédure de création d'un disque à partir d'un instantané immédiat dépend du mode de chiffrement du disque source de l'instantané immédiat.

Chaque disque source est chiffré avec l'une des méthodes suivantes :

  • Clés de chiffrement gérées par Google. Il s'agit de l'option par défaut.
  • Clés de chiffrement gérées par le client (CMEK)
  • Clés de chiffrement fournies par le client (CSEK)

Pour en savoir plus sur le chiffrement d'un disque particulier, consultez la section Afficher les informations sur le chiffrement d'un disque.

Créer un disque à partir d'un instantané immédiat chiffré avec un chiffrement géré par Google (par défaut)

Vous pouvez créer un disque à partir d'un instantané immédiat à l'aide de gcloud CLI, de la console Google Cloud ou de REST.

Console

  1. Recherchez l'instantané immédiat que vous souhaitez restaurer :

    1. Dans la console Google Cloud, accédez à la page Instantanés.

      Accéder à la page Instantanés

    2. Cliquez sur l'onglet Instantanés immédiats.

    3. Dans la colonne Nom, cliquez sur le nom de l'instantané immédiat que vous souhaitez restaurer.

  2. Cliquez sur Créer un disque.

  3. Dans le champ Nom, saisissez un nom pour le disque.

  4. Facultatif : Dans le champ Description, saisissez des détails supplémentaires.

  5. Vérifiez que le type de source du disque est défini sur Instantané immédiat.

  6. Dans la liste Instantané immédiat source, sélectionnez l'instantané immédiat.

  7. Facultatif : configurez des personnalisations supplémentaires pour le disque.

    • Saisissez une taille : dans le champ Taille, spécifiez la taille du disque en Go. La taille doit être au moins égale à la taille du disque source de l'instantané.
    • Programmez des sauvegardes : si vous souhaitez que Compute Engine crée des instantanés standards de ce nouveau disque selon une programmation, cochez la case Activer la programmation d'instantanés, puis choisissez une programmation d'instantanés. Sinon, décochez cette case.
  8. Facultatif : pour organiser votre projet, ajoutez un ou plusieurs libellés.

  9. Pour créer le disque, cliquez sur Créer.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Utilisez la commande gcloud beta compute disks create. Les arguments que vous spécifiez varient selon que vous créez un disque zonal ou régional.

    Créer un disque zonal

    Spécifiez la zone avec l'option --zone :

    gcloud beta compute disks create DISK_NAME \
         --zone=ZONE \
         --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME
    

    Remplacez les éléments suivants :

    • DISK_NAME : le nom du nouveau disque.
    • ZONE : zone du nouveau disque, par exemple europe-west1-a.
    • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.

    Créer un disque régional

    Spécifiez la région avec --region et les zones de réplication cibles du nouveau disque avec --replica-zones.

      gcloud beta compute disks create DISK_NAME \
         --region=REGION \
         --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \
         --replica-zones=ZONE1,ZONE2
    

    Remplacez les éléments suivants :

    • DISK_NAME : le nom du nouveau disque.
    • REGION : la région dans laquelle se trouve le disque régional (par exemple, europe-west1).
    • SOURCE_INSTANT_SNAPSHOT_NAME : le nom de l'instantané immédiat source.
    • ZONE1,ZONE2 : les zones de la région où se trouvent les instances dupliquées des deux disques (par exemple, europe-west1-b,europe-west1-c).

REST

Pour créer un disque zonal ou régional à partir d'un instantané immédiat, utilisez la méthode disks.insert.

Créer un disque zonal

Envoyez une requête POST en spécifiant l'instantané immédiat source.

 POST https://compute.googleapis.com/compute/beta/projects/PROJECT/zones/SOURCE_ZONE/disks/insert
{
 "name": "NEW_DISK_NAME",
 "sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME"
}

Remplacez les éléments suivants :

  • PROJECT : projet dans lequel créer le disque.
  • SOURCE_ZONE : zone où se trouve l'instantané immédiat (par exemple, us-central1-a). Le disque sera créé dans cette zone.
  • NEW_DISK_NAME : nom unique du nouveau disque.
  • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.

Créer un disque régional

Envoyez une requête POST, en spécifiant l'instantané immédiat source et les zones dans lesquelles le disque doit être répliqué.


POST https://compute.googleapis.com/compute/beta/projects/PROJECT/region/SOURCE_REGION/disks/insert

{
"name": "NEW_DISK_NAME",
"sourceInstantSnapshot": "projects/PROJECT/regions/SOURCE_REGION/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME",
"replicaZones": [
  "projects/PROJECT/zones/ZONE1",
  "projects/PROJECT/zones/ZONE2"
]
}

Remplacez les éléments suivants :

  • PROJECT : projet dans lequel créer le disque.
  • SOURCE_REGION : région où se trouve l'instantané immédiat. Le disque sera créé dans cette région.
  • NEW_DISK_NAME : nom unique du nouveau disque.
  • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.
  • ZONE1,ZONE2 : les zones de la région pour les deux instances dupliquées du disque (par exemple, europe-west1-b et europe-west1-c).

Réponse de requête d'API

Si la requête POST aboutit, le corps de la réponse est un objet que vous pouvez interroger pour obtenir l'état de la création du disque. Pour en savoir plus, consultez la page Gérer les réponses de l'API.

Créer un disque à partir d'un instantané immédiat chiffré par CMEK ou CSEK

Console

Si l'instantané immédiat utilise le chiffrement par défaut de Google ou les CMEK, la console Google Cloud fournit automatiquement la clé de chiffrement lorsque vous créez un disque à partir de l'instantané immédiat. Sinon, si l'instantané immédiat est chiffré par CSEK, vous devez fournir la clé de chiffrement pour créer un disque.

Suivez les étapes de la section "Chiffrement géré par Google" en spécifiant la clé de chiffrement à l'aide des instructions suivantes :

  1. Dans la section Déchiffrement, saisissez la clé de chiffrement dans le champ Clé de chiffrement.
  2. Si la clé est encapsulée avec la clé RSA publique, sélectionnez Clé encapsulée.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Utilisez la commande gcloud beta compute disks create.

    Si le disque source est chiffré par CMEK, utilisez le paramètre --kms-key pour fournir le nom de la clé.

    Si le disque source est chiffré par CSEK, utilisez le paramètre --csek-key-file pour spécifier la clé de chiffrement du disque source.

    CMEK

    Pour créer un disque zonal à partir d'un instantané immédiat chiffré par CMEK, exécutez la commande suivante :

         gcloud beta compute disks create NEW_DISK_NAME \
           --zone=SOURCE_ZONE \
           --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \
           --kms-key=projects/KMS_PROJECT_NAME/locations/KEYRING_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

    Remplacez les éléments suivants :

    • NEW_DISK_NAME : le nom du nouveau disque.
    • SOURCE_ZONE : zone où est stocké l'instantané immédiat (par exemple, europe-west1-a).
    • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.
    • KMS_PROJECT_NAME : projet contenant la clé.
    • KEYRING_LOCATION : emplacement du trousseau de clés auquel appartient la clé. Si le trousseau de clés est global, spécifiez global. Sinon, spécifiez le nom de la région où se trouve le trousseau de clés, par exemple us-west1.
    • KEY_RING_NAME : nom du trousseau de clés qui inclut la clé, par exemple key-ring-1.
    • KEY_NAME : nom de la clé utilisée pour chiffrer le disque.

    CSEK

    Pour créer un disque zonal à partir d'un instantané immédiat chiffré par CSEK, utilisez la commande suivante :

         gcloud beta compute disks create NEW_DISK_NAME \
           --zone=SOURCE_ZONE \
           --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \
           --csek-key-file=PATH_TO_CSEK_JSON_FILE
     

    Remplacez les éléments suivants :

    • NEW_DISK_NAME : le nom du nouveau disque.
    • SOURCE_ZONE : zone où est stocké l'instantané immédiat (par exemple, europe-west1-a).
    • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.
    • CSEK_JSON_FILE : chemin d'accès à un fichier JSON contenant la clé. Consultez un exemple de format de fichier CSEK.

    Pour créer un disque régional, remplacez l'option --zone de l'exemple précédent par les options suivantes :

    • --region : région du nouveau disque.
    • --replica-zones : zones de la région pour les deux instances dupliquées des disques.

REST

Pour créer un disque zonal ou régional à partir d'un instantané immédiat chiffré par CMEK ou CSEK, envoyez une requête POST à la méthode disks.insert en utilisant les propriétés répertoriées dans la section Chiffrement géré par Google.

Fournissez également la clé de chiffrement du disque source dans le champ diskEncryptionKey. Les propriétés du champ diskEncryptionKey varient selon que le disque est chiffré avec une clé CMEK ou CSEK.

Les exemples suivants montrent comment créer un disque zonal pour chaque type de chiffrement.

CMEK

Dans le corps de la requête, spécifiez le nom de la clé avec la propriété diskEncryptionKey.kmsKeyName :

{
"name": "NEW_DISK_NAME",
"sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME",
"diskEncryptionKey": {
      "kmsKeyName": "projects/KMS_PROJECT/locations/LOCATION/keyRings/KEYRING_LOCATION/cryptoKeys/KEY_NAME"
  }
}

Remplacez les éléments suivants :

  • NEW_DISK_NAME : nom unique du nouveau disque.
  • PROJECT : projet dans lequel créer le disque.
  • SOURCE_ZONE : zone où se trouve l'instantané immédiat (par exemple, us-central1-a). Le disque sera créé dans cette zone.
  • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.
  • KMS_PROJECT : projet contenant la clé.
  • LOCATION : emplacement du trousseau de clés auquel appartient la clé. Si le trousseau de clés est global, spécifiez global. Sinon, spécifiez le nom de la région où se trouve le trousseau de clés, par exemple us-west1.
  • KEY_RING : nom du trousseau de clés qui inclut la clé, par exemple, key-ring-1.
  • KEY : nom de la clé utilisée pour chiffrer le disque.

CSEK

Le corps de la requête varie selon que la clé CSEK utilisée pour chiffrer l'instantané immédiat est chiffrée par RSA ou non.

Pour utiliser une clé brute (non chiffrée par RSA), spécifiez-la dans la propriété diskEncryptionKey.rawKey du corps de la requête :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/SOURCE_ZONE/disks/insert
{
  "name": "NEW_DISK_NAME",
  "sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME,
  "diskEncryptionKey": {
      "rawKey": "RAW_ENCRYPTION_KEY"
  }
}

Remplacez les éléments suivants par les valeurs correspondantes :

  • PROJECT : projet dans lequel créer le disque.
  • SOURCE_ZONE : zone où se trouve l'instantané immédiat (par exemple, us-central1-a). Le disque sera créé dans cette zone.
  • NEW_DISK_NAME : nom unique du nouveau disque.
  • SOURCE_INSTANT_SNAPSHOT_NAME : nom de l'instantané immédiat source.
  • RAW_ENCRYPTION_KEY : clé utilisée pour chiffrer l'instantané immédiat et son disque source, par exemple SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=.

Pour utiliser une clé chiffrée par RSA, modifiez l'exemple précédent comme suit :

  • Envoyez une requête POST à la version bêta de la méthode disks.insert :

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks/insert
    

  • Spécifiez la clé dans la propriété diskEncryptionKey.rsaEncryptedKey du corps de la requête :

    "diskEncryptionKey": {
     "rsaEncryptedKey": "RSA_ENCRYPTED_KEY"
    }
    

Remplacez RSA_ENCRYPTED_KEY par votre clé chiffrée.

Réponse de requête d'API

Si la requête POST aboutit, le corps de la réponse est un objet que vous pouvez interroger pour obtenir l'état de la création du disque. Pour en savoir plus, consultez la page Gérer les réponses de l'API.