Laufwerk-Snapshots verwalten


Mit Standard-Snapshots von Laufwerken können Sie regelmäßig Daten von Ihrer Persistent Disk und von Google Cloud Hyperdisk sichern.

Sie können Laufwerk-Snapshots aufrufen, auflisten und löschen. Außerdem ist eine projektübergreifende Freigabe von Snapshots möglich.

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.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

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

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    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

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Standard-Snapshots benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Standard-Snapshots erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Standard-Snapshots zu verwalten:

  • Zum Auflisten von Snapshots: compute.snapshots.list für das Projekt
  • So rufen Sie Informationen zu einem Snapshot auf: compute.snapshots.get für den Snapshot
  • So löschen Sie einen Snapshot: compute.snapshots.delete für den Snapshot
  • So löschen Sie Snapshots basierend auf einem Filter:
    • compute.snapshots.delete für den Snapshot
    • compute.snapshots.list für das Projekt
  • So geben Sie Snapshot-Daten projektübergreifend frei:
    • compute.storageAdmin für das Projekt (für den Zugriff auf alle Standard-Snapshots)
    • compute.disks.create für das Projekt, für das freigegeben werden soll
    • compute.snapshots.create für das Quellprojekt.
    • compute.disks.createSnapshot für das Quelllaufwerk

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Standard-Snapshots in einem Projekt oder an einem Standort ansehen

Sie können die Standard-Snapshots in einem Projekt oder an einem Standort mit der gcloud CLI, der Google Cloud Console oder REST aufrufen oder auflisten.

Console

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

    Zur Seite "Snapshots"

  2. Auf dem Tab Snapshots werden die Standard-Snapshots für das aktuelle Projekt angezeigt.

  3. Optional. Grenzen Sie die Ergebnisse mit dem Feld Filter filter_list ein. Geben Sie im Feld Filter einen Namen oder Wert für das Attribut ein oder wählen Sie eine der verfügbaren Attribute aus.

gcloud

Mit dem Befehl gcloud compute snapshots list können Sie eine Liste der Snapshots abrufen, die Ihnen in einem bestimmten Projekt zur Verfügung stehen.

gcloud compute snapshots list --project=PROJECT_ID

Optional. Ersetzen Sie PROJECT_ID durch die Projekt-ID. Wenn Sie dieses Flag weglassen, wird das aktuelle Projekt verwendet. Sie können das Standardprojekt für Ihre Sitzung mit dem gcloud CLI-Befehl gcloud config set project PROJECT_ID festlegen.

REST

Wenn Sie eine Liste der Snapshots abrufen möchten, die Ihnen in einem bestimmten Projekt zur Verfügung stehen, senden Sie eine GET-Anfrage an die Methode snapshots.list:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots

Ersetzen Sie PROJECT_ID durch die Projekt-ID.

Standard-Snapshots für ein Laufwerk ansehen

Sie können die Liste der Standard-Snapshots für ein Laufwerk mit der Google Cloud Console, der gcloud CLI oder REST aufrufen.

Console

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

    Zur Seite "Snapshots"

  2. Auf dem Tab Snapshots wird eine Liste aller Standard-Snapshots im Projekt angezeigt.

  3. Grenzen Sie die Ergebnisse nach Quelllaufwerk ein:

    1. Geben Sie Source disk: im Feld Filtern filter_list ein oder klicken Sie auf das Feld Filtern und wählen Sie dann den WertSource disk aus dem Attribute Liste.

    2. Wählen Sie den Namen des Laufwerks aus der Liste Werte aus, die neben Source disk: im Feld Filter angezeigt wird.

      Die in der Console angezeigten Snapshots zeigen jetzt alle Standard-Snapshots für das angegebene Laufwerk an.

      Wenn Sie den Namen eines Laufwerks nicht in der Liste Werte sehen, geben Sie im Feld Filter neben Source disk: die ersten Buchstaben des Namens des Quelllaufwerks ein, um die angezeigte Werteliste zu ändern.

gcloud

Standard-Snapshots für ein Laufwerk mit dem Befehl gcloud compute snapshots list und dem Argument --filter auflisten:

  • Standard-Snapshots für ein zonales Laufwerk auflisten:

    gcloud compute snapshots list --filter="sourceDisk:projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
    
  • Standard-Snapshots für ein regionales Laufwerk auflisten:

    gcloud compute snapshots list --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts.
  • SOURCE_ZONE: (nur zonale Laufwerke) der Name der Zone für das Laufwerk, z. B. us-west1-a.
  • SOURCE_REGION: (nur regionale Laufwerke) Der Name der Region für das Laufwerk, z. B. us-west1.
  • DISK_NAME: der Name des Laufwerks, z. B. disk-1.

REST

Listen Sie Standard-Snapshots für ein zonales oder regionales Laufwerk mit einer GET-Anfrage an die Methode snapshots.list auf.

Verwenden Sie den Abfrageparameter filter=sourceDisk, um den Namen des Laufwerks anzugeben.

  • Standard-Snapshots für ein zonales Laufwerk auflisten:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
    
  • Standard-Snapshots für ein regionales Laufwerk auflisten:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts.
  • SOURCE_ZONE: (nur zonale Laufwerke) der Name der Zone für das Laufwerk, z. B. us-west1-a.
  • SOURCE_REGION: (nur regionale Laufwerke) Der Name der Region für das Laufwerk, z. B. us-west1.
  • DISK_NAME: der Name des Quelllaufwerks, z. B. disk-1.

Informationen zu einem Standard-Snapshot ansehen

Mit der Google Cloud Console, der Google Cloud CLI oder REST können Sie detaillierte Informationen zu einem Standard-Snapshot wie Erstellungszeit, Quelllaufwerk und Größe abrufen.

Console

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

    Zur Seite "Snapshots"

  2. Rufen Sie auf dem Tab Snapshots die Liste der Snapshots im Projekt auf.

  3. Klicken Sie in der Spalte Name auf den Namen des Standard-Snapshots. Die Seite Details zu Snapshots für den ausgewählten Snapshot wird mit den zugehörigen Attributen angezeigt.

gcloud

Verwenden Sie den Befehl gcloud compute snapshots describe, um Informationen zu einem Standard-Snapshot aufzurufen.

gcloud compute snapshots describe SNAPSHOT_NAME

Ersetzen Sie SNAPSHOT_NAME durch den Namen des Standard-Snapshots.

REST

Stellen Sie eine GET-Anfrage an die Methode snapshots.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: der Name des Projekts, das den Standard-Snapshot enthält.
  • SNAPSHOT_NAME: der Name des Standard-Snapshots.

Snapshot löschen

Compute Engine verwendet differenzielle Snapshots, sodass jeder Snapshot nur jene Daten enthält, die sich seit dem letzten Snapshot geändert haben. Da nachfolgende Snapshots Informationen benötigen könnten, die in einem vorherigen Snapshot gespeichert sind, werden beim Löschen eines Snapshots also nicht unbedingt alle Daten im Snapshot gelöscht.

Weitere Informationen zum Löschen von Snapshots finden Sie unter Snapshot löschen.

Console

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

    Zur Seite "Snapshots"

  2. Wählen Sie einen oder mehrere Snapshots aus, den oder die Sie löschen möchten.

  3. Klicken Sie oben auf der Seite Snapshots auf Löschen.

gcloud

Verwenden Sie zum Löschen eines Snapshots den Befehl gcloud compute snapshots delete:

gcloud compute snapshots delete SNAPSHOT_NAME

Ersetzen Sie SNAPSHOT_NAME durch den Namen des Snapshots, den Sie löschen möchten.

Einfach loslegen (Go)

import (
	"context"
	"fmt"
	"io"

	compute "cloud.google.com/go/compute/apiv1"
	computepb "google.golang.org/genproto/googleapis/cloud/compute/v1"
)

// deleteSnapshot deletes a snapshot of a disk.
func deleteSnapshot(w io.Writer, projectID, snapshotName string) error {
	// projectID := "your_project_id"
	// snapshotName := "your_snapshot_name"

	ctx := context.Background()
	snapshotsClient, err := compute.NewSnapshotsRESTClient(ctx)
	if err != nil {
		return fmt.Errorf("NewSnapshotsRESTClient: %w", err)
	}
	defer snapshotsClient.Close()

	req := &computepb.DeleteSnapshotRequest{
		Project:  projectID,
		Snapshot: snapshotName,
	}

	op, err := snapshotsClient.Delete(ctx, req)
	if err != nil {
		return fmt.Errorf("unable to delete snapshot: %w", err)
	}

	if err = op.Wait(ctx); err != nil {
		return fmt.Errorf("unable to wait for the operation: %w", err)
	}

	fmt.Fprintf(w, "Snapshot deleted\n")

	return nil
}

Java


import com.google.cloud.compute.v1.Operation;
import com.google.cloud.compute.v1.SnapshotsClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class DeleteSnapshot {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // TODO(developer): Replace these variables before running the sample.

    // Project ID or project number of the Cloud project you want to use.
    String projectId = "YOUR_PROJECT_ID";

    // Name of the snapshot to be deleted.
    String snapshotName = "YOUR_SNAPSHOT_NAME";

    deleteSnapshot(projectId, snapshotName);
  }

  // Delete a snapshot of a disk.
  public static void deleteSnapshot(String projectId, String snapshotName)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `snapshotsClient.close()` method on the client to safely
    // clean up any remaining background resources.
    try (SnapshotsClient snapshotsClient = SnapshotsClient.create()) {

      Operation operation = snapshotsClient.deleteAsync(projectId, snapshotName)
          .get(3, TimeUnit.MINUTES);

      if (operation.hasError()) {
        System.out.println("Snapshot deletion failed!" + operation);
        return;
      }

      System.out.println("Snapshot deleted!");
    }
  }
}

Node.js

/**
 * TODO(developer): Uncomment and replace these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const snapshotName = 'YOUR_SNAPSHOT_NAME';

const compute = require('@google-cloud/compute');

async function deleteSnapshot() {
  const snapshotsClient = new compute.SnapshotsClient();

  const [response] = await snapshotsClient.delete({
    project: projectId,
    snapshot: snapshotName,
  });
  let operation = response.latestResponse;
  const operationsClient = new compute.GlobalOperationsClient();

  // Wait for the create disk operation to complete.
  while (operation.status !== 'DONE') {
    [operation] = await operationsClient.wait({
      operation: operation.name,
      project: projectId,
    });
  }

  console.log('Snapshot deleted.');
}

deleteSnapshot();

Python

from __future__ import annotations

import sys
from typing import Any

from google.api_core.extended_operation import ExtendedOperation
from google.cloud import compute_v1

def wait_for_extended_operation(
    operation: ExtendedOperation, verbose_name: str = "operation", timeout: int = 300
) -> Any:
    """
    Waits for the extended (long-running) operation to complete.

    If the operation is successful, it will return its result.
    If the operation ends with an error, an exception will be raised.
    If there were any warnings during the execution of the operation
    they will be printed to sys.stderr.

    Args:
        operation: a long-running operation you want to wait on.
        verbose_name: (optional) a more verbose name of the operation,
            used only during error and warning reporting.
        timeout: how long (in seconds) to wait for operation to finish.
            If None, wait indefinitely.

    Returns:
        Whatever the operation.result() returns.

    Raises:
        This method will raise the exception received from `operation.exception()`
        or RuntimeError if there is no exception set, but there is an `error_code`
        set for the `operation`.

        In case of an operation taking longer than `timeout` seconds to complete,
        a `concurrent.futures.TimeoutError` will be raised.
    """
    result = operation.result(timeout=timeout)

    if operation.error_code:
        print(
            f"Error during {verbose_name}: [Code: {operation.error_code}]: {operation.error_message}",
            file=sys.stderr,
            flush=True,
        )
        print(f"Operation ID: {operation.name}", file=sys.stderr, flush=True)
        raise operation.exception() or RuntimeError(operation.error_message)

    if operation.warnings:
        print(f"Warnings during {verbose_name}:\n", file=sys.stderr, flush=True)
        for warning in operation.warnings:
            print(f" - {warning.code}: {warning.message}", file=sys.stderr, flush=True)

    return result

def delete_snapshot(project_id: str, snapshot_name: str) -> None:
    """
    Delete a snapshot of a disk.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        snapshot_name: name of the snapshot to delete.
    """

    snapshot_client = compute_v1.SnapshotsClient()
    operation = snapshot_client.delete(project=project_id, snapshot=snapshot_name)

    wait_for_extended_operation(operation, "snapshot deletion")

REST

Senden Sie zum Löschen von Snapshots eine DELETE-Anfrage an die Methode snapshots.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: Name Ihres Projekts
  • SNAPSHOT_NAME: der Name des zu löschenden Snapshots.

Mehrere Snapshots basierend auf einem Filter löschen

Compute Engine verwendet differenzielle Snapshots, sodass jeder Snapshot nur jene Daten enthält, die sich seit dem letzten Snapshot geändert haben. Da nachfolgende Snapshots Informationen benötigen könnten, die in einem vorherigen Snapshot gespeichert sind, werden beim Löschen eines Snapshots also nicht unbedingt alle Daten im Snapshot gelöscht.

Weitere Informationen zum Löschen von Snapshots finden Sie unter Snapshot löschen.

Sie können eine Reihe von Snapshots basierend auf einem bestimmten Filter löschen. Weitere Informationen zur Verwendung von Filtern mit der gcloud CLI finden Sie unter Themenfilter der gcloud CLI.

Verwenden Sie zum Löschen der Snapshots eine Kombination aus dem Befehl gcloud compute snapshots list und einem bestimmten Filter sowie den Befehl gcloud compute snapshots delete mit xargs:

  gcloud compute snapshots list --filter="EXPRESSION" --uri |
  xargs gcloud compute snapshots delete
  

Ersetzen Sie EXPRESSION durch einen Themenfilter der gcloud CLI.

Beispielsweise löscht --filter="creationTimestamp<'2023-12-31'" alle Snapshots, die vor dem 31. Dezember 2023 erstellt wurden.

Snapshot-Daten für Projekte in derselben Organisation freigeben

Mit diesem Verfahren können Sie Daten von einem Laufwerk in einem Projekt auf ein Laufwerk in einem anderen Projekt innerhalb derselben Organisation verschieben.

gcloud

  1. Erstellen Sie mit dem Befehl gcloud compute snapshots create einen Standard-Snapshot im Zielprojekt. Verwenden Sie beispielsweise den folgenden Befehl, um einen Snapshot einer zonalen Persistent Disk oder Hyperdisk zu erstellen:

    gcloud compute snapshots create SNAPSHOT_NAME \
     --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \
     --project DESTINATION_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • SNAPSHOT_NAME ist der Name des neuen Snapshots.
    • SOURCE_PROJECT_ID: Die ID des Projekts für das Quelllaufwerk.
    • ZONE: Die Zone des Quelllaufwerks.
    • SOURCE_DISK_NAME: Der Name des Quelllaufwerks.
    • DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
  2. Erstellen Sie im Zielprojekt mit dem Befehl gcloud compute disks create ein zonales oder regionales Laufwerk, das auf dem Snapshot basiert:

    gcloud compute disks create DISK_NAME \
     --source-snapshot SNAPSHOT_NAME \
     --project DESTINATION_PROJECT_ID
    

    Dabei gilt:

    • DISK_NAME: Ein Name für das neue Laufwerk.
    • SNAPSHOT_NAME: Der Name des Snapshots.
    • DESTINATION_PROJECT_ID: Die ID des Zielprojekts für das neue Laufwerk.

REST

  1. Erstellen Sie einen Standard-Snapshot im Zielprojekt, indem Sie die Methode snapshots.insert aufrufen. Wenn Sie beispielsweise einen Snapshot einer zonalen Persistent Disk oder Hyperdisk erstellen möchten, stellen Sie folgende Anfrage:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
     "name": SNAPSHOT_NAME
     "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME
    }
    

    Ersetzen Sie Folgendes:

    • DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
    • SNAPSHOT_NAME: Ein Name für den Snapshot.
    • SOURCE_PROJECT_ID: Die ID des Projekts des Quelllaufwerks.
    • SOURCE_ZONE: Die Zone des Quelllaufwerks.
    • SOURCE_DISK_NAME: Der Name des Quelllaufwerks.
  2. Erstellen Sie im Zielprojekt ein zonales oder regionales Laufwerk, das auf dem Snapshot basiert. Verwenden Sie dazu die zonale Methode disks.insert oder die regionale Methode regionDisks.insert.

    Stellen Sie zum Beispiel die folgende Anfrage zum Erstellen eines zonalen Laufwerks:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/zones/DESTINATION_ZONE/disks
    {
     "name": DISK_NAME
     "sourceSnapshot": SNAPSHOT_NAME
    }
    

    Ersetzen Sie Folgendes:

    • DESTINATION_PROJECT_ID: Die ID des Zielprojekts für das neue Laufwerk.
    • DESTINATION_ZONE: Die Zone im Zielprojekt für das neue Laufwerk.
    • DISK_NAME: Ein Name für das neue Laufwerk.
    • SNAPSHOT_NAME: Der Name des Snapshots.

Eine Liste der verfügbaren Snapshots finden Sie unter Standard-Snapshots in einem Projekt oder an einem Standort ansehen.

Snapshot für Projekte in verschiedenen Organisationen freigeben

Mit diesem Verfahren können Sie einen Standard-Snapshot in einem Projekt in einer Organisation für ein anderes Projekt in einer anderen Organisation freigeben.

gcloud

  1. Erstellen Sie im Quellprojekt mit dem Befehl gcloud compute disks create ein Laufwerk, das auf dem Snapshot basiert.

    gcloud compute disks create DISK_NAME \
     --source-snapshot SNAPSHOT_NAME \
     --project SOURCE_PROJECT_ID \
     --zone ZONE
    

    Ersetzen Sie Folgendes:

    • DISK_NAME: Ein Name für das neue Laufwerk.
    • SNAPSHOT_NAME: Der Name des Snapshots.
    • SOURCE_PROJECT_ID: Die ID des Quellprojekts.
    • ZONE ist die Zone, in der die neue VM erstellt werden soll.

    Dieses Laufwerk ist ein temporäres Laufwerk, das nur zum organisationsübergreifenden Kopieren des Snapshots erstellt wird.

  2. Erstellen Sie im Zielprojekt mit dem Befehl gcloud compute snapshots create einen Snapshot.

    Verwenden Sie beispielsweise den folgenden Befehl, um einen Snapshot mit dem im ersten Schritt erstellten zonalen Laufwerk zu erstellen:

    gcloud compute snapshots create SNAPSHOT_NAME \
     --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/DISK_NAME \
     --project DESTINATION_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • SNAPSHOT_NAME: Ein Name für den Snapshot.
    • SOURCE_PROJECT_ID: Die ID des Projekts, das das Quelllaufwerk enthält.
    • ZONE: Die Zone des Quelllaufwerks.
    • DISK_NAME: Der Name des in Schritt 1 erstellten Laufwerks.
    • DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.

    Eine Liste der verfügbaren Snapshots finden Sie unter Standard-Snapshots in einem Projekt oder an einem Standort ansehen.

  3. Löschen Sie das im ersten Schritt erstellte temporäre Laufwerk mit dem Befehl gcloud compute disks delete.

    gcloud compute disks delete DISK_NAME \
     --project SOURCE_PROJECT_ID --zone ZONE
    

    Ersetzen Sie Folgendes:

    • DISK_NAME: Der Name des in Schritt 1 erstellten Laufwerks.
    • SOURCE_PROJECT_ID: Die ID des Projekts, das das Quelllaufwerk enthält.
    • ZONE: die Zone des Laufwerks

REST

  1. Erstellen Sie im Quellprojekt mithilfe der zonalen Methode disks.insert ein zonales oder regionales Laufwerk, das auf dem Snapshot basiert.

    Stellen Sie zum Beispiel die folgende Anfrage zum Erstellen eines zonalen Laufwerks:

    POST https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks
    {
     "name": DISK_NAME
     "sourceSnapshot": SNAPSHOT_NAME
    }
    

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT_ID: Die ID des Quellprojekts für das neue Laufwerk.
    • SOURCE_ZONE: Die Zone für das neue Laufwerk.
    • DISK_NAME: Ein Name für das neue Laufwerk.
    • SNAPSHOT_NAME: Der Name des Snapshots.

    Dieses Laufwerk ist ein temporäres Laufwerk, das nur zum organisationsübergreifenden Kopieren des Snapshots erstellt wird.

  2. Erstellen Sie einen Snapshot im Zielprojekt, indem Sie die Methode snapshots.insert aufrufen.

    Verwenden Sie beispielsweise den folgenden Befehl, um einen Snapshot mit dem im ersten Schritt erstellten zonalen Laufwerk zu erstellen:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
       "name": SNAPSHOT_NAME
       "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
    }
    

    Ersetzen Sie Folgendes:

    • DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
    • SNAPSHOT_NAME: Ein Name für den Snapshot.
    • SOURCE_PROJECT_ID: Die ID des Projekts, das das Quelllaufwerk enthält.
    • SOURCE_ZONE: Die Zone des Quelllaufwerks.
    • DISK_NAME: Der Name des Quelllaufwerks.
  3. Löschen Sie das im ersten Schritt erstellte temporäre Laufwerk mit der Methode disks.delete.

    DELETE https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
    

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT_ID: Die ID des Projekts, das das temporäre Laufwerk enthält.
    • SOURCE_ZONE: die Zone des Laufwerks
    • DISK_NAME: durch den Namen des temporären Laufwerks, das in Schritt 1 erstellt wurde.

Nächste Schritte