Crie imagens de máquina


Use uma imagem de máquina para armazenar todas as configurações, 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 obter informações sobre quando e como usar imagens de máquina, consulte Imagens de máquina .

Este documento descreve as etapas para criar uma imagem de máquina a partir de uma instância de VM de origem.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

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

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Limitações e restrições

  • Você pode criar uma imagem de máquina de uma instância específica no máximo seis vezes a cada 60 minutos.
  • Você pode proteger uma imagem de máquina usando o Cloud Key Management Service (Cloud KMS) ou uma chave de criptografia fornecida pelo cliente (CSEK) . A chave de criptografia protege o conteúdo dos discos. No entanto, os metadados não estão protegidos.
  • Se você usar um CSEK para proteger a imagem da sua máquina, uma cópia completa de todos os dados do disco será armazenada durante a geração da imagem da máquina. Em todos os outros cenários, 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:

    • Ter mais de 200 TB de discos conectados.
    • Não tenha nenhum disco anexado.
    • Tenha quaisquer volumes de hiperdisco anexados.
    • Use um tipo de máquina C3D, H3, A4, A3 ou Z3

Propriedades de instância e disco não suportadas pela imagem de máquina

Quando você cria imagens de máquina a partir de instâncias de VM ou cria 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

Criando uma imagem de máquina a partir de uma VM

Você pode criar imagens de máquina usando o console do Google Cloud , a CLI do Google Cloud ou REST .

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

  • Um nome para a imagem de máquina que você deseja criar.
  • O nome da instância de VM de origem.
  • A zona em que a instância de VM de origem está localizada.
  • Uma descrição opcional.
  • Um storageLocation opcional. Se você não especificar um local, o local de armazenamento padrão será o local multirregional do Cloud Storage da instância de VM de origem.
  • Uma chave de criptografia opcional. Você pode escolher entre um Google-owned and Google-managed encryption key, uma chave do Cloud Key Management Service (Cloud KMS) ou uma chave de criptografia fornecida pelo cliente (CSEK) . Se nenhuma chave de criptografia for especificada, as imagens da máquina serão criptografadas usando um Google-owned and Google-managed encryption key.
  • Se você quiser usar uma imagem de máquina para clonagem e criação de snapshots de instâncias , remova as informações do sistema operacional e do aplicativo exclusivas da instância antes de gerar a imagem de máquina a partir de uma instância. Por exemplo, para instâncias de VM do Windows, use GCESysprep para preparar o sistema para replicação.

Console

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

    Vá para imagens da máquina

  2. Clique em Criar imagem de máquina .

  3. Especifique um nome para a imagem da sua 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 da máquina. Escolha entre armazenamento multirregional ou regional . Para obter mais informações sobre 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 a partir de uma instância.

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

Substitua o seguinte:

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

Exemplo

Por exemplo, você pode usar o seguinte comando gcloud 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 da máquina é criada, você obtém 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

DESCANSAR

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

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

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

Substitua o seguinte:

  • PROJECT_ID : ID do projeto .
  • MACHINE_IMAGE_NAME : nome da imagem da máquina que deseja criar.
  • SOURCE_INSTANCE_URL : URL completo ou parcial da instância de VM de origem que você deseja usar para criar a imagem da máquina. Por exemplo, se você tiver uma instância de origem chamada my-instance em um projeto chamado myProject . Os seguintes URLs sã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

O que vem a seguir?