Copy an instant snapshot to a different location

In certain scenarios, you might want to copy aninstant snapshotto a different zone or region from its source disk. Possible occasions include:

  • Preserving the data on an instant snapshot before you delete the source disk, since deleting the disk deletes its instant snapshots.
  • Protecting the instant snapshot from a zonal or regional outage by storing itin a different location.
  • Moving an instant snapshot with data from an event or projectmilestone to long-term storage.
  • Using an instant snapshot in one location to create a new disk in anotherlocation.

In these scenarios, you must createastandard or archive snapshotfrom the instant snapshot, and use that newly created snapshot.

This page explains how to create a standard or archive snapshot from an instant snapshot.

Before you begin

Required roles and permissions

To get the permissions that you need to create a standard snapshot from an instant snapshot, ask your administrator to grant you the following IAM roles on the project:

For more information about granting roles, seeManage access to projects, folders, and organizations.

These predefined roles contain the permissions required to create a standard snapshot from an instant snapshot. To see the exact permissions that are required, expand theRequired permissions section:

Required permissions

The following permissions are required to create a standard snapshot from an instant snapshot:

  • To create a standard snapshot:
    • compute.snapshots.create on the destination project for the new standard snapshot
    • compute.instantSnapshots.useReadOnly on the source instant snapshot

You might also be able to get these permissions withcustom roles or otherpredefined roles.

Restrictions

If an instant snapshot's sourcedisk is encrypted with acustomer-supplied encryption key (CSEK),the instant snapshot isalso encrypted with the same key. Therefore, to create a standard snapshot froma CSEK-encrypted instant snapshot,you must provide the key you used to encrypt the source disk.

You can create a standard snapshot of an individual disk at most 6 times every60 minutes. This limit also applies to creating a standard snapshot from aninstant snapshot of a disk.

Create a standard or archive snapshot from an instant snapshot

You can create a standard or archive snapshot from an instant snapshot by usingthe gcloud CLI, Google Cloud console, or REST.

Console

  1. Find the instant snapshot:

    1. In the Google Cloud console, go to theSnapshots page.

      Go to Snapshots

    2. Click theInstant snapshots tab.

    3. In theName column, note the name of the snapshot you want to restore.

  2. ClickCreate snapshot.

  3. In theName field, enter a unique name to identify the snapshot.

  4. Optional. Add more details about the snapshot in theDescriptionfield.

  5. UnderSnapshot source type, chooseInstant snapshot.

  6. In theSource instant snapshot list, select the instant snapshotyou want to use.

  7. ForType, choose eitherSnapshot orArchive snapshot.

  8. In theLocation section,choose your snapshot storage location.The predefined or customized default location defined in your snapshotsettings is automatically selected. Optionally, you can override thesnapshot settings and store your snapshots in a custom storage locationby doing the following:

    1. Choose the type of storage location that you want for your snapshot.

    2. In theSelect location field, select the specific region ormulti-region that you want to use. To use the region or multi-regionthat is closest to your source disk, selectBased on disk's location.

  9. If the instant snapshot is CSEK-encrypted, provide the encryption key:

    1. In theDecryption section, enter the encryption key in theEncryption key field.
    2. If the key is wrapped with the public RSA key, selectWrapped key.
  10. ClickCreate to create the snapshot.

gcloud

Create a standard snapshot from a zonal or regional instant snapshot withthegcloud compute snapshots create command.You use different flags depending on whether the instant snapshot is of a zonal or regional disk.

Zonal instant snapshot

Create your standard or archive snapshot from a zonal instant snapshotusing the storage location policy defined by yoursnapshot settingsor using an alternative storage location of your choice. For moreinformation, seeChoose your snapshot storage location.

  • To create a standard or archive snapshot in the predefined or customizeddefault location configured in your snapshot settings, use the followingcommand:
gcloud compute snapshots createNEW_STANDARD_SNAPSHOT_NAME \  --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \  --source-instant-snapshot-zone=SOURCE_ZONE \  --snapshot-type=SNAPSHOT_TYPE

Replace the following with the corresponding values:

  • NEW_STANDARD_SNAPSHOT_NAME: a unique namefor the new standard snapshot.
  • SRC_INSTANT_SNAPSHOT_NAME: the name of thesource instant snapshot.
  • SOURCE_ZONE: the zone where the instantsnapshot is located.
  • SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARD orARCHIVE.If this flag is omitted, a standard snapshot is created.

  • To override the snapshot settings and create a standard or archivesnapshot in a custom storage location, include the--storage-locationflag to indicate where to store your snapshot:

gcloud compute snapshots createNEW_STANDARD_SNAPSHOT_NAME \  --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \  --source-instant-snapshot-zone=SOURCE_ZONE \  --storage-location=STORAGE_LOCATION \  --snapshot-type=SNAPSHOT_TYPE

Replace the following with the corresponding values:

  • NEW_STANDARD_SNAPSHOT_NAME: a unique namefor the new snapshot.
  • SRC_INSTANT_SNAPSHOT_NAME: the name of thesource instant snapshot.
  • SOURCE_ZONE: the zone where the instantsnapshot is located.
  • STORAGE_LOCATION: For custom storagelocations, this is theCloud Storage multi-regionor theCloud Storage regionwhere you want to store your snapshot. You can specify only onestorage location.

    Use the--storage-location flag only when you want to override thepredefined or customized default storage location configured in yoursnapshot settings.

  • SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARD orARCHIVE.If this flag is omitted, a standard snapshot is created.

Regional instant snapshot

Create your standard or archive snapshot from a regional instant snapshotusing the storage location policy defined by yoursnapshot settingsor using an alternative storage location of your choice. For moreinformation, seeChoose your snapshot storage location.

  • To create a standard or archive snapshot in the predefined or customizeddefault location configured in your snapshot settings, use the followingcommand:
gcloud compute snapshots createNEW_STANDARD_SNAPSHOT_NAME \  --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \  --source-instant-snapshot-region=SOURCE_REGION \  --snapshot-type=SNAPSHOT_TYPE

Replace the following with the corresponding values:

  • NEW_STANDARD_SNAPSHOT_NAME: a unique namefor the new standard snapshot.
  • SRC_INSTANT_SNAPSHOT_NAME: the name of thesource instant snapshot.
  • SOURCE_REGION: the region where the instantsnapshot is located.
  • SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARD orARCHIVE.If this flag is omitted, a standard snapshot is created.

  • To override the snapshot settings and create a standard or archivesnapshot in a custom storage location, include the--storage-locationflag to indicate where to store your snapshot:

gcloud compute snapshots createNEW_STANDARD_SNAPSHOT_NAME \  --source-instant-snapshot=SRC_INSTANT_SNAPSHOT_NAME \  --source-instant-snapshot-region=SOURCE_REGION \  --storage-location=STORAGE_LOCATION \  --snapshot-type=SNAPSHOT_TYPE

Replace the following with the corresponding values:

  • NEW_STANDARD_SNAPSHOT_NAME: a unique namefor the new snapshot.
  • SRC_INSTANT_SNAPSHOT_NAME: the name of thesource instant snapshot.
  • SOURCE_REGION: the region where the instantsnapshot is located.
  • STORAGE_LOCATION: For custom storagelocations, this is theCloud Storage multi-regionor theCloud Storage regionwhere you want to store your snapshot. You can specify only onestorage location.

    Use the--storage-location flag only when you want to override thepredefined or customized default storage location configured in yoursnapshot settings.

  • SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARD orARCHIVE.If this flag is omitted, a standard snapshot is created.

REST

To create a standard snapshot from a zonal or regional instant snapshot,make aPOST request to thesnapshots.insertmethod.

The API request properties depend on whether the instant snapshot is of azonal or regional disk.

Zonal instant snapshot

Create your standard or archive snapshot from a zonal instant snapshotusing the storage location policy defined by yoursnapshot settingsor using an alternative storage location of your choice. For moreinformation, seeChoose your snapshot storage location.

  • To create a standard or archive snapshot in the predefined or customizeddefault location configured in your snapshot settings, make aPOSTrequest to thesnapshots.insert method.

  • To override the snapshot settings and create the snapshot in a customstorage location, include thestorageLocations property in yourrequest.

POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT/global/snapshots{  "name": "NEW_STANDARD_SNAPSHOT_NAME",  "snapshotType": "NEW_SNAPSHOT_TYPE",  "sourceInstantSnapshot": "projects/SOURCE_PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME",  "sourceInstantSnapshotEncryptionKey": "SOURCE_ENCRYPTION_KEY"}

Replace the following with the corresponding values:

  • DESTINATION_PROJECT: the project in which tocreate the new snapshot.
  • NEW_STANDARD_SNAPSHOT_NAME: a unique name forthe new snapshot.
  • NEW_SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARD orARCHIVE.
  • SOURCE_PROJECT: the project containing thesource instant snapshot.
  • SOURCE_ZONE: the zone where the instantsnapshot is located.
  • SOURCE_INSTANT_SNAPSHOT_NAME: the name of thesource instant snapshot.
  • SOURCE_ENCRYPTION_KEY: if the instant snapshotis encrypted with acustomer-supplied key or customer-managed key, replace this value withthe key information. Otherwise, you can omit this property.
  • STORAGE_LOCATION: Optional. TheCloud Storage multi-regionor theCloud Storage regionwhere you want to store your snapshot. You can specify only onestorage location.

Use thestorageLocations parameter only when you want to overridethe predefined or customized default storage location configured inyour snapshot settings.

Regional instant snapshot

Create your regional standard or archive snapshot from a regional instantsnapshot using the storage location policy defined by yoursnapshot settingsor using an alternative storage location of your choice. For moreinformation, seeChoose your snapshot storage location.

To create a standard or archive snapshot volume in the predefined orcustomized default location configured in your snapshot settings, make aPOST request to thesnapshots.insert method.

POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT/global/snapshots{"name": "NEW_STANDARD_SNAPSHOT_NAME","snapshotType": "NEW_SNAPSHOT_TYPE","sourceInstantSnapshot": "projects/SOURCE_PROJECT/regions/SOURCE_REGION/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME","sourceInstantSnapshotEncryptionKey": "SOURCE_ENCRYPTION_KEY"}

Replace the following with the corresponding values:

  • DESTINATION_PROJECT: the project in which to create the new snapshot.
  • NEW_STANDARD_SNAPSHOT_NAME: a unique name for the new snapshot.
  • NEW_SNAPSHOT_TYPE: the type of snapshot to create, eitherSTANDARD orARCHIVE.
  • SOURCE_PROJECT: the project containing the source instant snapshot.
  • SOURCE_REGION: the region where the instant snapshot is located.
  • SOURCE_INSTANT_SNAPSHOT_NAME: the name of the source instant snapshot.
  • SOURCE_ENCRYPTION_KEY: if the instant snapshot is encrypted with acustomer-supplied key or customer-managed key, replace this value with the key information. Otherwise you can omit this property.

API request response

If thePOST request is successful, the response body will be an object that you can poll to get the status of the snapshot's creation. SeeHandling API responses for more information.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-15 UTC.