{
	"id": "6c022cab-0708-4da7-b555-d88229e848ff",
	"created_at": "2026-04-06T01:31:55.576323Z",
	"updated_at": "2026-04-10T13:11:45.853158Z",
	"deleted_at": null,
	"sha1_hash": "33caf5fbf53a6a2eaf4db8895b1466a69b7d9674",
	"title": "Restore from a snapshot",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 348736,
	"plain_text": "Restore from a snapshot\r\nArchived: 2026-04-06 00:16:36 UTC\r\nSkip to main content\r\nTechnology areas\r\nOverview\r\nGuides\r\nAPIs \u0026 Reference\r\nSamples\r\nResources\r\nCross-product tools\r\nConsole\r\nDiscover\r\nProduct overview\r\nCompute Engine instances\r\nInstance groups\r\nGet started\r\nCreate instances\r\nInstance creation overview\r\nCreate multiple VMs\r\nCreate sole-tenant VMs\r\nSole-tenancy overview\r\nCreate sole-tenant node templates\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 1 of 28\n\nCreate sole-tenant node groups\r\nProvision a sole-tenant VM\r\nAdvanced maintenance control for sole-tenant nodes\r\nSole-tenancy best practices\r\nSole-tenancy accounting FAQ\r\nMigrate VMs\r\nChoose a migration path\r\nBring your own licenses\r\nMove an existing VM to a new VM\r\nConnect to VMs\r\nConnect to a VM\r\nAbout SSH connections\r\nLinux VMs\r\nConnect to VMs\r\nConnect as the root user\r\nConnect using service accounts\r\nConfigure apps to use SSH\r\nWindows VMs\r\nConnect to Windows VMs using RDP\r\nConnect to a Windows VM's SAC\r\nConnect to Windows VMs using SSH\r\nConnect to Windows VMs using PowerShell\r\nManage access to VMs\r\nLinux VMs\r\nChoose an access management method\r\nAbout OS Login\r\nSet up OS Login\r\nSet up OS Login to require SSH certificates\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 2 of 28\n\nEnable security keys with OS Login\r\nManage OS Login in an organization\r\nMonitor OS Login audit logs\r\nManage tags for resources\r\nIP addresses\r\nCreate a PTR record for a VM\r\nVerify VM identity\r\nManage storage\r\nChoose a disk type\r\nAdd disks to VMs\r\nCreate a VM with Local SSD disks\r\nCreate a VM with additional non-boot disks\r\nCreate a new Hyperdisk\r\nCreate a new Persistent Disk\r\nAdd disks from a storage pool to VMs\r\nShare a disk between VMs\r\nAttach a disk to a VM\r\nMount in-memory RAM disks\r\nView disk details\r\nMake disks highly available\r\nBack up and restore\r\nData protection options\r\nConfigure the default backup setting\r\nBack up VMs\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 3 of 28\n\nRecover a VM with a corrupted or full disk\r\nManage VMs\r\nBasic operations and lifecycle\r\nVM instance lifecycle\r\nView VM properties\r\nDetect if a VM is running in Compute Engine\r\nGet a list of VMs\r\nGet the details of a VM\r\nGet the UUID of a VM\r\nView the source image of a VM\r\nView referrers to VMs\r\nView network configuration of an instance\r\nView the number of visible CPU cores\r\nUpdate VM tenancy\r\nManage multiple VMs\r\nHost maintenance events\r\nAbout host events\r\nLive migration process\r\nSet the host maintenance policy\r\nQuery metadata server for notices\r\nSimulate a host maintenance event\r\nHandle GPU host maintenance events\r\nMonitor and plan for a host maintenance event\r\nManually start host maintenance\r\nSecuring VMs\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 4 of 28\n\nAbout Shielded VMs\r\nAbout Confidential VMs\r\nProtect resources with VPC Service Controls\r\nMonitor security risks with Security Command Center\r\nManage operating systems\r\nManage operating systems using VM Manager\r\nManage OS images\r\nImage management best practices\r\nImage families best practices\r\nAccess Red Hat Knowledgebase\r\nManage access to custom images\r\nSet up trusted image policies\r\nExport a custom image to Cloud Storage\r\nSet image versions in an image family\r\nDeprecate a custom image\r\nDelete a custom image\r\nManage OS packages\r\nManage licenses\r\nAbout licenses\r\nManage licenses\r\nLicense changes and restrictions\r\nSwitch between PAYG and BYOS\r\nSwitch Windows Server from BYOL to PAYG\r\nUpdate licenses after an OS upgrade\r\nAppend RHEL ELS licenses\r\nUpgrade from Ubuntu to Ubuntu Pro\r\nRun shutdown scripts\r\nEnable the virtual random number generator (Virtio RNG)\r\nDeploy workloads\r\nAgent for Compute Workloads overview\r\nApplications\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 5 of 28\n\nInteractive: Build a to-do app with MongoDB\r\nDeploy an ASP.NET application\r\nSet up Joomla\r\nSet up LAMP\r\nPerform blue/green deployments using Cloud Build\r\nDatabases\r\nMySQL\r\nMySQL on Compute Engine\r\nInstall MySQL on Compute Engine\r\nConfigure MySQL on Compute Engine\r\nSet up client access with a private IP address\r\nCloning a MySQL database on Compute Engine\r\nArchitectures for high availability of MySQL clusters on Compute Engine\r\nDeploying a highly available MySQL 5.6 cluster with DRBD on Compute Engine\r\nSQL Server\r\nBest practices for SQL Server VMs\r\nCreate\r\nCreate a high-performance SQL Server VM\r\nAdd a SQL Server license to an existing Linux server\r\nAdd a SQL Server license to an existing Windows server\r\nConfigure\r\nSet up AlwaysOn availability groups using an internal load balancer\r\nSet up AlwaysOn availability groups using a distributed network name\r\nSet up a failover cluster VM that uses S2D\r\nSet up a failover cluster VM with multi-writer disks\r\nSet up a SQL Server cluster on Linux with Always On availability groups and\r\nPacemaker\r\nMigrate\r\nMigrate a SQL Server database from AWS EC2 to Compute Engine\r\nMigrate a SQL Server database from Windows to Linux\r\nDisaster recovery\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 6 of 28\n\nDisaster recovery for Microsoft SQL Server\r\nDisaster recovery for Microsoft SQL server on Persistent disk\r\nDisaster recovery for Microsoft SQL server on Hyperdisk\r\nDeploying Microsoft SQL Server for multi-regional disaster recovery\r\nBackup SQL Server databases to a Google Cloud Storage bucket\r\nCloning a Microsoft SQL Server database on Compute Engine\r\nLoad test SQL Server using HammerDB\r\nContainers\r\nContainers on Compute Engine\r\nDeploy containers on VMs and managed instance groups\r\nConfigure options to run your container\r\nOpenShift workloads\r\nOpenShift on Google Cloud overview\r\nPlan for OpenShift on Google Cloud\r\nOverview of Cluster Services for OpenShift\r\nBuilt-in integrations for OpenShift\r\nBest practices for high availability with OpenShift\r\nDisaster recovery for OpenShift on Google Cloud\r\nDisaster recovery strategies for active-passive and active-inactive setups with OpenShift\r\nMicrosoft Windows\r\nWindows workloads\r\nBest practices for Windows Server VMs\r\nSetting up Active Directory\r\nBest practices for running Active Directory on Google Cloud\r\nDeploy Microsoft SharePoint Server on Compute Engine\r\nDeploying Microsoft Exchange Server 2016 on Compute Engine\r\nOthers\r\nMonitor\r\nMonitor logs\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 7 of 28\n\nView audit logs\r\nView usage reports\r\nView Compute Engine operations\r\nMigrate from activity logs to audit logs\r\nView activity logs\r\nOrganize resources using labels\r\nScale\r\nAutoscale node groups\r\nLoad balancing\r\nAbout load balancing and scaling\r\nAdd an instance group to a load balancer\r\nRequest routing to a multi-region external HTTPS load balancer\r\nCross-region load balancing for Microsoft IIS backends\r\nSet up Internal TCP/UDP Load Balancing\r\nOptimize\r\nNetwork performance\r\nNetwork bandwidth\r\nUse Google Virtual NIC\r\nUse IRDMA network driver\r\nUse IDPF network interface\r\nConfigure a VM with higher bandwidth\r\nReduce latency by using compact placement policies\r\nBenchmark higher bandwidth VMs\r\nOptimize app latency with load balancing\r\nUse DPDK to improve network performance\r\nTroubleshoot\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 8 of 28\n\nGeneral tips\r\nTroubleshoot VMs\r\nRestore from a snapshot Stay organized with collections Save and categorize\r\ncontent based on your preferences.\r\nOn this page\r\nBefore you begin\r\nRequired roles\r\nLimitations\r\nCreate a disk from a snapshot and optionally attach it to an instance\r\nCreate an instance from existing disks\r\nCreate an instance from a boot disk snapshot\r\nCreate a compute instance from a non-boot disk snapshot\r\nA disk is either a boot disk that is used to start and run the operating system on a compute instance or a non-boot\r\ndisk that an instance uses only for data storage.\r\nYou can use snapshots to backup and restore disk data in the following ways:\r\nAfter you take a snapshot of a boot or non-boot disk, create a new disk based on the snapshot.\r\nAfter you take a snapshot of a boot disk, create a new instance based on the boot disk snapshot.\r\nAfter you take a snapshot of a non-boot disk, create a new instance with a new non-boot disk based on the\r\nsnapshot.\r\nBefore you begin\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 9 of 28\n\nIf you haven't already, set up authentication. Authentication verifies your identity for access to Google\r\nCloud services and APIs. To run code or samples from a local development environment, you can\r\nauthenticate to Compute Engine by selecting one of the following options:\r\nSelect the tab for how you plan to use the samples on this page:\r\nWhen you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set\r\nup authentication.\r\n1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the\r\nfollowing command:\r\ngcloud init\r\nIf you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your\r\nfederated identity.\r\n2. Set a default region and zone.\r\nTo use the Go samples on this page in a local development environment, install and initialize the gcloud\r\nCLI, and then set up Application Default Credentials with your user credentials.\r\n1. Install the Google Cloud CLI.\r\n2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your\r\nfederated identity.\r\n3. If you're using a local shell, then create local authentication credentials for your user account:\r\ngcloud auth application-default login\r\nYou don't need to do this if you're using Cloud Shell.\r\nIf an authentication error is returned, and you are using an external identity provider (IdP), confirm\r\nthat you have signed in to the gcloud CLI with your federated identity.\r\nFor more information, see Set up authentication for a local development environment.\r\nTo use the Java samples on this page in a local development environment, install and initialize the gcloud\r\nCLI, and then set up Application Default Credentials with your user credentials.\r\n1. Install the Google Cloud CLI.\r\n2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your\r\nfederated identity.\r\n3. If you're using a local shell, then create local authentication credentials for your user account:\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 10 of 28\n\ngcloud auth application-default login\r\nYou don't need to do this if you're using Cloud Shell.\r\nIf an authentication error is returned, and you are using an external identity provider (IdP), confirm\r\nthat you have signed in to the gcloud CLI with your federated identity.\r\nFor more information, see Set up authentication for a local development environment.\r\nTo use the Node.js samples on this page in a local development environment, install and initialize the\r\ngcloud CLI, and then set up Application Default Credentials with your user credentials.\r\n1. Install the Google Cloud CLI.\r\n2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your\r\nfederated identity.\r\n3. If you're using a local shell, then create local authentication credentials for your user account:\r\ngcloud auth application-default login\r\nYou don't need to do this if you're using Cloud Shell.\r\nIf an authentication error is returned, and you are using an external identity provider (IdP), confirm\r\nthat you have signed in to the gcloud CLI with your federated identity.\r\nFor more information, see Set up authentication for a local development environment.\r\nTo use the Python samples on this page in a local development environment, install and initialize the\r\ngcloud CLI, and then set up Application Default Credentials with your user credentials.\r\n1. Install the Google Cloud CLI.\r\n2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your\r\nfederated identity.\r\n3. If you're using a local shell, then create local authentication credentials for your user account:\r\ngcloud auth application-default login\r\nYou don't need to do this if you're using Cloud Shell.\r\nIf an authentication error is returned, and you are using an external identity provider (IdP), confirm\r\nthat you have signed in to the gcloud CLI with your federated identity.\r\nFor more information, see Set up authentication for a local development environment.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 11 of 28\n\nTo use the REST API samples on this page in a local development environment, you use the credentials\r\nyou provide to the gcloud CLI.\r\nInstall the Google Cloud CLI.\r\nIf you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your\r\nfederated identity.\r\nFor more information, see Authenticate for using REST in the Google Cloud authentication documentation.\r\nRequired roles\r\nTo get the permissions that you need to restore from a snapshot, ask your administrator to grant you the Compute\r\nInstance Admin (v1) ( roles/compute.instanceAdmin.v1 ) IAM role on the project. For more information about\r\ngranting roles, see Manage access to projects, folders, and organizations.\r\nThis predefined role contains the permissions required to restore from a snapshot. To see the exact permissions\r\nthat are required, expand the Required permissions section:\r\nRequired permissions\r\nThe following permissions are required to restore from a snapshot:\r\nTo create a disk from a globally scoped snapshot (default):\r\ncompute.disks.create on the project\r\ncompute.instances.attachDisk on the instance\r\ncompute.disks.use on the disk to attach\r\ncompute.snapshots.useReadOnly , compute.snapshots.create , or\r\ncompute.disks.createSnapshot on the project\r\nTo create a disk from a regionally scoped snapshot:\r\ncompute.disks.create on the project\r\ncompute.instances.attachDisk on the instance\r\ncompute.disks.use on the disk to attach\r\ncompute.snapshots.useReadOnly on the project\r\nTo create an instance from a boot disk and non-boot disk snapshot, at a minimum, you need the following\r\npermissions:\r\ncompute.instances.create on the project\r\ncompute.snapshots.useReadOnly on the snapshot\r\ncompute.disks.create on the project\r\ncompute.disks.use on the disk\r\ncompute.instances.attachDisk on the instance\r\nYou might also be able to get these permissions with custom roles or other predefined roles.\r\nLimitations\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 12 of 28\n\nThe new disk must be at least the same size as the original source disk for the snapshot. If you create a disk\r\nthat is larger than the original source disk for the snapshot, you must resize the file system on that disk to\r\ninclude the additional disk space. Depending on your operating system and file system type, you might\r\nneed to use a different file system resizing tool. For more information, see your operating system\r\ndocumentation.\r\nYou can create a new zonal or regional disks from a given snapshot at most once every ten minutes. If you\r\nwant to issue a burst of requests to snapshot your disks, you can issue at most 6 requests in 60 minutes.\r\nThis limit does not apply when creating regional disks from a snapshot. For more information, see\r\nSnapshot frequency limits.\r\nCreate a disk from a snapshot and optionally attach it to an instance\r\nIf you backed up a boot or non-boot disk with a snapshot, you can create a new disk based on the snapshot.\r\n1. In the Google Cloud console, go to the Snapshots page.\r\nGo to Snapshots\r\n2. Find the name of the snapshot that you want to restore.\r\n3. Go to the Disks page.\r\nGo to the Disks page\r\n4. Click Create new disk.\r\n5. Specify the following configuration parameters:\r\nA name for the disk.\r\nA type for the disk.\r\nOptionally, you can override the default region and zone selection. You can select any region and\r\nzone, regardless of the storage location of the source snapshot.\r\n6. Under Source type, click Snapshot.\r\n7. Select the name of the snapshot to restore.\r\n8. Select the size of the new disk, in gigabytes. This number must be equal to or larger than the original\r\nsource disk for the snapshot.\r\n9. Click Create to create the disk.\r\nOptionally, you can then attach a non-boot disk to a instance.\r\n1. Use the gcloud compute snapshots list command to find the name of the snapshot you want to restore:\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 13 of 28\n\ngcloud compute snapshots list\r\n2. Use the gcloud compute snapshots describe command to find the size of the snapshot you want to\r\nrestore:\r\ngcloud compute snapshots describe SNAPSHOT_NAME\r\nReplace SNAPSHOT_NAME with the name of the snapshot being restored.\r\n3. Use the gcloud compute disks create command to create a new regional or zonal disk from your\r\nsnapshot. You can include the --type flag to specify the type of disk to create.\r\nTo create a zonal disk from a globally scoped snapshot:\r\ngcloud compute disks create DISK_NAME \\\r\n --zone=ZONE \\\r\n --size=DISK_SIZE \\\r\n --source-snapshot=SNAPSHOT_NAME \\\r\n --type=DISK_TYPE\r\n(Preview) To create a zonal disk from a regionally scoped snapshot:\r\ngcloud beta compute disks create DISK_NAME \\\r\n --zone=ZONE \\\r\n --source-snapshot=SNAPSHOT_NAME \\\r\n --source-snapshot-region=SOURCE_REGION \\\r\n --type=DISK_TYPE\r\nTo create a regional disk from a globally scoped snapshot:\r\ngcloud beta compute disks create DISK_NAME \\\r\n --size=DISK_SIZE \\\r\n --source-snapshot=SNAPSHOT_NAME \\\r\n --type=DISK_TYPE \\\r\n --region=REGION \\\r\n --replica-zones=ZONE1,ZONE2\r\n(Preview) To create a regional disk from a regionally scoped snapshot:\r\ngcloud beta compute disks create DISK_NAME \\\r\n --size=DISK_SIZE \\\r\n --source-snapshot=SNAPSHOT_NAME \\\r\n --source-snapshot-region=SOURCE_REGION \\\r\n --type=DISK_TYPE \\\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 14 of 28\n\n--region=REGION \\\r\n --replica-zones=ZONE1,ZONE2\r\nReplace the following:\r\nDISK_NAME: the name of the new disk\r\nDISK_SIZE: the size of the new disk, in gibibytes (GiB). This number must be equal to or larger\r\nthan the original source disk for the snapshot.\r\nSNAPSHOT_NAME: the name of the snapshot being restored\r\nDISK_TYPE: the type of the disk, for example, pd-ssd , hyperdisk-throughput or hyperdisk-balanced-high-availability\r\nREGION: the region for the regional disk to reside in, for example: europe-west1\r\nSOURCE_REGION: the region that the source snapshot is scoped to\r\nZONE: the zone where the new disk will reside\r\nZONE1,ZONE2: the zones within the region where the two disk replicas are located, for example:\r\neurope-west1-b and europe-west1-c\r\n4. Optional: Attach the new disk to an existing instance by using the gcloud compute instances attach-disk command:\r\ngcloud compute instances attach-disk INSTANCE_NAME \\\r\n --disk DISK_NAME\r\nReplace the following:\r\nINSTANCE_NAME: the name of the instance\r\nDISK_NAME: the name of the disk made from your snapshot\r\nGo\r\nBefore trying this sample, follow the Go setup instructions in the Compute Engine quickstart using client libraries.\r\nFor more information, see the Compute Engine Go API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nJava\r\nBefore trying this sample, follow the Java setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Java API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nNode.js\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 15 of 28\n\nBefore trying this sample, follow the Node.js setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Node.js API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nPython\r\nBefore trying this sample, follow the Python setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Python API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\n1. Construct a GET request to snapshots.list to display the list of snapshots in your project.\r\nGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots\r\nReplace PROJECT_ID with your project ID.\r\n2. Construct a POST request to create a zonal disk or a regional disk using the respective disks.insert\r\nmethod:\r\nFor zonal disks: disks.insert\r\nFor regional disks: regionDisks.insert\r\nInclude the name , sizeGb , and type properties. To restore a disk using a snapshot, you must include\r\nthe sourceSnapshot property.\r\nTo create a zonal disk from a globally scoped snapshot:\r\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks\r\n{\r\n \"name\": \"DISK_NAME\",\r\n \"sourceSnapshot\": \"SNAPSHOT_NAME\",\r\n \"sizeGb\": \"DISK_SIZE\",\r\n \"type\": \"zones/ZONE/diskTypes/DISK_TYPE\"\r\n}\r\n(Preview) To create a zonal disk from a regionally scoped snapshot:\r\nPOST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks\r\n{\r\n \"name\": \"DISK_NAME\",\r\n \"sourceSnapshot\": \"projects/PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME\",\r\n \"sizeGb\": \"DISK_SIZE\",\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 16 of 28\n\n\"type\": \"projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE\",\r\n \"zone\": \"projects/PROJECT_ID/zones/ZONE\"\r\n}\r\nTo create a regional disk from a globally scoped snapshot:\r\nPOST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/disks\r\n{\r\n \"name\": \"DISK_NAME\",\r\n \"sourceSnapshot\": \"SNAPSHOT_NAME\",\r\n \"region\": \"projects/PROJECT_ID/regions/REGION\",\r\n \"replicaZones\": [\r\n \"projects/PROJECT_ID/zones/ZONE1\",\r\n \"projects/PROJECT_ID/zones/ZONE2\"\r\n ],\r\n \"sizeGb\": \"DISK_SIZE\",\r\n \"type\": \"zones/ZONE/diskTypes/DISK_TYPE\"\r\n}\r\n(Preview) To create a regional disk from a regionally scoped snapshot:\r\nPOST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/disks\r\n{\r\n \"name\": \"DISK_NAME\",\r\n \"sourceSnapshot\": \"projects/PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME\",\r\n \"replicaZones\": [\r\n \"projects/PROJECT_ID/zones/ZONE1\",\r\n \"projects/PROJECT_ID/zones/ZONE2\"\r\n ],\r\n \"sizeGb\": \"DISK_SIZE\",\r\n \"type\": \"projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE\"\r\n}\r\nReplace the following:\r\nPROJECT_ID: your project ID\r\nZONE: the zone where your instance and new disk are located\r\nDISK_NAME: the name of the new disk\r\nSNAPSHOT_NAME: the source snapshot for the disk that you're restoring\r\nREGION: the region for the regional disk to reside in, for example: europe-west1\r\nSOURCE_REGION: the region that the source snapshot is scoped to\r\nZONE1, ZONE2: the zones where replicas of the new disk should be located\r\nDISK_SIZE: the size of the new disk, in gibibytes (GiB). This number must be equal to or larger\r\nthan the original source disk for the snapshot.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 17 of 28\n\nDISK_TYPE: full or partial URL for the type of the disk, for example,\r\nPROJECT_ID/zones/ZONE/diskTypes/pd-ssd , PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced or PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability\r\n3. Optional. Attach the new disk to an existing instance.\r\nConstruct a POST request to the instances.attachDisk method, and include the URL to the disk that\r\nyou just created from your snapshot.\r\nFor zonal disks:\r\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTAN\r\n{\r\n \"source\": \"/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME\"\r\n}\r\nFor regional disks:\r\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTAN\r\n{\r\n \"source\": \"/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME\"\r\n}\r\nReplace the following:\r\nPROJECT_ID: your project ID\r\nZONE: the zone where your instance and new disk are located\r\nREGION: the region where the regional disk is located. This must be the same region that the\r\ncompute instance is located in.\r\nINSTANCE_NAME: the name of the instance where you're adding the new disk\r\nDISK_NAME: the name of the new disk\r\nAfter you create and attach a new disk to an instance, you must mount the disk so that the operating system can\r\nuse the available storage space.\r\nCreate an instance from existing disks\r\nYou can create boot disks and data disks from snapshots and then attach these disks to a new compute instance.\r\nGo\r\nBefore trying this sample, follow the Go setup instructions in the Compute Engine quickstart using client libraries.\r\nFor more information, see the Compute Engine Go API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 18 of 28\n\nJava\r\nBefore trying this sample, follow the Java setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Java API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nNode.js\r\nBefore trying this sample, follow the Node.js setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Node.js API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nPython\r\nBefore trying this sample, follow the Python setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Python API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nCreate an instance from a boot disk snapshot\r\nIf you created a snapshot of the boot disk of a compute instance,you can use that snapshot to create a new\r\ninstance.\r\nTo quickly create more than one instance with the same boot disk, create a custom image, then create instances\r\nfrom that image instead of using a snapshot.\r\nTo create a compute instance with a regional boot disk that was created from a snapshot, use the Google Cloud\r\nCLI or REST.\r\n1. In the Google Cloud console, go to the Create an instance page.\r\nGo to Create an instance\r\nIf prompted, select your project and click Continue. The Create an instance page appears and displays the\r\nMachine configuration pane.\r\n2. In the Machine configuration pane, do the following:\r\n1. In the Name field, specify a name for your instance. For more information, see Resource naming\r\nconvention.\r\n2. Optional: In the Zone field, select a zone for this instance.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 19 of 28\n\nThe default selection is Any. If you don't change this default selection, then Google automatically\r\nchooses a zone for you based on machine type and availability.\r\n3. Select the machine family for your instance. The Google Cloud console then displays the machine\r\nseries that are available for your selected machine family. The following machine family options are\r\navailable:\r\nGeneral purpose\r\nCompute optimized\r\nMemory optimized\r\nStorage optimized\r\nGPUs\r\n4. In the Series column, select the machine series for your instance.\r\nIf you selected GPUs as the machine family in the previous step, then select the GPU type that you\r\nwant. The machine series is then automatically selected for the selected GPU type.\r\n5. In the Machine type section, select the machine type for your instance.\r\n3. In the navigation menu, click OS and storage. In the Operating system and storage pane that appears,\r\nconfigure your boot disk by doing the following:\r\n1. Click Change. The Boot disk pane appears and displays the Public images tab.\r\n2. Click Snapshots. The Snapshot tab appears.\r\n3. In the Snapshot list, select the snapshot to use.\r\n4. In the Boot disk type list, select the type of the boot disk.\r\n5. In the Size (GB) field, specify the size of the boot disk.\r\n6. Optional: For advanced configuration options, expand the Show advanced configurations section.\r\n7. To confirm your boot disk options and return to the Operating system and storage pane, click\r\nSelect.\r\n4. In the navigation menu, click Networking. In the Networking pane that appears, do the following:\r\n1. Go to the Firewall section.\r\n2. To permit HTTP or HTTPS traffic to the instance, select Allow HTTP traffic or Allow HTTPS\r\ntraffic.\r\nThe Google Cloud console adds a network tag to your instance and creates the corresponding ingress\r\nfirewall rule that allows all incoming traffic on tcp:80 (HTTP) or tcp:443 (HTTPS). The network tag\r\nassociates the firewall rule with the instance. For more information, see Firewall rules overview in the\r\nVirtual Private Cloud documentation.\r\n5. Optional: Specify other configuration options. For more information, see Configuration options during\r\ninstance creation.\r\n6. To create and start the instance, click Create.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 20 of 28\n\nUse the gcloud compute instances create command and include the --source-snapshot flag.\r\n gcloud compute instances create INSTANCE_NAME\r\n --source-snapshot=BOOT_SNAPSHOT_NAME\r\n --boot-disk-size=BOOT_DISK_SIZE\r\n --boot-disk-type=BOOT_DISK_TYPE\r\n --boot-disk-device-name=BOOT_DISK_NAME\r\n \r\nReplace the following:\r\nINSTANCE_NAME : name for the new instance\r\nBOOT_SNAPSHOT_NAME : name of the boot disk snapshot that you want to restore to the boot disk of the new\r\ninstance\r\nBOOT_DISK_SIZE : Optional: size, in GiB, of the new boot disk\r\nThe size must be equal to or larger than the size of the source disk from which the snapshot was made.\r\nBOOT_DISK_TYPE : Optional: type of the boot disk, for example PROJECT_ID/zones/ZONE/diskTypes/pd-ssd or PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced\r\nBOOT_DISK_NAME : name of the new boot disk for this instance\r\nUse the gcloud compute instances create command and include the --create-disk flag with the source-snapshot , replica-zones , and boot properties.\r\n gcloud compute instances create INSTANCE_NAME\r\n --zone=ZONE\r\n --create-disk=^:^name=DISK_NAME:source-snapshot=BOOT_SNAPSHOT_NAME:boot=true:type=BOOT_DISK_TYP\r\n \r\nThe characters ^:^ specify that a colon : is used as the separator between each of the disk properties. This is\r\nrequired so that you can use a comma , when specifying the zones for replica-zones .\r\nReplace the following:\r\nINSTANCE_NAME : name for the new instance\r\nZONE : To zone to create the instance in\r\nDISK_NAME : Optional: a name for the disk\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 21 of 28\n\nBOOT_SNAPSHOT_NAME : name of the boot disk snapshot that you want to restore to the boot disk of the new\r\ninstance.\r\nBOOT_DISK_TYPE : Optional: type of the boot disk, for example pd-ssd or hyperdisk-balanced-high-availability\r\nREMOTE_ZONE : The region that the boot disk is replicated to. The replica-zones property requires two\r\nzones separated by comma, and one of the zones must the same as the zone for the instance.\r\nGo\r\nBefore trying this sample, follow the Go setup instructions in the Compute Engine quickstart using client libraries.\r\nFor more information, see the Compute Engine Go API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nJava\r\nBefore trying this sample, follow the Java setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Java API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nNode.js\r\nBefore trying this sample, follow the Node.js setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Node.js API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nPython\r\nBefore trying this sample, follow the Python setup instructions in the Compute Engine quickstart using client\r\nlibraries. For more information, see the Compute Engine Python API reference documentation.\r\nTo authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up\r\nauthentication for client libraries.\r\nWhen you use the API to create an instance from a snapshot, the following restrictions apply:\r\nOnly one disk can be used as the boot disk.\r\nYou must attach the boot disk as the first disk for that instance.\r\nIf you specify the source property, you cannot also specify the initializeParams property. Providing a\r\nsource indicates that the boot disk exists already, but the initializeParams property indicates that\r\nCompute Engine should create a new boot disk.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 22 of 28\n\nTo create an instance from a boot disk snapshot, use the instances.insert method and specify the\r\nsourceSnapshot field under the disks property. You can optionally specify the diskSizeGb and diskType\r\nproperties for the new boot disk.\r\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances\r\n{\r\n \"name\": \"INSTANCE_NAME\",\r\n \"machineType\": \"machineTypes/MACHINE_TYPE\",\r\n \"disks\": [{\r\n \"boot\": true,\r\n \"initializeParams\": {\r\n \"sourceSnapshot\": \"global/snapshots/BOOT_SNAPSHOT_NAME\",\r\n \"diskSizeGb\": \"BOOT_DISK_SIZE\",\r\n \"diskType\": \"BOOT_DISK_TYPE\"\r\n }\r\n }],\r\n \"networkInterfaces\": [\r\n {\r\n \"nicType\": \"GVNIC\"\r\n }\r\n ]\r\n}\r\nReplace the following:\r\nPROJECT_ID : your project ID\r\nZONE : zone where you want to create the new instance\r\nINSTANCE_NAME : name of the instance that you want to restore a snapshot to\r\nMACHINE_TYPE : machine type of the instance\r\nBOOT_SNAPSHOT_NAME : name of the snapshot that you want to use to create the boot disk of the new\r\ninstance\r\nBOOT_DISK_SIZE : Optional: size, in gibibytes (GiB), for the new boot disk\r\nThe size must be equal to or larger than the size of the source disk from which the snapshot was made.\r\nBOOT_DISK_TYPE : Optional: type of the boot disk, for example PROJECT_ID/zones/ZONE/diskTypes/pd-ssd or PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced\r\nTo create a compute instance with a regional boot disk using a boot disk snapshot as the source, use the\r\ninstances.insert method and specify the sourceSnapshot and replicaZones fields in the disks property.\r\n POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances\r\n {\r\n \"name\": \"INSTANCE_NAME\",\r\n \"disks\": [\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 23 of 28\n\n{\r\n \"boot\": true,\r\n \"initializeParams\": {\r\n \"sourceSnapshot\": \"global/snapshots/BOOT_SNAPSHOT_NAME\",\r\n \"replicaZones\": [\r\n \"projects/PROJECT_ID/zones/ZONE\",\r\n \"projects/PROJECT_ID/zones/REMOTE_ZONE\"\r\n ],\r\n \"diskType\": \"BOOT_DISK_TYPE\"\r\n }\r\n }\r\n ],\r\n \"networkInterfaces\": [\r\n {\r\n \"nicType\": \"GVNIC\"\r\n }\r\n ]\r\n }\r\n \r\nReplace the following:\r\nPROJECT_ID : your project ID\r\nZONE : the name of the zone where you want to create the instance\r\nINSTANCE_NAME `: a name for the instance\r\nBOOT_SNAPSHOT_NAME : the name of the boot disk snapshot\r\nREMOTE_ZONE : the remote zone for the regional disk\r\nBOOT_DISK_TYPE : Optional: type of the boot disk, for example PROJECT_ID/zones/ZONE/diskTypes/pd-ssd or PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability\r\nCreate a compute instance from a non-boot disk snapshot\r\nIf you backed up a non-boot disk with a snapshot, you can create an instance with an additional non-boot disk\r\nbased on the snapshot.\r\nWhen restoring non-boot snapshots to a new instance from the console, first create a disk from each snapshot.\r\nThen, attach the new disks when you create the instance.\r\n1. Restore each non-boot snapshot to a new disk.\r\n1. In the Google Cloud console, go to the Disks page.\r\nGo to Disks\r\n2. Click Create disk.\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 24 of 28\n\n3. Specify a Name for your disk. For more information, see Resource naming convention.\r\n4. Select the Region and Zone for this disk. The disk and instance must be in the same zone for zonal\r\ndisks, or region for regional disks.\r\n5. Select a disk Type.\r\n6. Under Source type, select Snapshot.\r\n7. Under the new Source snapshot field, select a non-boot snapshot that you want to restore to the\r\nnew disk.\r\n8. To create the disk, click Create.\r\nRepeat these steps to create a disk from each snapshot that you want to restore.\r\n2. In the Google Cloud console, go to the VM instances page.\r\nGo to VM instances\r\n3. Select your project and click Continue.\r\n4. Click Create instance.\r\n5. Specify a Name for your instance. For more information, see Resource naming convention.\r\n6. Select the Region and Zone for this instance. The disk and instance must be in the same zone for zonal\r\ndisks, or region for regional disks.\r\n7. Select a Machine type for your instance.\r\n8. If you want to allow incoming external traffic, change the Firewall rules for the instance.\r\n9. To attach disks to the instance, expand the Advanced options section, and then do the following:\r\n1. Expand the Disks section.\r\n2. Click Attach existing disk.\r\n3. In the Disk list, select a disk to attach to this instance.\r\n4. In the Attachment Setting section, select disk's attachment Mode and the Deletion rule. For more\r\ninformation about adding new disks, see Add a Persistent Disk or Add Hyperdisk.\r\n5. Click Save.\r\nRepeat these steps for each disk that you want to attach.\r\n10. To create and start the instance, click Create.\r\nCreate an instance by using the gcloud compute instances create command. For each non-boot snapshot that\r\nyou want to restore, include the --create-disk flag, and specify a source-snapshot .\r\nFor example, to restore two snapshots of non-boot disks to a new instance, use the following command:\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 25 of 28\n\ngcloud compute instances create INSTANCE_NAME \\\r\n --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE\r\n --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE\r\nReplace the following:\r\nINSTANCE_NAME : name for the new instance\r\nSNAPSHOT_1_NAME and SNAPSHOT_2_NAME : names of the non-boot disk snapshots that you want to restore\r\nDISK_1_NAME and DISK_2_NAME : names of the new non-boot disks to create for this instance\r\nDISK_1_SIZE and DISK_2_SIZE : Optional: sizes, in gibibytes (GiB), of each new non-boot disk\r\nThe sizes must be equal to or larger than the sizes of the source disks from which the snapshot was made.\r\nDISK_1_TYPE and DISK_2_TYPE : Optional: the disk types to create, for example pd-ssd or hyperdisk-balanced\r\nWhen using REST to restore a non-boot snapshot to a new instance, the following restrictions apply:\r\nOnly one disk can be the boot disk.\r\nYou must attach the boot disk as the first disk for that instance.\r\nIf you specify the source property, you can't also specify the initializeParams property. Providing a\r\nsource indicates that the boot disk exists already, but the initializeParams property indicates that\r\nCompute Engine should create a new boot disk.\r\nCreate a POST request to the instances.insert method and specify the sourceSnapshot field under the\r\ninitializeParams property. You can add multiple non-boot disks by repeating the initializeParams property\r\nfor every non-boot disk that you want to create. You can optionally specify the diskSizeGb and diskType\r\nproperties for any of the disks that you create.\r\nFor example, to restore two non-boot disk snapshots to a new instance, make the following request:\r\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances\r\n{\r\n \"name\": \"INSTANCE_NAME\",\r\n \"machineType\": \"machineTypes/MACHINE_TYPE\",\r\n \"networkInterfaces\": [\r\n {\r\n \"nicType\": \"GVNIC\"\r\n }\r\n ],\r\n \"disks\": [\r\n {\r\n \"autoDelete\": \"true\",\r\n \"boot\": \"true\",\r\n \"diskSizeGb\": \"BOOT_DISK_SIZE\",\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 26 of 28\n\n\"diskType\": \"BOOT_DISK_TYPE\",\r\n \"initializeParams\": {\r\n \"sourceImage\": \"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY\"\r\n }\r\n },\r\n {\r\n \"deviceName\": \"DEVICE_1_NAME\",\r\n \"initializeParams\": {\r\n \"sourceSnapshot\": \"global/snapshots/SNAPSHOT_1_NAME\",\r\n \"diskSizeGb\": \"DISK_1_SIZE\",\r\n \"diskType\": \"DISK_1_TYPE\"\r\n }\r\n },\r\n {\r\n \"deviceName\": \"DEVICE_2_NAME\",\r\n \"initializeParams\": {\r\n \"sourceSnapshot\": \"global/snapshots/SNAPSHOT_2_NAME\",\r\n \"diskSizeGb\": \"DISK_2_SIZE\",\r\n \"diskType\": \"DISK_2_TYPE\"\r\n }\r\n }\r\n ]\r\n}\r\nReplace the following:\r\nPROJECT_ID : your project ID\r\nZONE : zone where you want to create the instance\r\nINSTANCE_NAME : a name for the new instance\r\nMACHINE_TYPE : machine type of the instance\r\nDISK_SIZE : Optional: size, in gibibytes (GiB), of the corresponding disk\r\nWhen provided, this property must be equal to or larger than the size of the source disk from which the\r\nsnapshot was made.\r\nDISK_TYPE : Optional: full or partial URL for the type of the corresponding disk, for example,\r\nPROJECT_ID/zones/ZONE/diskTypes/pd-ssd or PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced\r\nIMAGE_PROJECT : the project containing the image. For example, debian-cloud\r\nIMAGE_FAMILY : an image family. This creates the instance from the most recent, non-deprecated OS image\r\nin that family. For example, if you specify \"sourceImage\": \"projects/debian-cloud/global/images/family/debian-11\" , the Compute Engine creates an instance using the latest version\r\nof the OS image in the Debian 11 image family.\r\nDEVICE_NAME : Optional: the device name displayed in the guest OS of the instance\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 27 of 28\n\nSNAPSHOT_NAME : the names of corresponding non-boot disk snapshots that you want to restore to new\r\ndisks on the instance\r\nExcept as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0\r\nLicense, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site\r\nPolicies. Java is a registered trademark of Oracle and/or its affiliates.\r\nLast updated 2026-04-02 UTC.\r\nSource: https://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nhttps://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots\r\nPage 28 of 28",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://cloud.google.com/compute/docs/disks/restore-and-delete-snapshots"
	],
	"report_names": [
		"restore-and-delete-snapshots"
	],
	"threat_actors": [],
	"ts_created_at": 1775439115,
	"ts_updated_at": 1775826705,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/33caf5fbf53a6a2eaf4db8895b1466a69b7d9674.pdf",
		"text": "https://archive.orkl.eu/33caf5fbf53a6a2eaf4db8895b1466a69b7d9674.txt",
		"img": "https://archive.orkl.eu/33caf5fbf53a6a2eaf4db8895b1466a69b7d9674.jpg"
	}
}