Laufwerk aus einem Instant Snapshot wiederherstellen


Für den Zugriff auf Daten, die in einem Instant Snapshot erfasst wurden, müssen Sie ihn wiederherstellen oder ein neues Laufwerk aus dem Instant Snapshot erstellen.

Auf dieser Seite wird erläutert, wie Sie ein Laufwerk aus einem Instant Snapshot erstellen. Nachdem Sie das Laufwerk erstellt haben, können Sie es verwenden, indem Sie es an eine virtuelle Maschine (VM) anhängen.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.

    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. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

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

      Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

        Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Einschränkungen

Folgende Einschränkungen gelten:

  • Wenn Sie ein Laufwerk aus einem Instant Snapshot erstellen, hat das neue Laufwerk immer denselben Typ, Speicherort und dieselbe Verschlüsselung wie das Quelllaufwerk des Snapshots.

  • Sie können eine VM nicht direkt aus einem Instant Snapshot erstellen. Sie müssen ein Laufwerk aus dem Instant Snapshot erstellen und dann das neue Laufwerk zum Erstellen einer VM verwenden.

  • Wenn das Quelllaufwerk des Instant Snapshots vom Kunden verwaltete oder vom Kunden bereitgestellte Verschlüsselungsschlüssel verwendet, müssen Sie denselben Verschlüsselungsschlüssel angeben, wenn Sie ein neues Laufwerk aus dem Instant Snapshot erstellen.

    Betrachten Sie dieses Beispiel: Angenommen, Sie haben ein Laufwerk DISK-1, das mit einem vom Kunden bereitgestellten Verschlüsselungsschlüssel (CSEK) KEY-1 verschlüsselt ist. Sie haben auch einen Instant Snapshot, IS-1, erstellt aus DISK-1. Wenn Sie ein neues Laufwerk aus IS-1 erstellen möchten, müssen Sie beim Erstellen des neuen Laufwerks denselben Schlüssel (KEY-1) angeben.

    Wenn das Laufwerk mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) verschlüsselt ist, müssen Sie den Schlüssel nur angeben, wenn Sie das Laufwerk mit REST oder der gcloud CLI erstellen. Wenn Sie die Google Cloud Console verwenden, müssen Sie den Verschlüsselungsschlüssel nicht angeben.

Neues Laufwerk anhand eines Instant Snapshots erstellen

Ein Instant Snapshot wird mit derselben Verschlüsselung wie das Quelllaufwerk verschlüsselt. Die Schritte zum Erstellen eines Laufwerks aus einem Instant Snapshot hängen davon ab, wie das Quelllaufwerk des Instant Snapshots verschlüsselt wird.

Jedes Quelllaufwerk wird mit einer der folgenden Methoden verschlüsselt:

  • Von Google verwaltete Verschlüsselungsschlüssel Das ist die Standardeinstellung.
  • Kunden-verwaltete Verschlüsselungsschlüssel (CMEK)
  • Vom Kunden bereitgestellte Verschlüsselungsschlüssel (CSEK, Customer-Supplied Encryption Keys)

Um herauszufinden wie bestimmtes Laufwerk verschlüsselt ist, rufen Sie auf Informationen zur Verschlüsselung eines Laufwerks ansehen.

Laufwerk anhand eines Instant Snapshots erstellen, der mit von Google verwalteter Verschlüsselung (Standard) verschlüsselt ist

Sie können ein Laufwerk aus einem Instant Snapshot mit der gcloud CLI, der Google Cloud Console oder REST erstellen.

Console

  1. Suchen Sie den Instant Snapshot, den Sie wiederherstellen möchten:

    1. Rufen Sie in der Google Cloud Console die Seite Snapshots auf.

      Zu "Snapshots"

    2. Klicken Sie auf den Tab Instant Snapshots.

    3. Klicken Sie in der Spalte Name auf den Namen des Instant Snapshots, den Sie wiederherstellen möchten.

  2. Klicken Sie auf Laufwerk erstellen.

  3. Geben Sie im Feld Name einen Namen für das Laufwerk ein.

  4. Optional: Geben Sie im Feld Beschreibung zusätzliche Details ein.

  5. Prüfen Sie, ob der Laufwerksquelltypein Instant Snapshot ist.

  6. Wählen Sie in der Liste Quell-Instant Snapshot den Instant Snapshot aus.

  7. Optional: Konfigurieren Sie zusätzliche Anpassungen für das Laufwerk.

    • Geben Sie eine Größe ein: Geben Sie im Feld Größe eine Größe für das Laufwerk in Gigabyte an. Die Größe muss höher oder gleich der Größe des Quelllaufwerks für den Snapshot sein.
    • Planen Sie Sicherungen: Wenn Compute Engine Standard-Snapshots dieses neuen Laufwerks nach einem Zeitplan erstellen soll, klicken Sie das Kästchen Snapshot-Zeitplan aktivieren an und wählen Sie einen Snapshot-Zeitplan aus. Entfernen Sie andernfalls das Häkchen aus dem Kästchen.
  8. Optional: Zum Organisieren Ihres Projekts können Sie ein oder mehrere Labels hinzufügen.

  9. Klicken Sie auf Erstellen, um das Laufwerk anzulegen.

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Führen Sie den Befehl gcloud beta compute disks create aus. Die von Ihnen angegebenen Argumente hängen davon ab, ob Sie ein zonales oder regionales Laufwerk erstellen.

    Erstellen Sie ein zonales Laufwerk:

    Geben Sie die Zone mit dem Flag --zone an:

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

    Ersetzen Sie Folgendes:

    • DISK_NAME: durch den Namen des neuen Laufwerks.
    • ZONE: die Zone für das neue Laufwerk, z. B. europe-west1-a.
    • SOURCE_INSTANT_SNAPSHOT_NAME: der Name des Quell-Instant Snapshots.

    Erstellen Sie ein regionales Laufwerk:

    Geben Sie die Region mit --region und die Zielreplikationszonen des neuen Laufwerks mit --replica-zones an.

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

    Ersetzen Sie Folgendes:

    • DISK_NAME: der Name des neuen Laufwerks.
    • REGION: die Region, in der sich das regionale Laufwerk befindet, z. B. europe-west1.
    • SOURCE_INSTANT_SNAPSHOT_NAME: der Name des Quell-Instant Snapshots.
    • ZONE1,ZONE2: die Zonen innerhalb der Region, in denen sich die beiden Laufwerksreplikate befinden, z. B. europe-west1-b,europe-west1-c.

REST

Verwenden Sie die Methode disks.insert, um ein zonales oder regionales Laufwerk aus einem Instant Snapshot zu erstellen.

Erstellen Sie ein zonales Laufwerk:

Stellen Sie eine POST-Anfrage und geben Sie dabei den Quell-Instant Snapshot an.

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

Ersetzen Sie Folgendes:

  • PROJECT: das Projekt, in dem das neue Laufwerk erstellt werden soll.
  • SOURCE_ZONE: die Zone, in der sich der Instant Snapshot befindet, z. B. us-central1-a. Das Laufwerk wird in dieser Zone erstellt.
  • NEW_DISK_NAME: ein eindeutiger Name für das neue Laufwerk.
  • SOURCE_INSTANT_SNAPSHOT_NAME: der Name des Quell-Instant Snapshots.

Erstellen Sie ein regionales Laufwerk:

Stellen Sie eine POST-Anfrage und geben Sie dabei den Quell-Instant Snapshot und die Zonen an, in die das Laufwerk repliziert werden soll.


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

Ersetzen Sie Folgendes:

  • PROJECT: das Projekt, in dem das neue Laufwerk erstellt werden soll.
  • SOURCE_REGION: die Region, in der sich der Instant Snapshot befindet. Das Laufwerk wird in dieser Region erstellt.
  • NEW_DISK_NAME: ein eindeutiger Name für das neue Laufwerk.
  • SOURCE_INSTANT_SNAPSHOT_NAME: durch den Name des Quell-Instant Snapshots.
  • ZONE1,ZONE2: die Zonen innerhalb der Region für die beiden Laufwerksreplikate, z. B. europe-west1-b, europe-west1-c.

Antwort auf API-Anfrage

Wenn die Anfrage POST erfolgreich ist, ist der Antworttext ein Objekt, das Sie abfragen können, um den Status der Laufwerkserstellung abzurufen. Weitere Informationen finden Sie unter API-Antworten verarbeiten.

Laufwerk anhand eines CMEK- oder CSEK-verschlüsselten Instant Snapshots erstellen

Console

Wenn der Instant Snapshot die Standard-Google- oder CMEK-Verschlüsselung verwendet, stellt die Google Cloud Console den Verschlüsselungsschlüssel automatisch bereit, wenn Sie ein Laufwerk aus dem Instant Snapshot erstellen. Wenn der Instant Snapshot CSEK-verschlüsselt ist, müssen Sie den Verschlüsselungsschlüssel angeben, um ein Laufwerk zu erstellen.

Folgen Sie den Schritten im Abschnitt „Von Google verwaltete Verschlüsselung“ und geben Sie den Verschlüsselungsschlüssel anhand der folgenden Anleitung an:

  1. Geben Sie im Abschnitt Entschlüsselung den Verschlüsselungsschlüssel in das Feld Verschlüsselungsschlüssel ein.
  2. Wenn der Schlüssel mit einem öffentlichen RSA-Schlüssel verpackt ist, wählen Sie Verpackter Schlüssel aus.

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Führen Sie den Befehl gcloud beta compute disks create aus.

    Wenn das Quelllaufwerk CMEK-verschlüsselt ist, geben Sie mit dem Parameter --kms-key den Namen des Schlüssels an.

    Wenn das Quelllaufwerk CSEK-verschlüsselt ist, geben Sie mit dem Parameter --csek-key-file den Verschlüsselungsschlüssel des Quelllaufwerks an.

    CMEK

    Verwenden Sie den folgenden Befehl, um ein zonales Laufwerk aus einem CMEK-verschlüsselten Instant Snapshot zu erstellen:

         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
    

    Ersetzen Sie Folgendes:

    • NEW_DISK_NAME: durch den Namen des neuen Laufwerks.
    • SOURCE_ZONE: die Zone, in der sich der Instant Snapshot befindet, z. B. europe-west1-a.
    • SOURCE_INSTANT_SNAPSHOT_NAME: der Name des Quell-Instant Snapshots.
    • KMS_PROJECT_NAME: durch das Projekt, das den Schlüssel enthält.
    • KEYRING_LOCATION: der Speicherort des Schlüsselbunds, zu dem der Schlüssel gehört. Wenn der Schlüsselbund global ist, geben Sie global an. Geben Sie andernfalls den Namen der Region an, in der sich der Schlüsselbund befindet, z. B. us-west1.
    • KEY_RING_NAME: der Name des Schlüsselbunds, der den Schlüssel enthält, z. B. key-ring-1.
    • KEY_NAME: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wird

    CSEK

    Verwenden Sie den folgenden Befehl, um ein zonales Laufwerk aus einem CSEK-verschlüsselten Instant Snapshot zu erstellen:

         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
     

    Ersetzen Sie Folgendes:

    • NEW_DISK_NAME: durch den Namen des neuen Laufwerks.
    • SOURCE_ZONE: die Zone, in der sich der Instant Snapshot befindet, z. B. europe-west1-a.
    • SOURCE_INSTANT_SNAPSHOT_NAME: der Name des Quell-Instant Snapshots.
    • CSEK_JSON_FILE: Pfad zu einer JSON-Datei, die den Schlüssel enthält. Beispiel für das CSEK-Dateiformat

    Zum Erstellen eines regionalen Laufwerks ersetzen Sie das Flag --zone im vorherigen Beispiel durch die folgenden Flags:

    • --region: Region für das neue Laufwerk.
    • --replica-zones: die Zonen innerhalb der Region für die beiden Laufwerksreplikate.

REST

Senden Sie zum Erstellen eines zonalen oder regionalen Laufwerks aus einem CMEK- oder CSEK-verschlüsselten Instant Snapshot eine POST-Anfrage an die disks.insert-Methode mit den Attributen aufgelistet in: Abschnitt Von Google verwaltete Verschlüsselung.

Geben Sie außerdem den Verschlüsselungsschlüssel des Quelllaufwerks mit dem Feld diskEncryptionKey an. Die Attribute des Felds diskEncryptionKey hängen davon ab, ob das Laufwerk CMEK- oder CSEK-verschlüsselt ist.

Die folgenden Beispiele zeigen, wie Sie für jeden Verschlüsselungstyp ein neues zonales Laufwerk erstellen.

CMEK

Geben Sie im Anfragetext den Namen des Schlüssels mit dem Attribut diskEncryptionKey.kmsKeyName an:

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

Ersetzen Sie Folgendes:

  • NEW_DISK_NAME: ein eindeutiger Name für das neue Laufwerk.
  • PROJECT: das Projekt, in dem das neue Laufwerk erstellt werden soll.
  • SOURCE_ZONE: die Zone, in der sich der Instant Snapshot befindet, z. B. us-central1-a. Das Laufwerk wird in dieser Zone erstellt.
  • SOURCE_INSTANT_SNAPSHOT_NAME: durch den Name des Quell-Instant Snapshots.
  • KMS_PROJECT: das Projekt, das den Schlüssel enthält.
  • LOCATION: der Speicherort des Schlüsselbunds, zu dem der Schlüssel gehört. Wenn der Schlüsselbund global ist, geben Sie global an. Geben Sie andernfalls den Namen der Region an, in der sich der Schlüsselbund befindet, z. B. us-west1.
  • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält, z. B. key-ring-1.
  • KEY: der Name des Schlüssels, mit dem das Laufwerk verschlüsselt wird

CSEK

Der Anfragetext hängt davon ab, ob der CSEK, das zum Verschlüsseln des Instant Snapshots verwendet wird, RSA-verschlüsselt ist oder nicht.

Wenn Sie einen Standardschlüssel (nicht RSA-verschlüsselt) verwenden möchten, geben Sie den Schlüssel im Attribut diskEncryptionKey.rawKey des Anfragetexts an:

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

Ersetzen Sie Folgendes durch die entsprechenden Werte:

  • PROJECT: das Projekt, in dem das neue Laufwerk erstellt werden soll.
  • SOURCE_ZONE: die Zone, in der sich der Instant Snapshot befindet, z. B. us-central1-a. Das Laufwerk wird in dieser Zone erstellt.
  • NEW_DISK_NAME: ein eindeutiger Name für das neue Laufwerk.
  • SOURCE_INSTANT_SNAPSHOT_NAME: der Name des Quell-Instant Snapshots.
  • RAW_ENCRYPTION_KEY: durch den Schlüssel, der zum Verschlüsseln des Instant Snapshots und des Quelllaufwerks verwendet wird, z. B. SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=.

Um einen RSA-verschlüsselten Schlüssel zu verwenden, ändern Sie das vorherige Beispiel so:

  • Stellen Sie eine POST-Anfrage an die Betaversion der disks.insert-Methode:

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

  • Geben Sie den Schlüssel im Attribut diskEncryptionKey.rsaEncryptedKey des Anfragetexts an:

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

Ersetzen Sie RSA_ENCRYPTED_KEY durch Ihren verschlüsselten Schlüssel.

Antwort auf API-Anfrage

Wenn die Anfrage POST erfolgreich ist, ist der Antworttext ein Objekt, das Sie abfragen können, um den Status der Laufwerkserstellung abzurufen. Weitere Informationen finden Sie unter API-Antworten verarbeiten.