Restaurar un disco a partir de una instantánea instantánea


Para acceder a los datos capturados en una instantánea instantánea , debe restaurar o crear un nuevo disco a partir de la instantánea instantánea.

Esta página explica cómo crear un disco a partir de una instantánea. Después de crear el disco, puede usarlo conectándolo a una máquina virtual (VM).

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Roles y permisos necesarios

Para obtener los permisos que necesita para crear un disco a partir de una instantánea, solicite a su administrador que le otorgue las siguientes funciones de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Estos roles predefinidos contienen los permisos necesarios para crear un disco a partir de una instantánea. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para crear un disco a partir de una instantánea:

  • Para crear un disco:
    • compute.disks.create en el proyecto de destino para el nuevo disco.
    • compute.instantSnapshots.useReadOnly en la instantánea instantánea de origen

Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .

Restricciones

Se aplican las siguientes restricciones:

  • Cuando crea un disco a partir de una instantánea, el nuevo disco siempre tiene el mismo tipo, ubicación de almacenamiento y cifrado que el disco de origen de la instantánea.

  • No puede crear una VM directamente a partir de una instantánea. Debe crear un disco a partir de la instantánea instantánea y luego usar el nuevo disco para crear una máquina virtual.

  • Si el disco de origen de la instantánea instantánea utiliza claves de cifrado administradas o proporcionadas por el cliente , debe proporcionar la misma clave de cifrado cuando cree un nuevo disco a partir de la instantánea instantánea.

    Considere este ejemplo. Imagine que tiene un disco, DISK-1 cifrado con una clave de cifrado proporcionada por el cliente (CSEK), KEY-1 . También tienes una instantánea instantánea, IS-1 , creada a partir de DISK-1 . Para crear un nuevo disco desde IS-1 , debe proporcionar la misma clave, KEY-1 , cuando crea el nuevo disco.

    Si el disco está cifrado con claves de cifrado administradas por el cliente (CMEK), solo debes proporcionar la clave si usas REST o la CLI de gcloud para crear el disco. Si usa la consola de Google Cloud, no necesita especificar la clave de cifrado.

Crea un disco a partir de una instantánea

Una instantánea instantánea se cifra con el mismo cifrado que su disco de origen. Los pasos para crear un disco a partir de una instantánea dependen de cómo esté cifrado el disco de origen de la instantánea.

Cada disco de origen se cifra con uno de los siguientes métodos:

  • Google-owned and Google-managed encryption keys. Este es el valor predeterminado.
  • Claves de cifrado administradas por el cliente (CMEK)
  • Claves de cifrado proporcionadas por el cliente (CSEK).

Para saber cómo se cifra un disco en particular, consulte Ver información sobre el cifrado de un disco .

Cree un disco a partir de una instantánea instantánea cifrada con cifrado predeterminado

Puedes crear un disco a partir de una instantánea instantánea con la CLI de gcloud, la consola de Google Cloud o REST.

Consola

  1. Busque la instantánea instantánea que desea restaurar:

    1. En la consola de Google Cloud, vaya a la página Instantáneas .

      Ir a instantáneas

    2. Haga clic en la pestaña Instantáneas .

    3. En la columna Nombre , haga clic en el nombre de la instantánea que desea restaurar.

  2. Haga clic en Crear disco .

  3. En el campo Nombre , ingrese un nuevo nombre para el disco.

  4. Opcional: en el campo Descripción , ingrese detalles adicionales.

  5. Verifique que el tipo de origen del disco sea Instantánea instantánea .

  6. En la lista Fuente de instantánea instantánea , elija la instantánea instantánea.

  7. Opcional: configure personalizaciones adicionales para el disco.

    • Ingrese un tamaño: en el campo Tamaño , especifique un tamaño para el disco en GB. El tamaño debe ser igual o mayor que el tamaño del disco de origen de la instantánea.
    • Programar copias de seguridad: si desea que Compute Engine cree instantáneas estándar de este nuevo disco según una programación , seleccione la casilla Habilitar programación de instantáneas y elija una programación de instantáneas. De lo contrario, desactive la casilla de verificación.
  8. Opcional: Para organizar su proyecto, agregue una o más etiquetas .

  9. Para crear el disco, haga clic en Crear .

nube de gcloud

Usa el comando gcloud compute disks create . Los argumentos que especifique dependen de si está creando un disco zonal o regional.

Crear un disco zonal

Especifique la zona con la bandera --zone :

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

Reemplace lo siguiente:

  • DISK_NAME : el nombre del nuevo disco.
  • ZONE : la zona para el nuevo disco, por ejemplo, europe-west1-a .
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.

Crear un disco regional

Especifique la región con --region y las zonas de replicación de destino del nuevo disco con --replica-zones .

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

Reemplace lo siguiente:

  • DISK_NAME : el nombre del nuevo disco.
  • REGION : la región en la que residirá el disco regional, por ejemplo: europe-west1 .
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.
  • ZONE1,ZONE2 : las zonas dentro de la región donde se encuentran las dos réplicas de disco, por ejemplo: europe-west1-b,europe-west1-c .

DESCANSAR

Para crear un disco zonal o regional a partir de una instantánea instantánea, utilice el método disks.insert . El nuevo disco debe ser del mismo tipo que el disco de origen de la instantánea instantánea. Por ejemplo, no puede crear un disco regional a partir de una instantánea de un disco zonal.

Crear un disco zonal

Realice una solicitud POST , especificando la instantánea instantánea de origen.

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

Reemplace lo siguiente:

  • PROJECT : el proyecto en el que crear el nuevo disco.
  • SOURCE_ZONE : la zona donde se encuentra la instantánea instantánea, por ejemplo, us-central1-a . El disco se crea en esta zona.
  • NEW_DISK_NAME : un nombre único para el nuevo disco.
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.

Crear un disco regional

Realice una solicitud POST , especificando la instantánea instantánea de origen y las zonas donde se debe replicar el disco.

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

Reemplace lo siguiente:

  • PROJECT : el proyecto en el que crear el nuevo disco.
  • SOURCE_REGION : la región donde se encuentra la instantánea instantánea. El disco se crea en esta región.
  • NEW_DISK_NAME : un nombre único para el nuevo disco.
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.
  • ZONE1,ZONE2 : las zonas dentro de la región para las dos réplicas de disco, por ejemplo, europe-west1-b , europe-west1-c .

Respuesta de solicitud de API

Si la solicitud POST tiene éxito, el cuerpo de la respuesta será un objeto que podrá sondear para obtener el estado de creación del disco. Consulte Manejo de respuestas de API para obtener más información.

Cree un disco a partir de una instantánea instantánea cifrada con CMEK o CSEK

Consola

Si la instantánea instantánea utiliza el cifrado CMEK o predeterminado de Google, la consola de Google Cloud proporciona automáticamente la clave de cifrado cuando crea un disco a partir de la instantánea instantánea. De lo contrario, si la instantánea instantánea está cifrada con CSEK, deberá proporcionar la clave de cifrado para crear un disco.

Siga los pasos de la sección Cifrado administrado por Google y especifique la clave de cifrado siguiendo estas instrucciones:

  1. En la sección Descifrado , ingrese la clave de cifrado en el campo Clave de cifrado .
  2. Si la clave está empaquetada con la clave RSA pública, seleccione Clave empaquetada .

nube de gcloud

Usa el comando gcloud compute disks create .

Si el disco de origen está cifrado con CMEK, utilice el parámetro --kms-key para proporcionar el nombre de la clave.

Si el disco de origen está cifrado con CSEK, utilice el parámetro --csek-key-file para especificar la clave de cifrado del disco de origen.

CMEK

Para crear un disco zonal a partir de una instantánea instantánea cifrada CMEK, utilice el siguiente comando:

     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

Reemplace lo siguiente:

  • NEW_DISK_NAME : el nombre del nuevo disco.
  • SOURCE_ZONE : la zona donde se almacena la instantánea instantánea, por ejemplo, europe-west1-a .
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.
  • KMS_PROJECT_NAME : el proyecto que contiene la clave.
  • KEYRING_LOCATION : la ubicación del llavero al que pertenece la clave. Si el conjunto de claves es global, especifique global . De lo contrario, especifique el nombre de la región donde se encuentra el conjunto de claves, por ejemplo, us-west1 .
  • KEY_RING_NAME : el nombre del conjunto de claves que incluye la clave, por ejemplo, key-ring-1 .
  • KEY_NAME : el nombre de la clave utilizada para cifrar el disco.

CSEK

Para crear un disco zonal a partir de una instantánea instantánea cifrada con CSEK, utilice el siguiente comando:

     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
 

Reemplace lo siguiente:

  • NEW_DISK_NAME : el nombre del nuevo disco.
  • SOURCE_ZONE : la zona donde se almacena la instantánea instantánea, por ejemplo, europe-west1-a .
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.
  • CSEK_JSON_FILE : ruta a un archivo JSON que contiene la clave. Vea un ejemplo del formato de archivo CSEK .

Para crear un disco regional, reemplace el indicador --zone en el ejemplo anterior con los siguientes indicadores:

  • --region : la región del nuevo disco
  • --replica-zones : las zonas dentro de la región para las dos réplicas de disco.

DESCANSAR

Para crear un disco zonal o regional a partir de una instantánea cifrada con CMEK o CSEK, realice una solicitud POST al método disks.insert utilizando las propiedades enumeradas en la sección de cifrado administrado por Google .

Además, proporcione la clave de cifrado del disco de origen con el campo diskEncryptionKey . Las propiedades del campo diskEncryptionKey dependen de si el disco está cifrado con CMEK o CSEK.

Los siguientes ejemplos muestran cómo crear un nuevo disco zonal para cada tipo de cifrado.

CMEK

En el cuerpo de la solicitud, especifique el nombre de la clave con la propiedad 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"
  }
}

Reemplace lo siguiente:

  • NEW_DISK_NAME : un nombre único para el nuevo disco.
  • PROJECT : el proyecto en el que crear el nuevo disco.
  • SOURCE_ZONE : la zona donde se encuentra la instantánea instantánea, por ejemplo, us-central1-a . El disco se crea en esta zona.
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.
  • KMS_PROJECT : el proyecto que contiene la clave.
  • LOCATION : la ubicación del llavero al que pertenece la llave. Si el conjunto de claves es global, especifique global . De lo contrario, especifique el nombre de la región donde se encuentra el conjunto de claves, por ejemplo, us-west1 .
  • KEY_RING : el nombre del conjunto de claves que incluye la clave, por ejemplo, key-ring-1 .
  • KEY : el nombre de la clave utilizada para cifrar el disco.

CSEK

El cuerpo de la solicitud depende de si el CSEK utilizado para cifrar la instantánea instantánea está cifrado con RSA o no.

Para utilizar una clave sin formato (no cifrada con RSA) , especifique la clave en la propiedad diskEncryptionKey.rawKey del cuerpo de la solicitud:

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

Reemplace lo siguiente con los valores correspondientes:

  • PROJECT : el proyecto en el que crear el nuevo disco.
  • SOURCE_ZONE : la zona donde se encuentra la instantánea instantánea, por ejemplo, us-central1-a . El disco se crea en esta zona.
  • NEW_DISK_NAME : un nombre único para el nuevo disco.
  • SOURCE_INSTANT_SNAPSHOT_NAME : el nombre de la instantánea instantánea de origen.
  • RAW_ENCRYPTION_KEY : la clave utilizada para cifrar la instantánea instantánea y su disco de origen, por ejemplo, SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0= .

Para utilizar una clave cifrada con RSA , modifique el ejemplo anterior de la siguiente manera:

  • Realice una solicitud POST al método disks.insert :

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

  • Especifique la clave en la propiedad diskEncryptionKey.rsaEncryptedKey del cuerpo de la solicitud:

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

Reemplace RSA_ENCRYPTED_KEY con su clave cifrada.

Respuesta de solicitud de API

Si la solicitud POST tiene éxito, el cuerpo de la respuesta será un objeto que podrá sondear para obtener el estado de creación del disco. Consulte Manejo de respuestas de API para obtener más información.