A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cloud.google.com/compute/docs/disks/restore-snapshot below:

Restore from a snapshot | Compute Engine Documentation

Skip to main content Restore from a snapshot

Stay organized with collections Save and categorize content based on your preferences.

A disk is either a boot disk that is used to start and run the operating system on a compute instance or a non-boot disk that an instance uses only for data storage.

You can use snapshots to backup and restore disk data in the following ways:

Before you begin Required roles

To get the permissions that you need to restore from a snapshot, ask your administrator to grant you the Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM role on the project. For more information about granting roles, see Manage access to projects, folders, and organizations.

This predefined role contains the permissions required to restore from a snapshot. To see the exact permissions that are required, expand the Required permissions section:

Required permissions

The following permissions are required to restore from a snapshot:

You might also be able to get these permissions with custom roles or other predefined roles.

Limitations Create a disk from a snapshot and optionally attach it to an instance

If you backed up a boot or non-boot disk with a snapshot, you can create a new disk based on the snapshot.

Console
  1. In the Google Cloud console, go to the Snapshots page.

    Go to Snapshots

  2. Find the name of the snapshot that you want to restore.

  3. Go to the Disks page.

    Go to the Disks page

  4. Click Create new disk.

  5. Specify the following configuration parameters:

  6. Under Source type, click Snapshot.

  7. Select the name of the snapshot to restore.

  8. Select the size of the new disk, in gigabytes. This number must be equal to or larger than the original source disk for the snapshot.

  9. Click Create to create the disk.

Optionally, you can then attach a non-boot disk to a instance.

gcloud
  1. Use the gcloud compute snapshots list command to find the name of the snapshot you want to restore:

    gcloud compute snapshots list
    
  2. Use the gcloud compute snapshots describe command to find the size of the snapshot you want to restore:

    gcloud compute snapshots describe SNAPSHOT_NAME
    

    Replace SNAPSHOT_NAME with the name of the snapshot being restored.

  3. Use the gcloud compute disks create command to create a new regional or zonal disk from your snapshot. You can include the --type flag to specify the type of disk to create.

    gcloud compute disks create DISK_NAME \
        --zone=ZONE \
        --size=DISK_SIZE \
        --source-snapshot=SNAPSHOT_NAME \
        --type=DISK_TYPE
    
    gcloud beta compute disks create DISK_NAME \
        --zone=ZONE \
        --source-snapshot=SNAPSHOT_NAME \
        --source-snapshot-region=SOURCE_REGION \
        --type=DISK_TYPE
    
    gcloud beta compute disks create DISK_NAME \
        --size=DISK_SIZE \
        --source-snapshot=SNAPSHOT_NAME \
        --type=DISK_TYPE \
        --region=REGION \
        --replica-zones=ZONE1,ZONE2
    
    gcloud beta compute disks create DISK_NAME \
        --size=DISK_SIZE \
        --source-snapshot=SNAPSHOT_NAME \
        --source-snapshot-region=SOURCE_REGION \
        --type=DISK_TYPE \
        --region=REGION \
        --replica-zones=ZONE1,ZONE2
    

    Replace the following:

  4. Optional: Attach the new disk to an existing instance by using the gcloud compute instances attach-disk command:

    gcloud compute instances attach-disk INSTANCE_NAME \
        --disk DISK_NAME
    

    Replace the following:

Go Go

Before trying this sample, follow the Go setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Go API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Java Java

Before trying this sample, follow the Java setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Java API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Node.js Node.js

Before trying this sample, follow the Node.js setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Node.js API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Python Python

Before trying this sample, follow the Python setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Python API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

REST
  1. Construct a GET request to snapshots.list to display the list of snapshots in your project.

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

    Replace PROJECT_ID with your project ID.

  2. Construct a POST request to create a zonal disk or a regional disk using the respective disks.insert method:

    Include the name, sizeGb, and type properties. To restore a disk using a snapshot, you must include the sourceSnapshot property.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    {
      "name": "DISK_NAME",
      "sourceSnapshot": "SNAPSHOT_NAME",
      "sizeGb": "DISK_SIZE",
      "type": "zones/ZONE/diskTypes/DISK_TYPE"
    }
    
    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks
    {
      "name": "DISK_NAME",
      "sourceSnapshot": "projects/PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME",
      "sizeGb": "DISK_SIZE",
      "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
      "zone": "projects/PROJECT_ID/zones/ZONE"
    }
    
    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/disks
    {
      "name": "DISK_NAME",
      "sourceSnapshot": "SNAPSHOT_NAME",
      "region": "projects/PROJECT_ID/regions/REGION",
      "replicaZones": [
         "projects/PROJECT_ID/zones/ZONE1",
         "projects/PROJECT_ID/zones/ZONE2"
      ],
      "sizeGb": "DISK_SIZE",
      "type": "zones/ZONE/diskTypes/DISK_TYPE"
    }
    
    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/disks
    {
      "name": "DISK_NAME",
      "sourceSnapshot": "projects/PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME",
      "replicaZones": [
         "projects/PROJECT_ID/zones/ZONE1",
         "projects/PROJECT_ID/zones/ZONE2"
      ],
      "sizeGb": "DISK_SIZE",
      "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE"
    }
    

    Replace the following:

  3. Optional. Attach the new disk to an existing instance.

    Construct a POST request to the instances.attachDisk method, and include the URL to the disk that you just created from your snapshot.

    For zonal disks:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
    {
      "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
    }
    

    For regional disks:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
    {
      "source": "/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME"
    }
    

    Replace the following:

After you create and attach a new disk to an instance, you must mount the disk so that the operating system can use the available storage space.

Important: If you create a compute instance from a disk snapshot based on a Shielded VM image, the original integrity policy baseline is lost and the first set of boot sequence measurements on the new instance is used as the new baseline. Because this new set of measurements is not verified, validate the instance's boot integrity after restoring from a snapshot. You can do this by manually examining the boot log and verifying that the proper keys are loaded into the SecureBoot database, and that the expected kernel version is running. Also, secrets saved in the vTPM on the originating instance are not accessible on any instances restored from a snapshot of that instance. Create an instance from existing disks

You can create boot disks and data disks from snapshots and then attach these disks to a new compute instance.

Go Go

Before trying this sample, follow the Go setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Go API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Java Java

Before trying this sample, follow the Java setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Java API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Node.js Node.js

Before trying this sample, follow the Node.js setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Node.js API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Python Python

Before trying this sample, follow the Python setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Python API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Create an instance from a boot disk snapshot

If you created a snapshot of the boot disk of a compute instance,you can use that snapshot to create a new instance.

To quickly create more than one instance with the same boot disk, create a custom image, then create instances from that image instead of using a snapshot.

To create a compute instance with a regional boot disk that was created from a snapshot, use the Google Cloud CLI or REST.

Console
  1. In the Google Cloud console, go to the Create an instance page.

    Go to Create an instance

    If prompted, select your project and click Continue. The Create an instance page appears and displays the Machine configuration pane.

  2. In the Machine configuration pane, do the following:

    1. In the Name field, specify a name for your instance. For more information, see Resource naming convention.
    2. Optional: In the Zone field, select a zone for this instance.

      The default selection is Any. If you don't change this default selection, then Google automatically chooses a zone for you based on machine type and availability.

    3. Select the machine family for your instance. The Google Cloud console then displays the machine series that are available for your selected machine family. The following machine family options are available:

      • General purpose
      • Compute optimized
      • Memory optimized
      • Storage optimized
      • GPUs
    4. In the Series column, select the machine series for your instance.

      If you selected GPUs as the machine family in the previous step, then select the GPU type that you want. The machine series is then automatically selected for the selected GPU type.

    5. In the Machine type section, select the machine type for your instance.

  3. In the navigation menu, click OS and storage. In the Operating system and storage pane that appears, configure your boot disk by doing the following:

    1. Click Change. The Boot disk pane appears and displays the Public images tab.
    2. Click Snapshots. The Snapshot tab appears.
    3. In the Snapshot list, select the snapshot to use.
    4. In the Boot disk type list, select the type of the boot disk.
    5. In the Size (GB) field, specify the size of the boot disk.
    6. Optional: For advanced configuration options, expand the expand_more Show advanced configurations section.
    7. To confirm your boot disk options and return to the Operating system and storage pane, click Select.
  4. In the navigation menu, click Networking. In the Networking pane that appears, do the following:

    1. Go to the Firewall section.
    2. To permit HTTP or HTTPS traffic to the instance, select Allow HTTP traffic or Allow HTTPS traffic.

    The Google Cloud console adds a network tag to your instance and creates the corresponding ingress firewall rule that allows all incoming traffic on tcp:80 (HTTP) or tcp:443 (HTTPS). The network tag associates the firewall rule with the instance. For more information, see Firewall rules overview in the Virtual Private Cloud documentation.

  5. Optional: Specify other configuration options. For more information, see Configuration options during instance creation.

  6. To create and start the instance, click Create.

gcloud Zonal boot disk

Use the gcloud compute instances create command and include the --source-snapshot flag.

   gcloud compute instances create INSTANCE_NAME  
--source-snapshot=BOOT_SNAPSHOT_NAME
--boot-disk-size=BOOT_DISK_SIZE
--boot-disk-type=BOOT_DISK_TYPE
--boot-disk-device-name=BOOT_DISK_NAME

Replace the following:

Regional boot disk

Use the gcloud compute instances create command and include the --create-disk flag with the source-snapshot, replica-zones, and boot properties.

  gcloud compute instances create INSTANCE_NAME 
--zone=ZONE
--create-disk=^:^name=DISK_NAME:source-snapshot=BOOT_SNAPSHOT_NAME:boot=true:type=BOOT_DISK_TYPE:replica-zones=ZONE,REMOTE_ZONE

The characters ^:^ specify that a colon : is used as the separator between each of the disk properties. This is required so that you can use a comma , when specifying the zones for replica-zones.

Replace the following:

Go Go

Before trying this sample, follow the Go setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Go API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Java Java

Before trying this sample, follow the Java setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Java API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Node.js Node.js

Before trying this sample, follow the Node.js setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Node.js API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

Python Python

Before trying this sample, follow the Python setup instructions in the Compute Engine quickstart using client libraries. For more information, see the Compute Engine Python API reference documentation.

To authenticate to Compute Engine, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

REST

When you use the API to create an instance from a snapshot, the following restrictions apply:

Zonal boot disk To create an instance from a boot disk snapshot, use the instances.insert method and specify the sourceSnapshot field under the disks property. You can optionally specify the diskSizeGb and diskType properties for the new boot disk.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "INSTANCE_NAME",
  "machineType": "machineTypes/MACHINE_TYPE",
  "disks": [{
     "boot": true,
     "initializeParams": {
       "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
       "diskSizeGb": "BOOT_DISK_SIZE",
       "diskType": "BOOT_DISK_TYPE"
      }
   }],
  "networkInterfaces": [
    {
       "nicType": "GVNIC"
    }
  ]
}
Replace the following: Regional boot disk To create a compute instance with a regional boot disk using a boot disk snapshot as the source, use the instances.insert method and specify the sourceSnapshot and replicaZones fields in the disks property.
   POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
   {
     "name": "INSTANCE_NAME",
     "disks": [
       {
         "boot": true,
         "initializeParams": {
            "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
            "replicaZones": [
                "projects/PROJECT_ID/zones/ZONE",
                "projects/PROJECT_ID/zones/REMOTE_ZONE"
              ],
            "diskType": "BOOT_DISK_TYPE"
         }
       }
     ],
     "networkInterfaces": [
       {
         "nicType": "GVNIC"
       }
     ]
   }
   

Replace the following:

Create a compute instance from a non-boot disk snapshot

If you backed up a non-boot disk with a snapshot, you can create an instance with an additional non-boot disk based on the snapshot.

Console

When restoring non-boot snapshots to a new instance from the console, first create a disk from each snapshot. Then, attach the new disks when you create the instance.

  1. Restore each non-boot snapshot to a new disk.

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

      Go to Disks

    2. Click Create disk.

    3. Specify a Name for your disk. For more information, see Resource naming convention.

    4. Select the Region and Zone for this disk. The disk and instance must be in the same zone for zonal disks, or region for regional disks.

    5. Select a disk Type.

    6. Under Source type, select Snapshot.

    7. Under the new Source snapshot field, select a non-boot snapshot that you want to restore to the new disk.

    8. To create the disk, click Create.

    Repeat these steps to create a disk from each snapshot that you want to restore.

  2. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  3. Select your project and click Continue.

  4. Click Create instance.

  5. Specify a Name for your instance. For more information, see Resource naming convention.

  6. Select the Region and Zone for this instance. The disk and instance must be in the same zone for zonal disks, or region for regional disks.

  7. Select a Machine type for your instance.

  8. If you want to allow incoming external traffic, change the Firewall rules for the instance.

  9. To attach disks to the instance, expand the Advanced options section, and then do the following:

    1. Expand the Disks section.
    2. Click Attach existing disk.
    3. In the Disk list, select a disk to attach to this instance.
    4. In the Attachment Setting section, select disk's attachment Mode and the Deletion rule. For more information about adding new disks, see Add a Persistent Disk or Add Hyperdisk.
    5. Click Save.

    Repeat these steps for each disk that you want to attach.

  10. To create and start the instance, click Create.

gcloud

Create an instance by using the gcloud compute instances create command. For each non-boot snapshot that you want to restore, include the --create-disk flag, and specify a source-snapshot.

For example, to restore two snapshots of non-boot disks to a new instance, use the following command:

gcloud compute instances create INSTANCE_NAME \
    --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \
    --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE

Replace the following:

REST

When using REST to restore a non-boot snapshot to a new instance, the following restrictions apply:

Create a POST request to the instances.insert method and specify the sourceSnapshot field under the initializeParams property. You can add multiple non-boot disks by repeating the initializeParams property for every non-boot disk that you want to create. You can optionally specify the diskSizeGb and diskType properties for any of the disks that you create.

For example, to restore two non-boot disk snapshots to a new instance, make the following request:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "INSTANCE_NAME",
  "machineType": "machineTypes/MACHINE_TYPE",
  "networkInterfaces": [
    {
      "nicType": "GVNIC"
    }
  ],
  "disks": [
    {
      "autoDelete": "true",
      "boot": "true",
      "diskSizeGb": "BOOT_DISK_SIZE",
      "diskType": "BOOT_DISK_TYPE",
      "initializeParams": {
         "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      }
    },
    {
      "deviceName": "DEVICE_1_NAME",
      "initializeParams": {
         "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME",
         "diskSizeGb": "DISK_1_SIZE",
         "diskType": "DISK_1_TYPE"
      }
    },
    {
      "deviceName": "DEVICE_2_NAME",
      "initializeParams": {
         "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME",
         "diskSizeGb": "DISK_2_SIZE",
         "diskType": "DISK_2_TYPE"
      }
    }
  ]
}

Replace the following:

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

Last updated 2025-08-07 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["Google Cloud disks can be either boot disks for operating systems or non-boot disks for data, and snapshots serve as backups for restoring disk data."],["You can create new disks or instances from snapshots, and instances can have boot disks created from a snapshot, or you can create an instance using existing disks made from snapshots."],["Restoring from a snapshot requires specific IAM roles, including permissions like `compute.disks.create`, `compute.instances.create`, and `compute.snapshots.useReadOnly`."],["When creating disks from snapshots, new disks must be at least the same size as the original disk and there is a rate limit of once every ten minutes for zonal or regional disk creation."],["Different methods such as the console, gcloud CLI, Go, Java, Node.js, Python, and REST APIs can be used for setting up authentication, creating disks, and creating instances, each with its own required steps and commands."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4