Criar e gerenciar Instant Snapshots


Neste documento, explicamos como criar e gerenciar Instant Snapshots. Os Instant Snapshots capturam o conteúdo de um disco e podem ser usados para criar um disco novo em minutos.

Só será possível criar um Instant Snapshot de um disco se ele estiver anexado a uma instância de máquina virtual (VM) em execução. O disco também precisa ser anexado no modo de leitura e gravação.

Os Instant Snapshots são armazenados na mesma zona ou região dos discos de origem e não substituem os snapshots padrão, que oferecem backup externo para recuperação de desastres. Saiba mais sobre as outras opções de proteção de dados disponíveis no Compute Engine.

Para acessar os dados em um Instant Snapshot, use-o para criar um novo disco.

Se quiser copiar um Instant Snapshot para outro local, crie um snapshot padrão a partir dele.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Restrições

Para garantir que os Instant Snapshots sejam adequados para seu caso de uso, analise as limitações relacionadas a eles.

Criar um Instant Snapshot de um volume do Persistent Disk

Os Instant Snapshots de discos zonais são armazenados na mesma zona que o disco de origem. Da mesma forma, os Instant Snapshots de discos regionais são armazenados nas mesmas regiões do disco.

É possível criar um instant snapshot de um volume de Persistent Disk zonal ou regional usando a CLI gcloud, o console do Google Cloud ou a REST.

Console

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Selecione o projeto em que você quer trabalhar.

  3. Na coluna Nome, clique no nome da VM anexada ao disco do qual você quer fazer backup.

  4. Na seção Armazenamento, selecione um disco por uma destas maneiras:

    • Para fazer backup do disco de inicialização da VM, na seção Disco de inicialização, clique no Nome do disco que você quer.
    • Para fazer backup de um volume do Persistent Disk anexado, na seção Discos adicionais, clique no Nome do volume do Persistent Disk anexado que você quer.
  5. Para concluir a criação de um Instant Snapshot, realize estas ações na página Criar um snapshot:

    1. No campo Nome, insira um nome exclusivo para identificar o Instant Snapshot.
    2. Opcional: adicione mais detalhes sobre o snapshot no campo Descrição.
    3. No campo Tipo, selecione Instant Snapshot. O campo Local é definido automaticamente como a mesma zona ou região do disco.
    4. No campo Tipo de origem do snapshot, verifique se Disco está selecionado.
    5. Opcional: para organizar seu projeto, adicione um ou mais rótulos.
    6. Clique em Criar.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para criar um Instant Snapshot, use o comando gcloud beta compute instant-snapshots create:

    Disco zonal

    gcloud beta compute instant-snapshots create INSTANT_SNAPSHOT_NAME \
       --source-disk=SOURCE_DISK_NAME \
       --zone=SOURCE_DISK_ZONE
    

    Substitua:

    • INSTANT_SNAPSHOT_NAME: um nome exclusivo do Instant Snapshot.
    • SOURCE_DISK_NAME: o nome do disco de origem.
    • SOURCE_DISK_ZONE: a zona do disco de origem. O Instant Snapshot será criado na mesma zona.

    Disco regional

    gcloud beta compute instant-snapshots create INSTANT_SNAPSHOT_NAME \
       --source-disk=SOURCE_DISK_NAME \
       --region=SOURCE_DISK_REGION
    

    Substitua:

    • INSTANT_SNAPSHOT_NAME: um nome exclusivo do Instant Snapshot.
    • SOURCE_DISK_NAME: o nome do disco de origem.
    • SOURCE_DISK_REGION: a região do disco de origem. O Instant Snapshot será criado na mesma região.

REST

Para criar um Instant Snapshot, faça uma solicitação POST ao método instantSnapshots.insert.

  • Crie um Instant Snapshot de um disco zonal:

    Especifique a zona no URL da solicitação POST. No corpo da solicitação, especifique o nome do novo snapshot e o URL do disco de origem.

     POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/DISK_ZONE/instantSnapshots
     {
        "name": "INSTANT_SNAPSHOT_NAME",
        "sourceDisk": "projects/PROJECT_ID/zones/DISK_ZONE/disks/SOURCE_DISK_NAME"
     }
     
    Substitua os seguintes valores pelos valores correspondentes:

    • PROJECT_ID: o nome do projeto que contém o disco.
    • DISK_ZONE: a zona onde o disco está localizado. O Instant Snapshot será criado nessa zona.
    • INSTANT_SNAPSHOT_NAME: um nome exclusivo do Instant Snapshot.
    • SOURCE_DISK_NAME: o nome do disco de origem.
  • Crie um Instant Snapshot de um disco regional:

    Especifique a região no URL da solicitação POST. Inclua o nome e o disco de origem do novo snapshot no corpo da solicitação.

        POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/DISK_REGION/instantSnapshots
           {
              "name": "INSTANT_SNAPSHOT_NAME",
              "sourceDisk": "projects/PROJECT_ID/regions/DISK_REGION/disks/SOURCE_DISK_NAME"
           }
     
    No corpo da solicitação, faça as substituições a seguir com os valores correspondentes:

    • PROJECT_ID: o nome do projeto que contém o disco.
    • DISK_REGION: a região onde o disco de origem está localizado. O snapshot será criado na mesma região.
    • INSTANT_SNAPSHOT_NAME: um nome exclusivo do snapshot.
    • SOURCE_DISK_NAME: o nome do disco de origem.

Resposta da solicitação

Se a solicitação POST for bem-sucedida, o corpo da resposta será um objeto que pode ser sondado para conferir o status da criação do Instant Snapshot. Consulte Como processar respostas da API para mais informações.

Restaurar um Instant Snapshot para um novo volume do Persistent Disk

Para restaurar dados de backup com um Instant Snapshot, crie um disco novo a partir dele.

Ver os Instant Snapshots em um projeto ou local

É possível ver a lista de todos os snapshots instantâneos em um projeto ou local usando a CLI gcloud, o console do Google Cloud ou a REST.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Clique na guia Instant Snapshots. A lista de Instant Snapshots é exibida.

  3. Opcional: refine os resultados com o campo Filtro. Insira o nome ou valor de uma propriedade no campo Filtro ou escolha uma das propriedades disponíveis.

gcloud

É possível listar os Instant Snapshots em um projeto ou local específico com o comando gcloud beta compute instant-snapshots list.

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Liste todos os snapshots em um projeto ou os snapshots em uma zona ou região:

    • Liste todos os Instant Snapshots de um projeto específico:

      gcloud beta compute instant-snapshots list --project=PROJECT_ID
      

      Substitua PROJECT_ID pelo código do projeto.

    • Liste os Instant Snapshots em uma zona com o argumento --zones:

      gcloud beta compute instant-snapshots list --zones=ZONE
      

      Substitua ZONE pelo nome da zona de destino.

    • Liste os Instant Snapshots regionais de uma região usando o argumento --regions:

      gcloud beta compute instant-snapshots list --regions=REGION
      

      Substitua REGION pelo nome da região de destino.

REST

É possível recuperar uma lista dos Instant Snapshots em um projeto ou local específico.

  • Liste os snapshots em um projeto:

    Faça uma solicitação GET ao método instantSnapshots.aggregatedList:

        GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/aggregated/instantSnapshots
     
    Substitua PROJECT_ID pelo código do projeto.

  • Liste os Instant Snapshot em uma zona ou região:

    Faça uma solicitação GET ao método instantSnapshots.list.

    • Liste os Instant Snapshots em uma zona:
        GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/SOURCE_ZONE//instantSnapshots
    
    Faça as seguintes substituições: - "PROJECT_ID": o ID do projeto. - "SOURCE_ZONE": a zona de destino, por exemplo, "us-west1-a". + Liste os Instant Snapshots regionais em uma região:
        GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/SOURCE_REGION/instantSnapshots
    

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • SOURCE_REGION: a região de destino, por exemplo, us-west1.

Ver os Instant Snapshots de um disco

É possível ver a lista de snapshots instantâneos de um disco usando a CLI gcloud, o console do Google Cloud ou a REST.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Clique na guia Instant Snapshots. A lista de todos os Instant Snapshots no projeto é exibida.

  3. Refine os resultados por disco de origem:

    1. Insira Source disk: no campo Filtro filter_list. Como inserir o filtro por disco de origem

      Uma lista de discos com Instant Snapshots é exibida.

    2. Selecione o nome do disco na lista Valores. A lista de Instant Snapshots mostra todos os snapshots do disco.

      Se você não vir o nome de um disco no campo Filtro filter_list, digite as primeiras letras do nome do disco para alterar a lista de opções filtradas que você vê.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Liste os Instant Snapshots de um disco com o comando gcloud beta compute instant-snapshots list e o argumento --filter:

    • Liste os Instant Snapshots de um disco zonal:

      gcloud beta compute instant-snapshots list
      --filter="sourceDisk:projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
      

      Substitua:

      • PROJECT_ID: o ID do projeto.
      • ZONE: o nome da zona do disco, por exemplo, us-west1-a.
      • DISK_NAME: o nome do disco de origem, por exemplo, disk-1.
    • Liste os Instant Snapshots de um disco regional:

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

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • SOURCE_REGION: o nome da região do disco, por exemplo, us-west1.
    • DISK_NAME: o nome do disco, por exemplo, disk-1.

REST

Liste os Instant Snapshots de um disco zonal ou regional com uma solicitação GET ao método instantSnapshots.list.

Use o parâmetro de consulta filter=sourceDisk para especificar o nome do disco.

  • Liste os Instant Snapshots de um volume do Persistent Disk zonal:

    GET https://compute.googleapis.com/compute/beta/projects/<var>PROJECT_ID</var>/zones/<var>SOURCE_ZONE/</var>/instantSnapshots?filter=sourceDisk:'https://www.googleapis.com/compute/beta/projects/<var>PROJECT_ID</var>/zones/<var>SOURCE_ZONE</var>/disks/<var>DISK_NAME</var>'
    

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • SOURCE_ZONE: a zona de destino, por exemplo, us-west1-a.
    • DISK_NAME: o nome do disco de origem, por exemplo, disk-1.
  • Liste os Instant Snapshots de um volume do Persistent Disk regional:

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

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • SOURCE_REGION: a região de destino, por exemplo, us-west1.
    • DISK_NAME: o nome do disco de origem, por exemplo, disk-1.

Ver informações sobre um Instant Snapshot

Recupere informações detalhadas sobre um instant snapshot, como localização, disco de origem e tamanho, usando a CLI gcloud, o console do Google Cloud ou a REST.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Clique na guia Instant Snapshots. A lista de Instant Snapshots é exibida.

  3. Na coluna Nome, clique no nome do Instant Snapshot. A página de Detalhes do Instant Snapshot selecionado é exibida, mostrando as propriedades dele.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para ver informações sobre um Instant Snapshot, use o comando gcloud beta compute instant-snapshots describe.

    • Se o snapshot for de um disco zonal, especifique a zona com a flag --zone:

      gcloud beta compute instant-snapshots describe INSTANT_SNAPSHOT_NAME  \
         --zone=ZONE
      

      Substitua os seguintes valores pelos valores correspondentes:

      • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.
      • ZONE: a zona onde o Instant Snapshot foi criado, por exemplo, us-west1-a.
    • Se o snapshot for de um disco regional, especifique a região com a flag --region:

      gcloud beta compute instant-snapshots describe INSTANT_SNAPSHOT_NAME \
      --region=REGION
      

      Substitua os seguintes valores pelos valores correspondentes:

      • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.
      • REGION: a região onde o snapshot foi criado, por exemplo, us-central1.

REST

A solicitação do método de API usada depende do Instant Snapshot com que você trabalha: regional ou zonal.

instant snapshot zonal

Faça uma solicitação GET ao método instantSnapshots.get especificando a zona na solicitação:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME

Substitua os seguintes valores pelos valores correspondentes:

  • PROJECT_ID: o nome do projeto que contém o Instant Snapshot.
  • ZONE: a zona onde o Instant Snapshot foi criado.
  • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.

instant snapshot regional

Faça uma solicitação GET ao método instantSnapshots.get especificando a região na solicitação:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME

Substitua os seguintes valores pelos valores correspondentes:

  • PROJECT_ID: o nome do projeto que contém o Instant Snapshot.
  • REGION: a região onde o instant snapshot foi criado.
  • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.

Excluir um instant snapshot

É possível excluir um instant snapshot usando a CLI gcloud, o console do Google Cloud ou REST.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Clique na guia Instant Snapshots.

  3. Selecione um ou mais snapshots para excluir.

  4. Na parte superior da página Snapshots, clique em Excluir.

gcloud

Exclua um Instant Snapshot com o comando gcloud beta compute instant-snapshots delete, especificando a zona de origem ou a região de origem.

  • Exclua um Instant Snapshot de um disco zonal:

    gcloud beta compute instant-snapshots delete INSTANT_SNAPSHOT_NAME \
        --zone=ZONE
     

    Substitua os seguintes valores pelos valores correspondentes:

    • ZONE: o nome da zona.
    • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.
  • Exclua um Instant Snapshot de um disco regional:

    gcloud beta compute instant-snapshots delete INSTANT_SNAPSHOT_NAME \
       --region=REGION
    

    Substitua:

    • REGION: o nome da região.
    • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.

REST

Exclua um Instant Snapshot com uma solicitação DELETE ao método instantSnapshots.delete:

  • Exclua um Instant Snapshot de disco zonal:

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME
    

    Substitua os seguintes valores pelos valores correspondentes:

    • PROJECT_ID: o ID do projeto.
    • ZONE: o nome da zona.
    • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.
  • Exclua um Instant Snapshot de um disco regional:

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instantSnapshots/INSTANT_SNAPSHOT_NAME

    Substitua os seguintes valores pelos valores correspondentes:

    • PROJECT_ID: o ID do projeto.
    • REGION: o nome da região.
    • INSTANT_SNAPSHOT_NAME: o nome do Instant Snapshot.

Alterar o local de armazenamento de um Instant Snapshot

Um Instant Snapshot é sempre armazenado no mesmo local do disco de origem. Não é possível tornar um Instant Snapshot acessível em uma zona ou região diferente. Em vez disso, é possível criar um snapshot padrão a partir dele e usar esse snapshot.

Saiba como criar um snapshot padrão a partir de um Instant Snapshot.

Solução de problemas

Para resolver problemas encontrados ao trabalhar com Instant Snapshots, consulte este link.