Criar imagens de máquina


Use uma imagem de máquina para armazenar toda a configuração, metadados, permissões e dados de vários discos para uma instância de VM em execução no Compute Engine. A instância de VM usada para criar uma imagem de máquina é chamada de instância de VM de origem.

Para informações sobre quando e como usar imagens de máquina, consulte Imagens de máquina.

Neste documento, você verá as etapas para criar uma imagem de máquina a partir de uma VM de origem.

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

Limitações e restrições

  • É possível compartilhar uma imagem de máquina entre projetos. No entanto, redes VPC compartilhadas não são compatíveis.
  • É possível criar uma imagem de máquina no máximo uma vez a cada 10 minutos. Se você quiser emitir um burst de solicitações para criar várias imagens de máquina de uma instância, faça no máximo seis solicitações em 60 minutos.
  • É possível proteger uma imagem de máquina usando o Cloud Key Management Service (Cloud KMS) ou uma chave de criptografia fornecida pelo cliente (CSEK, na sigla em inglês). A chave de criptografia protege o conteúdo dos discos. No entanto, os metadados não são protegidos.
  • Se você usar uma CSEK para proteger a imagem de máquina, uma cópia completa de todos os dados do disco será armazenada durante a geração dessa imagem. Nos outros casos, os dados do disco são armazenados em cópias diferenciais.
  • Não é possível criar imagens de máquina a partir de VMs de origem que:

    • Tem mais de 200 TB de discos anexados.
    • Não há discos anexados.
    • Têm disco extremo do Hyperdisk anexado.

Propriedades de instância e disco não compatíveis com a imagem de máquina

Quando você cria imagens de máquina a partir de instâncias de VM ou criam instâncias de VM a partir de imagens de máquina, as seguintes propriedades de instância e disco não são preservadas ou restauradas:

  • disks.architecture
  • disks.description
  • disks.labels
  • disks.locked
  • disks.multiWriter
  • disks.onUpdateAction
  • disks.provisionedIops
  • disks.shieldedInstanceInitialState
  • disks.sourceImage
  • disks.sourceImageEncryptionKey
  • disks.sourceInstantSnapshot
  • disks.sourceSnapshot
  • disks.sourceSnapshotEncryptionKey
  • privateIpv6GoogleAccess
  • resourceManagerTags
  • resourcePolicies
  • secure_tag
  • shieldedInstanceConfig

Como criar uma imagem de máquina a partir de uma VM

É possível criar imagens de máquina usando o console do Google Cloud, a Google Cloud CLI ou a REST.

Para criar uma imagem de máquina, você precisa das seguintes informações:

console

  1. No Console do Google Cloud, acesse a página Imagens de máquina.

    Acessar Imagens de máquina

  2. Clique em Criar imagem de máquina.

  3. Especifique um Nome para sua imagem de máquina.

  4. Opcional: forneça uma Descrição.

  5. Selecione a instância da VM de origem.

  6. Opcional: especifique onde armazenar a imagem de máquina. Escolha entre armazenamento multirregional ou regional. Para mais informações sobre a localização, consulte Local de armazenamento de imagens de máquina.

  7. Opcional: selecione um método de Criptografia.

  8. Clique em Criar.

gcloud

Use o comando gcloud compute machine-images create para criar uma imagem de máquina usando uma instância.

gcloud compute machine-images create MACHINE_IMAGE_NAME \
    --source-instance=SOURCE_VM_NAME

Substitua:

  • MACHINE_IMAGE_NAME: nome da imagem de máquina que você quer criar.
  • SOURCE_VM_NAME: nome da instância da VM de origem de que você quer criar a imagem.

Exemplo

É possível usar o comando gcloud a seguir para criar uma imagem de máquina chamada my-machine-image a partir de uma instância de origem chamada my-instance:

gcloud compute machine-images create my-machine-image  \
    --source-instance=my-instance

O processo leva alguns minutos. Quando a imagem de máquina é criada, você recebe uma saída semelhante a esta:

Created [https://www.googleapis.com/compute/v1/projects/project-12345/global/machineImages/my-machine-image].
NAME               STATUS
my-machine-image   READY

REST

Na API, crie uma solicitação POST para o método machineimages.insert. No corpo da solicitação, inclua esta solicitação POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/machineImages

{
  "name": "MACHINE_IMAGE_NAME",
  "sourceInstance": "SOURCE_INSTANCE_URL"
}

Substitua:

  • PROJECT_ID: ID do projeto.
  • MACHINE_IMAGE_NAME: nome da imagem de máquina que você quer criar.
  • SOURCE_INSTANCE_URL: URL completo ou parcial da instância da VM de origem que você quer usar para criar a imagem de máquina. Por exemplo, se você tiver uma instância de origem chamada my-instance em um projeto chamado myProject. Os seguintes URLs serão válidos:

    • https://www.googleapis.com/compute/v1/projects/myProject/global/instances/my-instance
    • projects/myProject/global/instances/my-instance
    • global/instances/my-instance

A seguir