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 :

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Rôles et autorisations requis

Pour obtenir les autorisations nécessaires pour créer un disque à partir d'un instantané immédiat, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer un disque à partir d'un instantané immédiat. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un disque à partir d'un instantané immédiat :

  • Pour créer un disque :
    • compute.disks.create sur le projet de destination du nouveau disque
    • compute.instantSnapshots.useReadOnly sur l'instantané immédiat source

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

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 appartenant à Google et gérées par Google Il s'agit de la valeur 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 le chiffrement 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

Utilisez la commande gcloud 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 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 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. Le nouveau disque doit être du même type que celui du disque source de l'instantané immédiat. Par exemple, vous ne pouvez pas créer un disque régional à partir d'un instantané d'un disque zonal.

Créer un disque zonal

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

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/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/v1/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

Utilisez la commande gcloud 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 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 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 méthode disks.insert :

    POST https://compute.googleapis.com/compute/v1/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.