Copy an instant snapshot to a different location Stay organized with collections Save and categorize content based on your preferences.
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
- If you haven't already, set upauthentication. Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:
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
Install the Google Cloud CLI. After installation,initialize the Google Cloud CLI by running the following command:
gcloudinit
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Note: If you installed the gcloud CLI previously, make sure you have the latest version by runninggcloud components update.- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI. After installation,initialize the Google Cloud CLI by running the following command:
gcloudinit
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Note: If you installed the gcloud CLI previously, make sure you have the latest version by runninggcloud components update.For more information, seeAuthenticate for using REST in the Google Cloud authentication documentation.
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:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) - To connect to a VM that can run as a service account:Service Account User (v1) (
roles/iam.serviceAccountUser)
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.createon the destination project for the new standard snapshotcompute.instantSnapshots.useReadOnlyon 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
Find the instant snapshot:
In the Google Cloud console, go to theSnapshots page.
Click theInstant snapshots tab.
In theName column, note the name of the snapshot you want to restore.
ClickCreate snapshot.
In theName field, enter a unique name to identify the snapshot.
Optional. Add more details about the snapshot in theDescriptionfield.
UnderSnapshot source type, chooseInstant snapshot.
In theSource instant snapshot list, select the instant snapshotyou want to use.
ForType, choose eitherSnapshot orArchive snapshot.
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:
Choose the type of storage location that you want for your snapshot.
- ChooseMulti-regionalfor higher availability at a higher cost.
- ChooseRegional snapshotsfor more control over the physical location of your data at a lowercost.
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.
If the instant snapshot is CSEK-encrypted, provide the encryption key:
- In theDecryption section, enter the encryption key in theEncryption key field.
- If the key is wrapped with the public RSA key, selectWrapped key.
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, eitherSTANDARDorARCHIVE.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-locationflag only when you want to override thepredefined or customized default storage location configured in yoursnapshot settings.SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARDorARCHIVE.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, eitherSTANDARDorARCHIVE.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-locationflag only when you want to override thepredefined or customized default storage location configured in yoursnapshot settings.SNAPSHOT_TYPE: the type of snapshot tocreate, eitherSTANDARDorARCHIVE.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 a
POSTrequest to thesnapshots.insertmethod.To override the snapshot settings and create the snapshot in a customstorage location, include the
storageLocationsproperty 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, eitherSTANDARDorARCHIVE.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, eitherSTANDARDorARCHIVE.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
- Learn how toshare a standard snapshot across projects.
- Learn how tocreate a VM from the standard snapshot.
- Get help troubleshootingerrors creating standard snapshotsanderrors creating instant snapshots.
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.