É possível criar imagens personalizadas com base em discos, imagens, snapshots ou imagens de origem armazenados no Cloud Storage e usá-las para criar instâncias de máquina virtual (VM, na sigla em inglês). As imagens personalizadas são ideais para situações em que você criou e modificou um disco de inicialização permanente para determinado estado e precisa salvar esse estado para criar VMs.
Também é possível usar a ferramenta de importação de disco virtual para importar imagens do disco de inicialização dos sistemas atuais para o Compute Engine e adicioná-las à lista de imagens personalizadas.
Antes de começar
- Leia o documento Imagens.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma 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:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Go
Para usar os exemplos de Go nesta 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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para usar os exemplos do Java nesta 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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para usar os exemplos do Node.js nesta 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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para usar os exemplos do Python nesta 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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Papéis e permissões necessárias
Para receber as permissões necessárias para criar uma imagem personalizada, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1) -
Para se conectar a uma instância que tem uma conta de serviço anexada:
Usuário da conta de serviço (v1) (
roles/iam.serviceAccountUser)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar uma imagem personalizada. Para acessar 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 criar uma imagem personalizada:
-
compute.images.create -
Para criar uma imagem personalizada de um disco:
compute.disks.useReadOnlyno disco-
iam.serviceAccounts.actAsna conta de serviço da instância, se o disco for o disco de inicialização de uma instância com uma conta de serviço anexada
-
Para criar uma imagem personalizada com base em uma imagem existente:
compute.images.useReadOnlyna imagem de origem -
Para criar uma imagem personalizada com base em um snapshot padrão ou snapshot de arquivamento:
compute.snapshots.useReadOnlyno snapshot de origem -
Para adicionar um rótulo à nova imagem:
compute.images.setLabelsno rótulo
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar uma imagem personalizada
Nesta seção, descrevemos como criar uma imagem personalizada em uma VM do Linux. Para informações sobre como criar uma imagem do Windows, consulte Como criar uma imagem do Windows.
Selecione um local de armazenamento de imagens
Ao criar uma imagem personalizada, especifique o local dela no Cloud Storage, excluindo os locais birregionais. Ao especificar o local de armazenamento de imagens, você tem como atender aos seus requisitos normativos e de conformidade referentes à localidade de dados, bem como suas necessidades de alta disponibilidade, garantindo redundância entre as regiões. Para criar, modificar
e excluir imagens armazenadas no Cloud Storage, você precisa ter
roles/compute.storageAdmin.
O recurso de local de armazenamento é opcional. Se um local não for selecionado,
o Compute Engine armazenará a imagem na multirregião mais próxima da
origem dela. Por exemplo, ao criar uma imagem de um disco de origem
localizado em us-central1 e se você não especifica um local para a imagem personalizada,
o Compute Engine armazena a imagem na us multirregional.
Se a imagem não estiver disponível em uma região em que você está criando uma VM, o Compute Engine armazenará a imagem nessa região na primeira vez que você criar uma VM.
Para ver o local em que uma imagem está armazenada, use o comando
images describe
de gcloud compute:
gcloud compute images describe IMAGE_NAME \
--project=PROJECT_IDSubstitua:
IMAGE_NAME: o nome da imagem;
PROJECT_ID: o ID do projeto que contém a imagem.
Todas as imagens atuais antes do lançamento desse recurso permanecem onde estão, a única mudança é que é possível ver o local das imagens de todas as imagens. Se você tiver uma imagem atual que queira mover, recrie-a no novo local.
Prepare a VM para uma imagem
Crie uma imagem de um disco mesmo com ele anexado a uma instância de VM em execução. No entanto, a imagem torna-se mais confiável se você a coloca em um estado mais fácil para a captura da imagem. Veja nesta seção como preparar o disco de inicialização da imagem.
Minimizar a gravação de dados no disco permanente
Use um dos seguintes processos para reduzir as gravações de disco:
Pare a VM para que ela possa ser encerrada e parar de gravar dados no disco permanente.
Se não for possível parar a VM antes de criar a imagem, minimize a quantidade de gravações no disco e sincronize o sistema de arquivos. Para minimizar a gravação no disco permanente, siga estas etapas:
- Pause os apps ou processos do sistema operacional que gravam dados nesse disco permanente.
- Execute uma limpeza de app no disco, se necessário. Por exemplo, o MySQL tem uma instrução
FLUSH. Outros aplicativos talvez usem processos semelhantes. - Pare os aplicativos para que não gravem mais dados no disco permanente.
- Execute
sudo sync.
Desativar a opção de exclusão automática do disco
Por padrão, a opção de exclusão automática está ativada nos discos de inicialização. Antes de criar uma imagem de um disco, desative a exclusão automática para evitar que ele seja excluído automaticamente quando você excluir a VM.Para desativar a exclusão automática do disco, use um dos seguintes métodos:
Console
No console do Google Cloud , acesse a página Instâncias de VM.
Clique no nome da VM que está sendo usada como origem para criar uma imagem.
A página Detalhes da instância de VM será exibida.
Clique em Editar.
Na seção Disco de inicialização, em Regra de exclusão, verifique se a opção Manter disco está selecionada.
Clique em Salvar.
gcloud
Na Google Cloud CLI, use o
comando gcloud compute instances set-disk-auto-delete
para desativar a opção de exclusão automática do disco.
gcloud compute instances set-disk-auto-delete VM_NAME \
--no-auto-delete \
--disk=SOURCE_DISK
Substitua:
VM_NAME: o nome da instância de VM.SOURCE_DISK: o nome do disco do qual você quer criar a imagem.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
REST
Para definir a opção de exclusão automática de um disco, faça uma solicitação POST para o
método instances.setDiskAutoDelete.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setDiskAutoDelete?autoDelete=false&deviceName=SOURCE_DISK
Substitua:
PROJECT_ID: o ID do projeto que contém a VM de origem.ZONE: é a zona em que a VM de origem está localizadaVM_NAME: o nome da VM de origem.SOURCE_DISK: o nome de dispositivo do disco que você quer usar como base para criar a imagem.
Depois de preparar a VM, crie a imagem.
Criar a imagem
Crie imagens de disco com base nas seguintes origens:- Um disco permanente, mesmo que esteja anexado a uma VM
- Um snapshot de um disco permanente
- Outra imagem no projeto
- Uma imagem compartilhada de outro projeto
- Uma imagem RAW compactada no Cloud Storage
É possível criar uma imagem do disco uma vez a cada 10 minutos. Se você quiser emitir um burst de solicitações para criar uma imagem do disco, será possível emitir no máximo 6 solicitações em 60 minutos. Para mais informações, consulte Limites de frequência de snapshots.
Console
No console do Google Cloud , acesse a página Criar uma imagem.
Especifique o Nome da imagem.
Especifique a Origem de onde você quer criar uma imagem. Pode ser um disco permanente, um snapshot, outra imagem ou um arquivo disk.raw no Google Cloud Storage.
Se você está criando uma imagem de um disco anexado a uma VM em execução, selecione Manter a instância em execução para confirmar que quer criar a imagem durante a execução da VM. É possível preparar sua VM antes de criar a imagem.
Na lista suspensa Com base na localização do disco de origem (padrão), especifique o local para armazenar a imagem. Por exemplo, especifique
uspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.Opcional: especifique as propriedades da imagem.
- Família: a família de imagens à qual esta nova imagem pertence.
- Descrição: uma descrição para a imagem personalizada.
- Rótulo: um rótulo para agrupar recursos.
Especifique a chave de criptografia. É possível escolher entre uma 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 serão criptografadas usando um Google-owned and Google-managed encryption key.
Clique em Criar para criar a imagem.
gcloud
Na CLI do Google Cloud, use o
comando gcloud compute images create
para criar uma imagem personalizada.
Criar uma imagem de um disco de origem:
A sinalização --force é uma sinalização opcional que permite criar a
imagem a partir de uma instância em execução. Por padrão, não é possível criar imagens de instâncias em
execução. Especifique essa sinalização apenas se tiver certeza de que quer criar
a imagem enquanto a instância está sendo executada.
gcloud compute images create IMAGE_NAME \
--source-disk=SOURCE_DISK \
--source-disk-zone=ZONE \
[--family=IMAGE_FAMILY] \
[--storage-location=LOCATION] \
[--force]
Substitua:
IMAGE_NAME: um nome para a nova imagem.SOURCE_DISK: o disco pelo qual você quer criar a imagemZONE: a zona em que o disco está localizado.IMAGE_FAMILY: (opcional): uma sinalização que especifica a qual família de imagens essa imagem pertenceLOCATION(opcional): uma sinalização que permite designar a região ou a multirregião em que a imagem está armazenada. Por exemplo, especifiqueuspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
Criar uma imagem com base em imagens de origem:
gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ [--source-image-project=IMAGE_PROJECT] \ [--family=IMAGE_FAMILY] \ [--storage-location=LOCATION]
Substitua:
IMAGE_NAME: um nome para a nova imagem.SOURCE_IMAGE: a imagem que você quer usar como base para criar a nova imagem.IMAGE_PROJECT(opcional): o projeto em que a imagem de origem está localizada. Use esse parâmetro se quiser copiar uma imagem de outro projeto.IMAGE_FAMILY(opcional): a família de imagens à qual esta nova imagem pertence.LOCATION(opcional): permite designar a região ou a multirregião em que a imagem está armazenada. Por exemplo, especifiqueuspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
Criar uma imagem de um snapshot:
gcloud compute images create IMAGE_NAME \
--source-snapshot=SOURCE_SNAPSHOT \
[--storage-location=LOCATION]
Substitua:
IMAGE_NAME: um nome para a nova imagem.SOURCE_SNAPSHOT: o snapshot que você quer usar como base para criar a imagem.LOCATION(opcional): uma sinalização que permite designar a região ou a multirregião em que a imagem está armazenada. Por exemplo, especifiqueuspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
Ver o local de uma imagem:
Use o comando
gcloud compute images describe
para ver o local de uma imagem.
gcloud compute images describe IMAGE_NAME
Substitua IMAGE_NAME pelo nome da imagem que
você quer analisar.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
REST
Faça uma solicitação POST para o método
images().insert,
um URL no corpo da solicitação que aponta para o objeto de origem com que
você quer criar a imagem. Especifique URLs para seus recursos usando o próprio ID do projeto e nomes de recursos.
Criar uma imagem de um disco permanente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"name": "IMAGE_NAME",
"sourceDisk": "/zones/ZONE/disks/SOURCE_DISK",
("storageLocations": "LOCATION",)
("forceCreate": "TRUE")
}
Substitua:
PROJECT_ID: o ID do projeto que contém a imagem.IMAGE_NAME: um nome para a nova imagem que você quer criar.ZONE: a zona em que o disco de origem está localizado.SOURCE_DISK: o disco que você quer usar como base para criar a imagem.LOCATION(opcional): o local de armazenamento da imagem. Por exemplo, especifiqueuspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
O parâmetro opcional forceCreate permite criar a imagem de uma
VM em execução. Especifique TRUE apenas se tiver certeza de que quer
criar a imagem de uma VM em execução. A configuração forceCreate
padrão é FALSE.
Criar uma imagem de outra imagem:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"name": "IMAGE_NAME",
"sourceImage": "/global/images/SOURCE_IMAGE",
("storageLocations": "LOCATION")
}
Substitua:
PROJECT_ID: o projeto que contém a imagem.IMAGE_NAME: um nome para a nova imagem que você quer criar.SOURCE_IMAGE: a imagem que você quer usar como base para criar a imagem.LOCATION(opcional): o local de armazenamento da imagem. Por exemplo, especifiqueuspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
Criar uma imagem de um snapshot:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"name": "IMAGE_NAME",
"sourceSnapshot": "(/SOURCE_PROJECT_ID)/global/snapshots/SOURCE_SNAPSHOT",
("storageLocations": "LOCATION")
}
Substitua:
PROJECT_ID: o projeto que contém a imagem.IMAGE_NAME: um nome para a nova imagem que você quer criar.SOURCE_PROJECT_ID(opcional): o projeto em que o snapshot está localizado. É necessário ter permissão para acessar o recurso de snapshot nesse projeto.SOURCE_SNAPSHOT: o snapshot que você quer usar como base para criar a imagem.LOCATION(opcional): o local de armazenamento da imagem. Por exemplo, especifiqueuspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
Para saber mais sobre como adicionar imagens, consulte a referência de imagens.
Compartilhar a imagem
Depois de criar uma imagem personalizada, é possível compartilhá-la entre projetos. Se você permitir que usuários de outro projeto usem suas imagens personalizadas, elas poderão acessar essas imagens especificando o projeto de imagem na solicitação.
Ativar recursos do sistema operacional convidado
Use os recursos do sistema operacional (SO) convidado para configurar a rede, a segurança, o armazenamento e as opções de SO a seguir em imagens personalizadas. Imagens personalizadas com esses recursos configurados são usadas como discos de inicialização.
gcloud
Use o comando gcloud compute images
create com
a sinalização --guest-os-features para criar uma nova imagem personalizada a partir de uma
imagem personalizada atual.
gcloud compute images create IMAGE_NAME \
--source-image=SOURCE_IMAGE \
[--source-image-project=IMAGE_PROJECT] \
--guest-os-features="FEATURES,..." \
[--storage-location=LOCATION]
Substitua:
IMAGE_NAME: o nome da nova imagemSOURCE_IMAGE: imagem que servirá como base para a novaIMAGE_PROJECT(opcional): projeto que contém a imagem de origemUse esse parâmetro para copiar uma imagem de outro projeto.
FEATURES: tags do SO convidado para ativar os recursos das VMs criadas a partir de imagensPara adicionar vários valores, use vírgulas para separar os valores. Defina um ou mais dos seguintes valores:
-
VIRTIO_SCSI_MULTIQUEUE. Use em dispositivos SSD locais como alternativa ao NVMe. Para mais informações sobre imagens compatíveis com SCSI, consulte Como escolher uma interface.Para imagens do Linux, é possível ativar o SCSI multifilas em dispositivos SSD locais em imagens com versões de kernel 3.17 ou posteriores. Para imagens do Windows, é possível ativar o SCSI de várias filas em dispositivos SSD locais em imagens com o driver do Windows do Compute Engine versão 1.2.
-
WINDOWS. Inclua tags nas imagens de inicialização personalizadas do Windows Server como imagens do Windows. -
MULTI_IP_SUBNET. Configure interfaces com uma máscara de rede diferente de/32. Para mais informações sobre várias interfaces de rede e como elas funcionam, consulte Visão geral e exemplos de várias interfaces de rede. -
UEFI_COMPATIBLE. Inicialização com firmware UEFI e os seguintes recursos de VM protegida:- Inicialização segura: desativada por padrão
- Módulo da plataforma virtual confiável (vTPM): ativado por padrão
- Monitoramento de integridade: ativado por padrão
-
GVNIC. Compatível com larguras de banda de rede maiores de até 50 Gbps a velocidades de 100 Gbps. Para mais informações, consulte Como usar a NIC virtual do Google. -
IDPF. Suporte a interfaces de rede da função de caminho de dados de infraestrutura (IDPF) da Intel. -
SEV_CAPABLEouSEV_SNP_CAPABLE. Use essas tags se quiser usar sua imagem em uma instância de VM confidencial com suporte para virtualização criptografada segura (SEV) da AMD ou virtualização criptografada segura com paginação aninhada segura (SEV-SNP) da AMD. Para verificar se o kernel é compatível com AMD SEV ou AMD SEV-SNP, consulte Detalhes do kernel do Linux. -
SEV_LIVE_MIGRATABLE_V2. Use essa tag se quiser usar sua imagem em uma instância de VM confidencial que ofereça suporte à migração em tempo real no AMD SEV. Para verificar se o kernel é compatível com a migração em tempo real, consulte Detalhes do kernel do Linux. -
TDX_CAPABLE. Use essa tag se quiser usar sua imagem em uma instância de VM confidencial com suporte para Intel Trust Domain Extensions (TDX). Para verificar se o kernel é compatível com o Intel TDX, consulte Detalhes do kernel do Linux.
-
LOCATION(opcional): região ou multirregião em que a imagem será armazenadaPor exemplo, especifique
uspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.
REST
Use o método images().insert
com a sinalização guestOsFeatures para criar uma nova imagem personalizada a partir de uma
imagem personalizada atual.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"name": "IMAGE_NAME",
"sourceImage": "(projects/IMAGE_PROJECT)/global/images/SOURCE_IMAGE",
("storageLocations": "LOCATION",)
"guestOsFeatures": [
{
"type": "FEATURES"
}
]
}
Substitua:
PROJECT_ID: ID do projeto em que a nova imagem será criadaIMAGE_NAME: um nome para a nova imagem.IMAGE_PROJECT(opcional): projeto que contém a imagem de origemUse esse parâmetro para copiar uma imagem de outro projeto.
SOURCE_IMAGE: imagem que servirá como base para a novaLOCATION(opcional): uma região ou multirregião em que a imagem será armazenadaPor exemplo, especifique
uspara armazenar a imagem na multirregiãousouus-central1para armazená-la na regiãous-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.FEATURES: tags do SO convidado para ativar os recursos das VMs criadas a partir de imagensPara adicionar vários valores, use vírgulas para separar os valores. Defina um ou mais dos seguintes valores:
-
VIRTIO_SCSI_MULTIQUEUE. Use em dispositivos SSD locais como alternativa ao NVMe. Para mais informações sobre imagens compatíveis com SCSI, consulte Como escolher uma interface.Para imagens do Linux, é possível ativar o SCSI multifilas em dispositivos SSD locais em imagens com versões de kernel 3.17 ou posteriores. Para imagens do Windows, é possível ativar o SCSI de várias filas em dispositivos SSD locais em imagens com o driver do Windows do Compute Engine versão 1.2.
-
WINDOWS. Inclua tags nas imagens de inicialização personalizadas do Windows Server como imagens do Windows. -
MULTI_IP_SUBNET. Configure interfaces com uma máscara de rede diferente de/32. Para mais informações sobre várias interfaces de rede e como elas funcionam, consulte Visão geral e exemplos de várias interfaces de rede. -
UEFI_COMPATIBLE. Inicialização com firmware UEFI e os seguintes recursos de VM protegida:- Inicialização segura: desativada por padrão
- Módulo da plataforma virtual confiável (vTPM): ativado por padrão
- Monitoramento de integridade: ativado por padrão
-
GVNIC. Compatível com larguras de banda de rede maiores de até 50 Gbps a velocidades de 100 Gbps. Para mais informações, consulte Como usar a NIC virtual do Google. -
IDPF. Suporte a interfaces de rede da função de caminho de dados de infraestrutura (IDPF) da Intel. -
SEV_CAPABLEouSEV_SNP_CAPABLE. Use essas tags se quiser usar sua imagem em uma instância de VM confidencial com suporte para virtualização criptografada segura (SEV) da AMD ou virtualização criptografada segura com paginação aninhada segura (SEV-SNP) da AMD. Para verificar se o kernel é compatível com AMD SEV ou AMD SEV-SNP, consulte Detalhes do kernel do Linux. -
SEV_LIVE_MIGRATABLE_V2. Use essa tag se quiser usar sua imagem em uma instância de VM confidencial que ofereça suporte à migração em tempo real no AMD SEV. Para verificar se o kernel é compatível com a migração em tempo real, consulte Detalhes do kernel do Linux. -
TDX_CAPABLE. Use essa tag se quiser usar sua imagem em uma instância de VM confidencial com suporte para Intel Trust Domain Extensions (TDX). Para verificar se o kernel é compatível com o Intel TDX, consulte Detalhes do kernel do Linux.
-
Evite informações sensíveis em variáveis UEFI
As variáveis da Unified Extensible Firmware Interface (UEFI) são variáveis de par de chave-valor usadas pelo firmware da UEFI durante a inicialização para iniciar o sistema operacional de uma VM. Ao contrário das máquinas físicas, em que as variáveis são armazenadas em um chip de hardware, o Compute Engine virtualiza o armazenamento dessas variáveis. Assim, em muitos sistemas operacionais, todos os aplicativos e usuários podem acessar essas variáveis e informações.
Por isso, o Google recomenda que você não grave nem armazene informações sensíveis ou de identificação pessoal, como senhas ou chaves privadas, em variáveis UEFI.
Considerações sobre imagens de Arm
O Google oferece as séries de máquinas A4X, C4A e Tau T2A, que são executadas em plataformas de CPU Arm. É possível iniciar uma VM com uma dessas séries de máquinas e usar essa VM de origem para criar uma imagem do Arm. O processo de criação de uma imagem de Arm personalizada é idêntico ao de uma imagem x86.
Para ajudar os usuários a diferenciar entre imagens de Arm e x86, as imagens de Arm
terão um campo architecture definido como ARM64. Os valores possíveis para esse
campo são:
ARCHITECTURE_UNSPECIFIEDX86_64ARM64
Os usuários podem filtrar esse campo para encontrar imagens com base em x86 ou em Arm.
A seguir
- Compartilhe suas imagens privadas com outros projetos.
- Aprenda a importar discos, imagens e instâncias de VM.
- Saiba como exportar uma imagem para o Cloud Storage.
- Aprenda a iniciar uma VM a partir de uma imagem personalizada.
- Saiba como definir a versão de imagem em uma família de imagens.
- Saiba como suspender o uso de uma imagem personalizada.
- Saiba como excluir uma imagem personalizada.