Como criar imagens de máquina

Use uma imagem de máquina para armazenar toda a configuração, metadados, permissões e dados de um ou mais discos para uma instância de VM em exibição no Compute Engine. A instância de VM usada para criar uma imagem de máquina é chamada de instância 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 instância de origem.

Antes de começar

Limitações e restrições

Como criar uma imagem de máquina a partir de uma instância

É possível criar imagens de máquina usando o Console do Google Cloud, a ferramenta de linha de comando gcloud ou a API Compute Engine.

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

  • um nome para a imagem de máquina que você quer criar;
  • o nome da instância de origem;
  • a zona em que a instância de origem está localizada;
  • uma descrição opcional;
  • um storageLocation (em inglês) opcional; Se você não especificar uma localização, o local de armazenamento padrão será o local multirregional do Cloud Storage da instância de origem;
  • uma chave de criptografia opcional. É possível escolher entre uma chave gerenciada pelo Google, uma chave do Cloud Key Management Service (Cloud KMS) ou uma chave de criptografia fornecida pelo cliente (CSEK, na sigla em inglês). Se nenhuma chave de criptografia for especificada, as imagens de máquina serão criptografadas usando uma chave gerenciada pelo Google.
  • Se você quiser usar uma imagem de máquina para clonar e replicar uma instância, você precisará remover as informações de SO e do app exclusivas dela antes de gerar a imagem de máquina usando uma instância. Por exemplo, para instâncias de VM do Windows, use GCESysprep a fim de preparar o sistema para a replicação.

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 beta compute machine-images create para criar uma imagem de máquina usando uma instância.

gcloud beta compute machine-images create MACHINE_IMAGE_NAME \
    --source-instance SOURCE_INSTANCE_NAME

Substitua:

  • MACHINE_IMAGE_NAME: nome da imagem de máquina que você quer criar.
  • SOURCE_INSTANCE_NAME: nome da instância 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 beta 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/beta/projects/project-12345/global/machineImages/my-machine-image].
NAME               STATUS
my-machine-image   READY

API

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/beta/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 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