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 Typen, denselben 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 erstellen Sie dann mit dem neuen Laufwerk eine VM.

  • 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 wurde. Sie haben auch einen Instant Snapshot „IS-1“, der aus DISK-1 erstellt wurde. Wenn Sie ein neues Laufwerk aus IS-1 erstellen, müssen Sie denselben Schlüssel KEY-1 angeben, wenn Sie das neue Laufwerk erstellen.

    Wenn das Laufwerk mit vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK) verschlüsselt ist, müssen Sie den Schlüssel nur angeben, wenn Sie den Schlüssel REST oder die gcloud CLI verwenden, um das Laufwerk zu erstellen. Wenn Sie die Google Cloud Console verwenden möchten, 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 sein 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 ist.

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

  • Zu Google gehörende und von Google verwaltete Schlü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 aus einem mit Standardverschlüsselung verschlüsselten Instant Snapshot erstellen

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 in das Feld Beschreibung zusätzliche Informationen 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: Fügen Sie zum Organisieren Ihres Projekts eine oder mehrere Labels hinzu.

  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 aus einem CMEK- oder CSEK-verschlüsselten Instant Snapshot 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. Andernfalls müssen Sie den Verschlüsselungsschlüssel bereitstellen, um ein Laufwerk zu erstellen, wenn der Instant Snapshot CSEK-verschlüsselt ist.

Folgen Sie der Schritte im Abschnitt „Von Google verwaltete Verschlüsselung“. Geben Sie den Verschlüsselungsschlüssel wie folgt an:

  1. Geben Sie im Bereich Entschlüsselung den Verschlüsselungsschlüssel in das Feld Verschlüsselungsschlüssel ein.
  2. Wenn der Schlüssel mit dem ö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, verwenden Sie den --kms-key-Parameter, um den Namen des Schlüssels bereitzustellen.

    Wenn das Quelllaufwerk CSEK-verschlüsselt ist, verwenden Sie den Parameter --csek-key-file, um den Verschlüsselungsschlüssel des Quelllaufwerks anzugeben.

    CMEK

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

         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: durch den 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

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

         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

    Ersetzen Sie zum Erstellen eines regionalen Laufwerks das Flag --zone in dem vorherigen Beispiel durch die folgenden Flags:

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

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 in dem Feld diskEncryptionKey an. Die Eigenschaften 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, enthält den Schlüssel, 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, der zum Verschlüsseln des Instant Snapshots verwendet wurde, RSA-verschlüsselt ist oder nicht.

Wenn Sie einen Rohschlüssel (nicht RSA-verschlüsselt) verwenden möchten, geben Sie den Schlüssel in dem 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:

  • Senden 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 Anfragetext 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.