Ripristina un disco da uno snapshot istantaneo


Per accedere ai dati acquisiti in uno snapshot istantaneo, devi ripristinare o creare un nuovo disco dallo snapshot istantaneo.

Questa pagina spiega come creare un disco da uno snapshot istantaneo. Dopo per creare il disco, puoi utilizzarlo collegandolo a una macchina virtuale (VM).

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    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

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per creare un disco da uno snapshot istantaneo, chiedi all'amministratore di concederti seguenti ruoli IAM sul progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un disco da uno snapshot istantaneo. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare un disco da uno snapshot istantaneo, sono necessarie le seguenti autorizzazioni:

  • Per creare un disco:
    • compute.disks.create nel progetto di destinazione del nuovo disco
    • compute.instantSnapshots.useReadOnly sullo snapshot istantaneo di origine

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Limitazioni

Si applicano le seguenti limitazioni:

  • Quando crei un disco da uno snapshot istantaneo, il nuovo disco ha sempre lo stesso tipo, la stessa posizione di archiviazione e la stessa crittografia del disco di origine dello snapshot.

  • Non puoi creare una VM direttamente da uno snapshot istantaneo. Devi creare un disco dallo snapshot istantaneo e poi utilizzare il nuovo disco per creare una VM.

  • Se il disco di origine dello snapshot istantaneo utilizza chiavi di crittografia gestite dal cliente o fornite dal cliente, devi fornire la stessa chiave di crittografia quando crei un nuovo disco dallo snapshot istantaneo.

    Considera questo esempio. Immagina di avere un disco DISK-1 criptato con una chiave di crittografia fornita dal cliente (CSEK), KEY-1. Hai anche uno snapshot istantaneo, IS-1, creato da DISK-1. Per creare un nuovo disco da IS-1, devi fornire la stessa chiave, KEY-1, quando devi creare il nuovo disco.

    Se il disco è criptato con chiavi di crittografia gestite dal cliente (CMEK), devi fornire la chiave solo se utilizzi la API REST o la CLI gcloud per creare il disco. Se utilizzi nella console Google Cloud, non devi specificare la chiave di crittografia.

Creare un disco da uno snapshot istantaneo

Uno snapshot istantaneo è criptato con la stessa crittografia del disco di origine. I passaggi per creare un disco da uno snapshot istantaneo dipendono da come il disco di origine dello snapshot istantaneo è criptato.

Ogni disco di origine viene criptato con uno dei seguenti metodi:

  • Chiavi di proprietà di Google e gestite da Google. Questa è l'impostazione predefinita.
  • Chiavi di crittografia gestite dal cliente (CMEK)
  • Chiavi di crittografia fornite dal cliente (CSEK).

Per scoprire in che modo viene criptato un determinato disco, consulta Visualizzare informazioni sulla crittografia di un disco.

Crea un disco da uno snapshot istantaneo criptato con crittografia predefinita

Puoi creare un disco da uno snapshot istantaneo con la CLI gcloud, la console Google Cloud o REST.

Console

  1. Trova lo snapshot istantaneo che vuoi ripristinare:

    1. Nella console Google Cloud, vai alla pagina Snapshot.

      Vai a Snapshot

    2. Fai clic sulla scheda Snapshot istantanei.

    3. Nella colonna Nome, fai clic sul nome dello snapshot istantaneo da ripristinare.

  2. Fai clic su Crea disco.

  3. Nel campo Nome, inserisci un nuovo nome per il disco.

  4. (Facoltativo) Nel campo Descrizione, inserisci ulteriori dettagli.

  5. Verifica che il Tipo di origine disco sia Snapshot istantaneo.

  6. Nell'elenco Snapshot istantaneo di origine, scegli lo snapshot istantaneo.

  7. (Facoltativo) Configura personalizzazioni aggiuntive per il disco.

    • Inserisci una dimensione: nel campo Dimensione, specifica una dimensione per il disco in GB. Le dimensioni devono essere uguali o maggiori a quelle del disco di origine per lo snapshot.
    • Pianifica i backup: se vuoi che Compute Engine crei snapshot standard di questo nuovo disco in base a una pianificazione, seleziona la casella di controllo Abilita pianificazione snapshot e scegli una pianificazione degli snapshot. In caso contrario, deseleziona la casella di controllo.
  8. (Facoltativo) Per organizzare il progetto, aggiungine uno o più etichette.

  9. Per creare il disco, fai clic su Crea.

gcloud

Utilizza la Comando gcloud compute disks create. Gli argomenti specificati dipendono dal fatto che tu stia creando un disco di un'area geografica o di una zona.

Crea un disco a livello di zona

Specifica la zona con il flag --zone:

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

Sostituisci quanto segue:

  • DISK_NAME: il nome del nuovo disco.
  • ZONE: la zona per il nuovo disco, ad esempio europe-west1-a.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome del snapshot istantaneo di origine.

Crea un disco regionale

Specifica la regione con --region e le zone di replica target del nuovo disco con --replica-zones.

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

Sostituisci quanto segue:

  • DISK_NAME: il nome del nuovo disco.
  • REGION: la regione per il disco regionale in cui risiedere, ad esempio: europe-west1.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome del snapshot istantaneo di origine.
  • ZONE1,ZONE2: le zone all'interno della regione dove si trovano le due repliche del disco, ad esempio: europe-west1-b,europe-west1-c.

REST

Per creare un disco a livello di zona o di regione da uno snapshot istantaneo, utilizza Metodo disks.insert. La il nuovo disco deve essere dello stesso tipo del disco di origine dell'istanza senza dover creare uno snapshot. Ad esempio, non puoi creare un disco regionale da uno snapshot di un a livello di zona.

Crea un disco a livello di zona

Invia una richiesta POST specificando lo snapshot istantaneo di origine.

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

Sostituisci quanto segue:

  • PROJECT: il progetto in cui creare il nuovo disco.
  • SOURCE_ZONE: la zona in cui si trova lo snapshot istantaneo, ad esempio us-central1-a. Il disco viene creato in questa zona.
  • NEW_DISK_NAME: un nome univoco per il nuovo disco.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome dello snapshot istantaneo di origine.

Crea un disco regionale

Invia una richiesta POST specificando lo snapshot istantaneo di origine e le zone in cui deve essere replicato il 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"
]
}

Sostituisci quanto segue:

  • PROJECT: progetto in cui creare il nuovo disco.
  • SOURCE_REGION: la regione in cui si trova lo snapshot istantaneo. Il disco viene creato in questa regione.
  • NEW_DISK_NAME: un nome univoco per il nuovo disco.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome dell'istanza istantanea di origine senza dover creare uno snapshot.
  • ZONE1,ZONE2: le zone all'interno della regione per le due repliche del disco, ad esempio europe-west1-b,europe-west1-c.

Risposta alla richiesta API

Se la richiesta POST ha esito positivo, il corpo della risposta sarà un oggetto che puoi sottoporre a polling per ottenere lo stato della creazione del disco. Consulta Gestione delle risposte dell'API per ulteriori informazioni.

Crea un disco da uno snapshot istantaneo criptato con CMEK o CSEK

Console

Se lo snapshot istantaneo utilizza la crittografia predefinita di Google o CMEK, console Google Cloud fornisce automaticamente la chiave di crittografia quando crei un disco senza dover creare uno snapshot. In caso contrario, se lo snapshot istantaneo è criptato con CSEK, devi fornire la chiave di crittografia per creare un disco.

Segui le passaggi nella sezione della crittografia gestita da Google, specificando la chiave di crittografia seguendo queste istruzioni:

  1. Nella sezione Decriptazione, inserisci la chiave di crittografia nel Chiave di crittografia.
  2. Se la chiave è sottoposta a wrapping con la chiave pubblica RSA, seleziona Chiave con wrapping.

gcloud

Utilizza il comando gcloud compute disks create.

Se il disco di origine è criptato con CMEK, utilizza il parametro --kms-key per fornire il nome della chiave.

Se il disco di origine è criptato con CSEK, utilizza il parametro --csek-key-file per specificare la chiave di crittografia del disco di origine.

CMEK

Per creare un disco zonale da uno snapshot istantaneo criptato con CMEK, utilizza il seguente 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

Sostituisci quanto segue:

  • NEW_DISK_NAME: il nome del nuovo disco.
  • SOURCE_ZONE: la zona in cui è archiviato lo snapshot istantaneo, ad esempio europe-west1-a.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome del snapshot istantaneo di origine.
  • KMS_PROJECT_NAME: il progetto contenente la chiave.
  • KEYRING_LOCATION: la posizione del keyring a cui appartiene la chiave. Se il keyring è globale, specifica global. Altrimenti, specifica il nome della regione in cui del keyring, ad esempio us-west1.
  • KEY_RING_NAME: il nome del keyring che include la chiave, ad esempio key-ring-1.
  • KEY_NAME: il nome della chiave utilizzata per criptare il disco.

CSEK

Per creare un disco di zona da uno snapshot istantaneo criptato con CSEK, utilizza questo 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
 

Sostituisci quanto segue:

  • NEW_DISK_NAME: il nome del nuovo disco.
  • SOURCE_ZONE: la zona in cui è archiviato lo snapshot istantaneo, ad esempio europe-west1-a.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome del snapshot istantaneo di origine.
  • CSEK_JSON_FILE: percorso di un file JSON contenente la chiave. Consulta un del formato file CSEK.

Per creare un disco regionale, sostituisci il flag --zone nel dell'esempio precedente con i seguenti flag:

  • --region: la regione del nuovo disco
  • --replica-zones: le zone all'interno della regione per le due repliche del disco.

REST

Per creare un disco a livello di zona o di regione da uno snapshot istantaneo criptato con CMEK o CSEK: invia una richiesta POST a Metodo disks.insert utilizzando le proprietà elencate Crittografia gestita da Google.

Inoltre, fornisci la chiave di crittografia del disco di origine con il diskEncryptionKey . Le proprietà del campo diskEncryptionKey dipendono dal fatto che tu o meno se il disco è criptato con CMEK o CSEK.

I seguenti esempi mostrano come creare un nuovo disco di zona per ogni tipo di crittografia.

CMEK

Nel corpo della richiesta, specifica il nome della chiave con il diskEncryptionKey.kmsKeyName proprietà:

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

Sostituisci quanto segue:

  • NEW_DISK_NAME: un nome univoco per il nuovo disco.
  • PROJECT: progetto in cui creare il nuovo disco.
  • SOURCE_ZONE: la zona in cui si trova lo snapshot istantaneo ad esempio us-central1-a. Il disco viene creato in questa zona.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome dell'istanza istantanea di origine senza dover creare uno snapshot.
  • KMS_PROJECT: il progetto contenente la chiave.
  • LOCATION: la posizione del keyring a cui appartiene la chiave. Se il keyring è globale, specifica global. In caso contrario, specifica il nome della regione in cui si trova il keyring, ad esempio us-west1.
  • KEY_RING: il nome del keyring che include la chiave, ad esempio key-ring-1.
  • KEY: il nome della chiave utilizzata per criptare il disco.

CSEK

Il corpo della richiesta dipende dal fatto che la CSEK utilizzata per criptare lo snapshot immediato sia o meno criptata con RSA.

Per utilizzare una chiave non elaborata (non crittografata con RSA), specifica la chiave nel Proprietà diskEncryptionKey.rawKey del corpo della richiesta:

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

Sostituisci quanto segue con i valori corrispondenti:

  • PROJECT: il progetto in cui creare il nuovo disco.
  • SOURCE_ZONE: la zona in cui si trova lo snapshot istantaneo, ad esempio us-central1-a. Il disco viene creato in questa zona.
  • NEW_DISK_NAME: un nome univoco per il nuovo disco.
  • SOURCE_INSTANT_SNAPSHOT_NAME: il nome dello snapshot istantaneo di origine.
  • RAW_ENCRYPTION_KEY: la chiave utilizzata per criptare snapshot istantaneo e disco di origine, ad esempio SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=.

Per utilizzare una chiave criptata con RSA, modifica l'esempio precedente come segue:

  • Invia una richiesta POST al metodo disks.insert:

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

  • Specifica la chiave nella proprietà diskEncryptionKey.rsaEncryptedKey dell'elemento corpo della richiesta:

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

Sostituisci RSA_ENCRYPTED_KEY con la tua chiave criptata.

Risposta alla richiesta API

Se la richiesta POST ha esito positivo, il corpo della risposta sarà un oggetto che puoi sottoporre a polling per ottenere lo stato della creazione del disco. Per ulteriori informazioni, consulta la sezione Gestire le risposte dell'API.