Um disco é um disco de inicialização usado para iniciar e executar o sistema operacional em uma instância de computação ou um disco que não é de inicialização que uma instância usa apenas para armazenamento de dados.
É possível usar snapshots para fazer backup e restaurar dados do disco das seguintes maneiras:
Depois de criar um snapshot de um disco de inicialização ou não, crie um novo disco com base no snapshot.
Depois de criar um snapshot de um disco de inicialização, crie uma instância com base no snapshot do disco de inicialização.
Depois de criar um snapshot de um disco que não seja de inicialização, crie uma nova instância com um novo disco que não seja de inicialização com base no snapshot.
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 selecionando uma das seguintes opções:
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
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.
- Set a default region and zone.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a CLI do Google Cloud.
Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a CLI do Google Cloud.
Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a CLI do Google Cloud.
Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a CLI do Google Cloud.
Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Confira mais informações em Set up authentication for a local development environment.
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 CLI do Google Cloud.
Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para receber as permissões necessárias a fim de realizar uma restauração com base em um snapshot, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para realizar a restauração com base em um snapshot. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para realizar uma restauração com base em um snapshot:
-
Para criar um disco com base em um snapshot de escopo global (padrão):
-
compute.disks.create
no projeto -
compute.instances.attachDisk
na instância -
compute.disks.use
no disco a ser anexado -
compute.snapshots.useReadOnly
,compute.snapshots.create
oucompute.disks.createSnapshot
no projeto
-
-
(Prévia) Para criar um disco com base em um snapshot de escopo regional:
-
compute.disks.create
no projeto -
compute.instances.attachDisk
na instância -
compute.disks.use
no disco a ser anexado -
compute.snapshots.useReadOnly
no projeto
-
-
Para criar uma instância com base em um snapshot de disco de inicialização e de disco não inicializável, você precisa ter pelo menos as seguintes permissões:
-
compute.instances.create
no projeto -
compute.snapshots.useReadOnly
no snapshot -
compute.disks.create
no projeto -
compute.disks.use
no disco -
compute.instances.attachDisk
na instância
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
O novo disco permanente precisa ter pelo menos o mesmo tamanho do disco de origem para aceitar o snapshot. Se você criar um disco maior que o disco de origem do snapshot, será necessário redimensionar o sistema de arquivos nesse disco para incluir o espaço em disco adicional. Dependendo do sistema operacional e do tipo de sistema de arquivos, talvez seja preciso usar uma ferramenta de redimensionamento de sistema de arquivos diferente. Para mais informações, consulte a documentação do sistema operacional.
É possível criar um novo disco zonal ou regional com base em um determinado snapshot uma vez a cada 10 minutos, no máximo. Se você quiser emitir uma sequência de solicitações para capturar snapshots dos discos, é possível enviar 6 solicitações, no máximo, em 60 minutos. Esse limite não se aplica ao criar discos regionais de um snapshot. Para mais informações, consulte Limites de frequência de snapshots.
Criar um disco com base em um snapshot e, opcionalmente, anexá-lo a uma instância
Se você fez backup de um disco de inicialização ou não com um snapshot, é possível criar um novo disco com base no snapshot.
Console
No console Google Cloud , acesse a página Snapshots.
Encontre o nome do snapshot que você quer restaurar.
Acessar a página Discos.
Clique em Criar novo disco.
Especifique os seguintes parâmetros de configuração:
- Um nome para o disco.
- Um tipo para o disco.
- Opcionalmente, é possível modificar a seleção de região e zona padrão. É possível selecionar qualquer região e zona, independentemente do local de armazenamento do snapshot de origem.
Em Tipo de origem, clique em Snapshot.
Selecione o nome do snapshot que será restaurado.
Selecione o tamanho do novo disco em gigabytes. Esse número precisa ser igual ou maior que o disco de origem do snapshot.
Clique em Criar para criar o disco.
Como alternativa, anexe um disco não inicializável a uma instância.
gcloud
Use o comando
gcloud compute snapshots list
para encontrar o nome do snapshot que você quer restaurar:gcloud compute snapshots list
Use o comando
gcloud compute snapshots describe
para encontrar o tamanho do snapshot que você quer restaurar:gcloud compute snapshots describe SNAPSHOT_NAME
Substitua SNAPSHOT_NAME pelo nome do snapshot que está sendo restaurado.
Use o comando
gcloud compute disks create
para criar um novo disco regional ou zonal com base no snapshot. É possível incluir a flag--type
para especificar o tipo de disco a ser criado.- Para criar um disco zonal com base em um snapshot de escopo global:
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
- (Prévia) Para criar um disco zonal com base em um snapshot de escopo regional:
gcloud beta compute disks create DISK_NAME \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --source-snapshot-region=SOURCE_REGION \ --type=DISK_TYPE
- Para criar um disco regional com base em um snapshot de escopo global:
gcloud beta compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2
- (Prévia) Para criar um disco regional com base em um snapshot de escopo regional:
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
Substitua:
- DISK_NAME: o nome do novo disco.
- DISK_SIZE: o tamanho do novo disco em gibibytes (GiB). Esse número precisa ser igual ou maior que o disco de origem do snapshot.
- SNAPSHOT_NAME: o nome do snapshot que está sendo restaurado
- DISK_TYPE: o
tipo do disco, por exemplo,
pd-ssd
,hyperdisk-throughput
ouhyperdisk-balanced-high-availability
- REGION: a região do disco regional,
por exemplo,
europe-west1
. - SOURCE_REGION: a região em que o snapshot de origem está no escopo
- ZONE: a zona em que o novo disco vai residir
- ZONE1,ZONE2: as zonas dentro da região em que as duas
réplicas de disco estão localizadas, por exemplo:
europe-west1-b
eeurope-west1-c
Opcional: anexe o novo disco a uma instância atual usando o comando
gcloud compute instances attach-disk
:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
Substitua:
- INSTANCE_NAME: o nome da instância.
- DISK_NAME: o nome do disco criado com base no snapshot.
Go
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Crie uma solicitação
GET
parasnapshots.list
para exibir a lista de snapshots no projeto.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
Substitua PROJECT_ID pela ID do seu projeto.
Crie uma solicitação
POST
para criar um disco zonal ou regional usando o respectivo métododisks.insert
:- Para discos zonais:
disks.insert
- Para discos regionais:
regionDisks.insert
Inclua as propriedades
name
,sizeGb
etype
. Para restaurar um disco usando um snapshot, é preciso incluir a propriedadesourceSnapshot
.- Para criar um disco zonal com base em um snapshot de escopo global:
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" }
- (Pré-lançamento) Para criar um disco zonal com base em um snapshot de escopo regional:
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" }
- Para criar um disco regional com base em um snapshot de escopo global:
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" }
- (Prévia) Para criar um disco regional com base em um snapshot de escopo regional:
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" }
Substitua:
- PROJECT_ID: ID do projeto
- ZONE: a zona em que a instância e o novo disco estão localizados.
- DISK_NAME: o nome do novo disco.
- SNAPSHOT_NAME: o snapshot de origem do disco que você está restaurando
- REGION: a região do disco regional,
por exemplo,
europe-west1
. - SOURCE_REGION: a região em que o snapshot de origem está no escopo
- ZONE1, ZONE2: as zonas onde as réplicas do novo disco devem estar localizadas
- DISK_SIZE: o tamanho do novo disco em gibibytes (GiB). Esse número precisa ser igual ou maior que o disco de origem do snapshot.
- DISK_TYPE: URL completo ou parcial do
tipo
do disco, por exemplo,
PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
,PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
ouPROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability
- Para discos zonais:
Opcional. Anexe o novo disco a uma instância atual.
Crie uma solicitação
POST
para o métodoinstances.attachDisk
e inclua o URL para o disco que você acabou de criar a partir do snapshot.Para discos zonais:
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" }
Para discos regionais:
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" }
Substitua:
- PROJECT_ID: ID do projeto;
- ZONE: a zona em que a instância e o novo disco estão localizados.
- REGION: a região em que o disco regional está localizado. Precisa ser a mesma região em que a instância de computação está localizada.
- INSTANCE_NAME: o nome da instância em que você está adicionando o novo disco.
- DISK_NAME: o nome do novo disco.
Depois de criar e anexar um novo disco a uma instância, é preciso ativar o disco para que o sistema operacional possa usar o espaço de armazenamento disponível.
Criar uma instância com base em discos atuais
Crie discos de inicialização e discos de dados a partir de snapshots e, em seguida, anexe esses discos a uma nova instância de computação.
Go
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar uma instância com base em um snapshot de disco de inicialização
Se você criou um snapshot do disco de inicialização de uma instância de computação,use esse snapshot para criar uma nova instância.
Para criar rapidamente mais de uma instância com o mesmo disco de inicialização, crie uma imagem personalizada, depois crie instâncias com base nessa imagem em vez de usar um snapshot.
Para criar uma instância de computação com um disco de inicialização regional criado de um snapshot, use a Google Cloud CLI ou o REST.
Console
No console Google Cloud , acesse a página Criar uma instância.
Se solicitado, selecione o projeto e clique em Continuar. A página Criar uma instância aparece e mostra o painel Configuração da máquina.
No painel Configuração da máquina, faça o seguinte:
- No campo Nome, especifique um nome para a instância. Para mais informações, consulte Convenção de nomenclatura de recursos.
Opcional: no campo Zona, selecione uma zona para esta instância.
A seleção padrão é Qualquer. Se você não mudar essa seleção padrão, o Google vai escolher automaticamente uma zona com base no tipo de máquina e na disponibilidade.
Selecione a família de máquinas para sua instância. O console do Google Cloud mostra as séries de máquinas disponíveis para a família de máquinas selecionada. As seguintes opções de família de máquinas estão disponíveis:
- Uso geral
- Otimizado para computação
- Otimização de memória
- Otimizado para armazenamento
- GPUs
Na coluna Série, selecione a série de máquinas da sua instância.
Se você selecionou GPUs como a família de máquinas na etapa anterior, selecione o Tipo de GPU desejado. A série de máquinas é selecionada automaticamente para o tipo de GPU escolhido.
Na seção Tipo de máquina, selecione o tipo de máquina para sua instância.
No menu de navegação, clique em SO e armazenamento. No painel Sistema operacional e armazenamento, configure o disco de inicialização fazendo o seguinte:
- Clique em Alterar. O painel Disco de inicialização aparece e mostra a guia Imagens públicas.
- Clique em Snapshots. A guia Snapshot aparece.
- Na lista Snapshot, selecione o snapshot que você quer usar.
- Na lista Tipo de disco de inicialização, selecione o tipo de disco de inicialização.
- No campo Tamanho (GB), especifique o tamanho do disco de inicialização.
- Opcional: para opções avançadas de configuração, expanda a seção Mostrar configurações avançadas.
- Para confirmar as opções do disco de inicialização e voltar ao painel Sistema operacional e armazenamento, clique em Selecionar.
No menu de navegação, clique em Rede. No painel Rede que aparece, faça o seguinte:
- Acesse a seção Firewall.
- Para permitir o tráfego HTTP ou HTTPS para a instância, selecione Permitir tráfego HTTP ou Permitir tráfego HTTPS.
O console Google Cloud adiciona uma tag de rede à instância e cria a regra de firewall de entrada correspondente que permite todo o tráfego de entrada em
tcp:80
(HTTP) outcp:443
(HTTPS). A tag de rede associa a regra de firewall à instância. Para mais informações, consulte Visão geral sobre regras de firewall na documentação da nuvem privada virtual.Opcional: especifique outras opções de configuração. Para mais informações, consulte Opções de configuração durante a criação da instância.
Para criar e iniciar a instância, clique em Criar.
gcloud
Disco de inicialização zonal
Use o comando
gcloud compute instances create
e inclua a flag--source-snapshot
: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_NAMESubstitua:
INSTANCE_NAME
: nome da nova instânciaBOOT_SNAPSHOT_NAME
: nome do snapshot do disco de inicialização que você quer restaurar no disco da nova instânciaBOOT_DISK_SIZE
: opcional: tamanho, em GiB, do novo disco de inicializaçãoO tamanho tem que ser igual ou maior que o tamanho do disco de origem do qual o snapshot foi criado.
BOOT_DISK_TYPE
: opcional: tipo do disco de inicialização, por exemploPROJECT_ID/zones/ZONE/diskTypes/pd-ssd
ouPROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
BOOT_DISK_NAME
: nome do novo disco de inicialização da instância
Disco de inicialização regional
Use o comando
gcloud compute instances create
e inclua a flag--create-disk
com as propriedadessource-snapshot
,replica-zones
eboot
.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_ZONEOs caracteres
^:^
especificam que dois-pontos:
são usados como separador entre cada uma das propriedades do disco. Isso é necessário para que você possa usar uma vírgula,
ao especificar as zonas parareplica-zones
.Substitua:
INSTANCE_NAME
: o nome da nova instância.ZONE
: a zona em que a instância será criada.DISK_NAME
: opcional: um nome para o disco.BOOT_SNAPSHOT_NAME
: nome do snapshot do disco de inicialização que você quer restaurar no disco da nova instância.BOOT_DISK_TYPE
: opcional: tipo do disco de inicialização, por exemplopd-ssd
ouhyperdisk-balanced-high-availability
REMOTE_ZONE
: a região em que o disco de inicialização é replicado. A propriedadereplica-zones
requer duas zonas separadas por vírgula, e uma delas precisa ser igual à zona da instância.
Go
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Quando você usa a API para criar uma instância a partir de um snapshot, as seguintes restrições se aplicam:
- Apenas um disco pode ser usado como disco de inicialização.
- Anexe o disco de inicialização como o primeiro disco da instância.
- Se você especifica a propriedade
source
, não é possível definir a propriedadeinitializeParams
. Fornecer umsource
indica que o disco de inicialização já existe, mas a propriedadeinitializeParams
indica que o Compute Engine precisa criar um novo disco de inicialização.
Disco de inicialização zonal
Para criar uma instância a partir de um snapshot do disco de inicialização, use o métodoinstances.insert
e especifique o camposourceSnapshot
na propriedadedisks
. Se quiser, especifique as propriedadesdiskSizeGb
ediskType
do novo disco de inicialização. Substitua: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" } ] }
PROJECT_ID
: ID do projeto;ZONE
: zona em que você quer criar a nova instânciaINSTANCE_NAME
: nome da instância em que você quer restaurar um snapshotMACHINE_TYPE
: tipo de máquina da instânciaBOOT_SNAPSHOT_NAME
: nome do snapshot que você quer usar para criar o disco de inicialização da nova instânciaBOOT_DISK_SIZE
: opcional: tamanho, em gibibytes (GiB), do novo disco de inicializaçãoO tamanho tem que ser igual ou maior que o tamanho do disco de origem do qual o snapshot foi criado.
BOOT_DISK_TYPE
: opcional: tipo do disco de inicialização, por exemplo,PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
ouPROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
Disco de inicialização regional
Para criar uma instância de computação com um disco de inicialização regional usando um snapshot de disco de inicialização como origem, use o métodoinstances.insert
e especifique os campossourceSnapshot
ereplicaZones
na propriedadedisks
.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" } ] }
Substitua:
PROJECT_ID
: ID do projeto;ZONE
: o nome da zona em que você quer criar a instânciaINSTANCE_NAME
: um nome para a instânciaBOOT_SNAPSHOT_NAME
: o nome do snapshot do disco de inicializaçãoREMOTE_ZONE
: a zona remota do disco regional.BOOT_DISK_TYPE
: opcional: tipo do disco de inicialização, por exemplo,PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
ouPROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability
Criar uma instância de computação com base em um snapshot de disco que não é de inicialização
Se você fez backup de um disco que não é de inicialização com um snapshot, poderá criar uma instância com um disco adicional que não seja de inicialização baseado no snapshot.
Console
Ao restaurar snapshots que não são de inicialização para uma nova instância no console, primeiro crie um disco de cada snapshot. Em seguida, anexe os novos discos ao criar a instância.
Restaure cada snapshot que não seja de inicialização em um novo disco.
No console Google Cloud , acesse a página Discos.
Clique em Criar disco.
Especifique um Nome para o disco. Saiba mais em Convenção de nomenclatura de recursos.
Selecione Região e Zona para o disco. O disco e a instância precisam estar na mesma zona para discos zonais ou região para discos regionais.
Selecione um Tipo de disco.
Em Tipo de origem, selecione Snapshot.
No novo campo Snapshot de origem, selecione um snapshot que não seja de inicialização e deseje restaurar o novo disco.
Para criar o disco, clique em Criar.
Repita essas etapas para criar um disco de cada snapshot que quer restaurar.
No Google Cloud console, acesse a página Instâncias de VM:
Selecione o projeto e clique em Continuar.
Clique em Criar instância.
Especifique um Nome para sua instância. Saiba mais em Convenção de nomenclatura de recursos.
Selecione Região e Zona para a instância. O disco e a instância precisam estar na mesma zona para discos zonais ou região para discos regionais.
Selecione um Tipo de máquina para sua instância.
Se você quiser permitir tráfego externo de entrada, altere as regras de Firewall para a instância.
Para anexar discos à instância, abra a seção Opções avançadas e faça o seguinte:
- Expanda a seção Discos.
- Clique em Anexar disco atual.
- Na lista Disco, selecione um disco para anexar a esta instância.
- Na seção Configuração de anexo, selecione o Modo do anexo do disco e a Regra de exclusão. Para mais informações sobre como adicionar novos discos, consulte Adicionar um disco permanente ou Adicionar Hyperdisk.
- Clique em Salvar.
Repita essas etapas para cada disco que você queira anexar.
Para criar e iniciar a instância, clique em Criar.
gcloud
Crie uma instância usando o comando
gcloud compute instances create
. Para cada snapshot que não seja de inicialização que você queira restaurar, inclua a sinalização--create-disk
e especifique umsource-snapshot
.Por exemplo, para restaurar dois snapshots de discos que não são de inicialização para uma nova instância, use o seguinte comando:
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
Substitua:
INSTANCE_NAME
: nome da nova instância;SNAPSHOT_1_NAME
eSNAPSHOT_2_NAME
: nomes dos snapshots de disco que não são de inicialização a serem restauradosDISK_1_NAME
eDISK_2_NAME
: nomes dos novos discos que não são de inicialização a serem criados para esta instânciaDISK_1_SIZE
eDISK_2_SIZE
: opcional: tamanhos, em gibibytes (GiB), de cada novo disco que não é de inicializaçãoOs tamanhos precisam ser iguais ou maiores que os tamanhos dos discos de origem do qual o snapshot foi criado.
DISK_1_TYPE
eDISK_2_TYPE
: opcional: os tipos de disco a serem criados, por exemplopd-ssd
ouhyperdisk-balanced
REST
Ao usar REST para restaurar um snapshot que não seja de inicialização em uma nova instância, as seguintes restrições se aplicam:
- Apenas um disco pode ser o disco de inicialização.
- Anexe o disco de inicialização como o primeiro disco da instância.
- Se você especifica a propriedade
source
, não é possível definir a propriedadeinitializeParams
. Fornecer umsource
indica que o disco de inicialização já existe, mas a propriedadeinitializeParams
indica que o Compute Engine precisa criar um novo disco de inicialização.
Crie uma solicitação
POST
para o métodoinstances.insert
e especifique o camposourceSnapshot
na propriedadeinitializeParams
. É possível adicionar vários discos que não são de inicialização repetindo a propriedadeinitializeParams
para cada disco que não é de inicialização que você quer criar. Opcionalmente, é possível especificar as propriedadesdiskSizeGb
ediskType
para qualquer um dos discos criados.Por exemplo, para restaurar dois snapshots de disco que não são de inicialização para uma nova instância, faça a seguinte solicitação:
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" } } ] }
Substitua:
PROJECT_ID
: ID do projeto;ZONE
: a zona em que você quer criar a instânciaINSTANCE_NAME
: um nome para a nova instânciaMACHINE_TYPE
: tipo de máquina da instânciaDISK_SIZE
: opcional: tamanho, em gibibytes (GiB), do disco correspondenteQuando fornecida, essa propriedade precisa ser igual ou maior que o tamanho do disco de origem do qual o snapshot foi criado.
DISK_TYPE
(opcional): URL completo ou parcial do tipo do disco correspondente, por exemplo,PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
ouPROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
IMAGE_PROJECT
: o projeto que contém a imagem. Por exemplo,debian-cloud
IMAGE_FAMILY
: uma família de imagens. Isso cria a instância com a imagem do SO mais recente e não obsoleta nessa família. Por exemplo, se você especificar"sourceImage": "projects/debian-cloud/global/images/family/debian-11"
, o Compute Engine vai criar uma instância usando a versão mais recente da imagem do SO na família de imagens Debian 11.DEVICE_NAME
: opcional: o nome do dispositivo exibido no SO convidado da instância.SNAPSHOT_NAME
: os nomes dos snapshots de disco não inicializáveis correspondentes que você quer restaurar em novos discos na instância
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-08 UTC.
-