Para aceder aos dados capturados numa imagem instantânea, tem de restaurar ou criar um novo disco a partir da imagem instantânea.
Esta página explica como criar um disco a partir de um instantâneo. Depois de criar o disco, pode usá-lo associando-o a uma máquina virtual (VM).
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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 Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções e autorizações necessárias
Para receber as autorizações de que precisa para criar um disco a partir de uma captura instantânea instantânea, peça ao seu administrador que lhe conceda as seguintes funções do IAM no projeto:
-
Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Para estabelecer ligação a uma VM que pode ser executada como uma conta de serviço:
Utilizador da conta de serviço (v1) (
roles/iam.serviceAccountUser
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para criar um disco a partir de uma captura instantânea. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar um disco a partir de um instantâneo instantâneo:
-
Para criar um disco:
-
compute.disks.create
no projeto de destino do novo disco -
compute.instantSnapshots.useReadOnly
no instantâneo de origem
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Restrições
Aplicam-se as seguintes restrições:
Quando cria um disco a partir de um instantâneo, o novo disco tem sempre o mesmo tipo, localização de armazenamento e encriptação que o disco de origem do instantâneo.
Não pode criar uma VM diretamente a partir de um instantâneo. Tem de criar um disco a partir do instantâneo e, em seguida, usar o novo disco para criar uma VM.
Se o disco de origem do instantâneo usar chaves de encriptação geridas pelo cliente ou fornecidas pelo cliente, tem de fornecer a mesma chave de encriptação quando criar um novo disco a partir do instantâneo.
Considere este exemplo. Imagine que tem um disco
DISK-1
encriptado com uma chave de encriptação fornecida pelo cliente (CSEK)KEY-1
. Também tem um instantâneo,IS-1
, criado a partir deDISK-1
. Para criar um novo disco a partir deIS-1
, tem de fornecer a mesma chave,KEY-1
, quando criar o novo disco.Se o disco estiver encriptado com chaves de encriptação geridas pelo cliente (CMEK), só tem de fornecer a chave se usar a REST ou a CLI gcloud para criar o disco. Se usar aGoogle Cloud consola, não precisa de especificar a chave de encriptação.
Crie um disco a partir de um instantâneo
Um instantâneo instantâneo é encriptado com a mesma encriptação que o respetivo disco de origem. Os passos para criar um disco a partir de um instantâneo dependem da forma como o disco de origem do instantâneo está encriptado.
Cada disco de origem é encriptado com um dos seguintes métodos:
- Google-owned and Google-managed encryption keys. Esta é a predefinição.
- Chaves de encriptação geridas pelo cliente (CMEK)
- Chaves de encriptação fornecidas pelos clientes (CSEK).
Para saber como um disco específico está encriptado, consulte o artigo Veja informações sobre a encriptação de um disco.
Crie um disco a partir de um instantâneo encriptado com a encriptação predefinida
Pode criar um disco a partir de uma captura instantânea com a CLI gcloud, a Google Cloud consola ou a API REST.
Consola
Encontre a foto instantânea que quer restaurar:
Na Google Cloud consola, aceda à página Instantâneos.
Clique no separador Capturas instantâneas.
Na coluna Nome, clique no nome da captura instantânea que quer restaurar.
Clique em Criar disco.
No campo Nome, introduza um novo nome para o disco.
Opcional: no campo Descrição, introduza detalhes adicionais.
Verifique se o tipo de origem do disco é Instantâneo.
Na lista Instantâneo de origem, escolha o instantâneo.
Opcional: configure personalizações adicionais para o disco.
- Introduza um tamanho: no campo Tamanho, especifique um tamanho para o disco em GB. O tamanho tem de ser igual ou superior ao tamanho do disco de origem da captura de ecrã.
- Agendar cópias de segurança: se quiser que o Compute Engine crie snapshots padrão deste novo disco de acordo com um agendamento, selecione a caixa de verificação Ativar agendamento de snapshots e escolha um agendamento de snapshots. Caso contrário, desmarque a caixa de verificação.
Opcional: para organizar o seu projeto, adicione uma ou mais etiquetas.
Para criar o disco, clique em Criar.
gcloud
Use o comando
gcloud compute disks create
. Os argumentos que especificar dependem de estar a criar um disco zonal ou regional.Crie um disco zonal
Especifique a zona com o indicador
--zone
:gcloud compute disks create DISK_NAME --zone=ZONE \ --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME
Substitua o seguinte:
DISK_NAME
: o nome do novo disco.ZONE
: a zona do novo disco, por exemplo,europe-west1-a
.SOURCE_INSTANT_SNAPSHOT_NAME
: o nome do resumo instantâneo de origem.
Crie um disco regional
Especifique a região com
--region
e as zonas de replicação de destino do novo disco com--replica-zones
.gcloud compute disks create DISK_NAME \ --region=REGION \ --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \ --replica-zones=ZONE1,ZONE2
Substitua o seguinte:
DISK_NAME
: o nome do novo disco.REGION
: a região em que o disco regional deve residir, por exemplo:europe-west1
.SOURCE_INSTANT_SNAPSHOT_NAME
: o nome do resumo instantâneo de origem.ZONE1,ZONE2
: as zonas na região onde as duas réplicas de disco estão localizadas, por exemplo:europe-west1-b,europe-west1-c
.
REST
Para criar um disco zonal ou regional a partir de um instantâneo, use o método
disks.insert
. O novo disco tem de ser do mesmo tipo que o disco de origem do instantâneo. Por exemplo, não pode criar um disco regional a partir de uma captura de ecrã de um disco zonal.Crie um disco zonal
Faça um pedido
POST
, especificando o instantâneo de origem.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/SOURCE_ZONE/disks/insert { "name": "NEW_DISK_NAME", "sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME" }
Substitua o seguinte:
PROJECT
: o projeto no qual criar o novo disco.SOURCE_ZONE
: a zona onde o instantâneo está localizado, por exemplo,us-central1-a
. O disco é criado nesta zona.NEW_DISK_NAME
: um nome exclusivo para o novo disco.SOURCE_INSTANT_SNAPSHOT_NAME
: o nome do instantâneo instantâneo de origem.
Crie um disco regional
Faça um pedido
POST
, especificando o instantâneo de origem e as zonas para as quais o disco deve ser replicado.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/region/SOURCE_REGION/disks/insert { "name": "NEW_DISK_NAME", "sourceInstantSnapshot": "projects/PROJECT/regions/SOURCE_REGION/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT/zones/ZONE1", "projects/PROJECT/zones/ZONE2" ] }
Substitua o seguinte:
PROJECT
: o projeto no qual criar o novo disco.SOURCE_REGION
: a região onde o instantâneo está localizado. O disco é criado nesta região.NEW_DISK_NAME
: um nome exclusivo para o novo disco.SOURCE_INSTANT_SNAPSHOT_NAME
: o nome da captura de ecrã instantânea de origem.ZONE1,ZONE2
: as zonas na região para as duas réplicas de disco, por exemplo,europe-west1-b
,europe-west1-c
.
Resposta do pedido de API
Se o pedido
POST
for bem-sucedido, o corpo da resposta é um objeto que pode sondar para obter o estado da criação do disco. Consulte Processar respostas da API para mais informações.Crie um disco a partir de um instantâneo instantâneo encriptado com CMEK ou CSEK
Consola
Se o instantâneo usar a encriptação predefinida da Google ou CMEK,a Google Cloud consola fornece automaticamente a chave de encriptação quando cria um disco a partir do instantâneo. Caso contrário, se a captura instantânea estiver encriptada com CSEK, tem de fornecer a chave de encriptação para criar um disco.
Siga os passos na secção Encriptação gerida pela Google, especificando a chave de encriptação através destas instruções:
- Na secção Desencriptação, introduza a chave de encriptação no campo Chave de encriptação.
- Se a chave estiver envolvida com a chave RSA pública, selecione Chave envolvida.
gcloud
Use o comando
gcloud compute disks create
.Se o disco de origem estiver encriptado com CMEK, use o parâmetro
--kms-key
para indicar o nome da chave.Se o disco de origem estiver encriptado com CSEK, use o parâmetro
--csek-key-file
para especificar a chave de encriptação do disco de origem.CMEK
Para criar um disco zonal a partir de um instantâneo instantâneo encriptado com CMEK, use o seguinte comando:
gcloud compute disks create NEW_DISK_NAME \ --zone=SOURCE_ZONE \ --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \ --kms-key=projects/KMS_PROJECT_NAME/locations/KEYRING_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Substitua o seguinte:
NEW_DISK_NAME
: o nome do novo disco.SOURCE_ZONE
: a zona onde o resumo instantâneo está armazenado, por exemplo,europe-west1-a
.-
SOURCE_INSTANT_SNAPSHOT_NAME
: o nome do instantâneo instantâneo de origem. KMS_PROJECT_NAME
: o projeto que contém a chave.KEYRING_LOCATION
: a localização do conjunto de chaves ao qual a chave pertence. Se o conjunto de chaves for global, especifiqueglobal
. Caso contrário, especifique o nome da região onde o conjunto de chaves está localizado, por exemplo,us-west1
.KEY_RING_NAME
: o nome do conjunto de chaves que inclui a chave, por exemplo,key-ring-1
.KEY_NAME
: o nome da chave usada para encriptar o disco.
CSEK
Para criar um disco zonal a partir de um instantâneo instantâneo encriptado com CSEK, use o seguinte comando:
gcloud compute disks create NEW_DISK_NAME \ --zone=SOURCE_ZONE \ --source-instant-snapshot=SOURCE_INSTANT_SNAPSHOT_NAME \ --csek-key-file=PATH_TO_CSEK_JSON_FILE
Substitua o seguinte:
NEW_DISK_NAME
: o nome do novo disco.SOURCE_ZONE
: a zona onde o resumo instantâneo está armazenado, por exemplo,europe-west1-a
.-
SOURCE_INSTANT_SNAPSHOT_NAME
: o nome do instantâneo instantâneo de origem. CSEK_JSON_FILE
: Caminho para um ficheiro JSON que contém a chave. Veja um exemplo do formato de ficheiro CSEK.
Para criar um disco regional, substitua a flag
--zone
no exemplo anterior pelas seguintes flags:--region
: a região do novo disco--replica-zones
: as zonas na região para as duas réplicas de disco.
REST
Para criar um disco zonal ou regional a partir de uma captura instantânea encriptada com CMEK ou CSEK, faça um pedido
POST
ao métododisks.insert
usando as propriedades indicadas na secção Encriptação gerida pela Google.Além disso, forneça a chave de encriptação do disco de origem com o campo
diskEncryptionKey
. As propriedades do campodiskEncryptionKey
dependem de o disco estar ou não encriptado com CMEK ou CSEK.Os exemplos seguintes mostram como criar um novo disco zonal para cada tipo de encriptação.
CMEK
No corpo do pedido, especifique o nome da chave com a propriedade
diskEncryptionKey.kmsKeyName
:{ "name": "NEW_DISK_NAME", "sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/SOURCE_INSTANT_SNAPSHOT_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT/locations/LOCATION/keyRings/KEYRING_LOCATION/cryptoKeys/KEY_NAME" } }
Substitua o seguinte:
NEW_DISK_NAME
: um nome exclusivo para o novo disco.PROJECT
: o projeto no qual criar o novo disco.SOURCE_ZONE
: a zona onde o instantâneo está localizado, por exemplo,us-central1-a
. O disco é criado nesta zona.SOURCE_INSTANT_SNAPSHOT_NAME
: o nome da captura de ecrã instantânea de origem.KMS_PROJECT
: o projeto que contém a chave.LOCATION
: a localização do conjunto de chaves ao qual a chave pertence. Se o conjunto de chaves for global, especifiqueglobal
. Caso contrário, especifique o nome da região onde o conjunto de chaves está localizado, por exemplo,us-west1
.KEY_RING
: o nome do conjunto de chaves que inclui a chave, por exemplo,key-ring-1
.KEY
: o nome da chave usada para encriptar o disco.
CSEK
O corpo do pedido depende de a CSEK usada para encriptar a imagem instantânea estar ou não encriptada com RSA.
Para usar uma chave não processada (não encriptada com RSA), especifique a chave na propriedade
diskEncryptionKey.rawKey
do corpo do pedido:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/SOURCE_ZONE/disks/insert { "name": "NEW_DISK_NAME", "sourceInstantSnapshot": "projects/PROJECT/zones/SOURCE_ZONE/instantSnapshots/INSTANT_SNAPSHOT_NAME, "diskEncryptionKey": { "rawKey": "RAW_ENCRYPTION_KEY" } }
Substitua o seguinte pelos valores correspondentes:
PROJECT
: o projeto no qual criar o novo disco.SOURCE_ZONE
: a zona onde o instantâneo está localizado, por exemplo,us-central1-a
. O disco é criado nesta zona.NEW_DISK_NAME
: um nome exclusivo para o novo disco.SOURCE_INSTANT_SNAPSHOT_NAME
: o nome do instantâneo instantâneo de origem.RAW_ENCRYPTION_KEY
: a chave usada para encriptar a captura de ecrã instantânea e o respetivo disco de origem, por exemplo,SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=
.
Para usar uma chave encriptada com RSA, modifique o exemplo anterior da seguinte forma:
Faça um pedido
POST
ao métododisks.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/insert
Especifique a chave na propriedade
diskEncryptionKey.rsaEncryptedKey
do corpo do pedido:"diskEncryptionKey": { "rsaEncryptedKey": "RSA_ENCRYPTED_KEY" }
Substitua
RSA_ENCRYPTED_KEY
pela sua chave encriptada.Resposta do pedido de API
Se o pedido
POST
for bem-sucedido, o corpo da resposta é um objeto que pode sondar para obter o estado da criação do disco. Consulte Processar respostas da API para mais informações.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-09-19 UTC.
-