Este documento explica como criar uma instância do Compute Engine a partir de uma imagem personalizada que existe apenas no seu projeto. Uma instância contém um bootloader, um sistema de arquivos de inicialização e uma imagem do sistema operacional. Você pode criar imagens personalizadas de discos de origem, imagens, snapshots ou imagens armazenadas no Cloud Storage e usar essas imagens para criar instâncias. Por padrão, uma imagem personalizada pertence somente ao projeto em que foi criada.
Antes de começar
- Ao criar instâncias a partir de imagens usando a CLI do Google Cloud ou a API Compute Engine, há um limite de 20 instâncias por segundo. Se precisar criar um número maior de instâncias por segundo, solicite um limite de cota maior para o recurso Imagens .
- 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
-
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.
- Set a default region and zone.
-
compute.instances.create
no projeto - Para usar uma imagem personalizada para criar a instância:
compute.images.useReadOnly
na imagem No console do Google Cloud, acesse a página Criar uma instância .
Se solicitado, selecione seu projeto e clique em Continuar .
A página Criar uma instância é exibida e exibe o painel Configuração da máquina .
No painel Configuração da máquina , faça o seguinte:
- No campo Nome , especifique um nome para sua instância. Para obter mais informações, consulte Convenção de nomenclatura de recursos .
Opcional: No campo Zona , selecione uma zona para esta instância.
A seleção padrão é Qualquer . Se você não alterar essa seleção padrão, o Google escolherá automaticamente uma zona para você com base no tipo de máquina e na disponibilidade.
Selecione a família de máquinas para sua instância. O console do Google Cloud exibe as séries de máquinas disponíveis para a família de máquinas selecionada. As seguintes opções de famílias de máquinas estão disponíveis:
- Uso geral
- Computação otimizada
- Memória otimizada
- Armazenamento otimizado
- GPU
Na coluna Série , selecione a série de máquinas da sua instância.
Se você selecionou GPUs como família de máquinas na etapa anterior, selecione o tipo de GPU desejado. A série da máquina é então selecionada automaticamente para o tipo de GPU selecionado.
Na seção Tipo de máquina , selecione o tipo de máquina da sua instância.
No menu de navegação, clique em SO e armazenamento . No painel Sistema operacional e armazenamento exibido, configure seu disco de inicialização fazendo o seguinte:
- Clique em Alterar . O painel Disco de inicialização aparece e exibe a guia Imagens públicas .
- Clique em Imagens personalizadas . A guia Imagens personalizadas é exibida.
- Para selecionar o projeto de imagem, clique em Alterar e selecione o projeto que contém a imagem.
- Na lista Imagem , selecione a imagem que deseja importar.
- Na lista Tipo de disco de inicialização , selecione o tipo de disco de inicialização.
- No campo Tamanho (GB) , especifique o tamanho do disco de inicialização.
- Opcional: Para discos de inicialização balanceados de hiperdisco, especifique valores para os campos IOPS provisionados e Taxa de transferência provisionada .
- Opcional: para opções de configuração avançadas, expanda a seção Mostrar configurações avançadas .
- Para confirmar as opções do disco de inicialização e retornar ao painel Sistema operacional e armazenamento , clique em Selecionar .
No menu de navegação, clique em Rede . No painel Rede exibido, faça o seguinte:
- Vá para a seção Firewall .
Para permitir o tráfego HTTP ou HTTPS para a instância, selecione Permitir tráfego HTTP ou Permitir tráfego HTTPS .
O Compute Engine adiciona uma tag de rede à sua instância e cria a regra de firewall de entrada correspondente que permite todo o tráfego de entrada em
tcp:80
(HTTP) outcp:443
(HTTPS). A tag de rede associa a regra de firewall à instância. Para obter mais informações, consulte Visão geral das regras de firewall na documentação do Cloud Next Generation Firewall.
Opcional: Especifique outras opções de configuração. Para obter mais informações, consulte Opções de configuração durante a criação da instância .
Para criar e iniciar a instância, clique em Criar .
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Execute o comando
gcloud compute instances create
para criar uma instância com uma imagem personalizada:gcloud compute instances create VM_NAME \ --image-project IMAGE_PROJECT \ IMAGE_FLAG \ --subnet SUBNET
Substitua o seguinte:
-
VM_NAME
: o nome da VM -
IMAGE_PROJECT
: o ID do projeto do Google Cloud que contém a imagem -
IMAGE_FLAG
: especifique um dos seguintes:- Use o sinalizador
--image IMAGE_NAME
para especificar uma imagem personalizada.Por exemplo,
--image my-debian-image-v2
. - Se você criou suas imagens personalizadas como parte de uma família de imagens personalizadas , use o sinalizador
--image-family IMAGE_FAMILY_NAME
para especificar essa família de imagens personalizadas.Isso cria a VM a partir da imagem do sistema operacional e da versão do sistema operacional mais recentes e não obsoletas em sua família de imagens personalizadas. Por exemplo, se você especificar
--image-family my-debian-family
, o Compute Engine criará uma VM a partir da imagem mais recente do sistema operacional em sua família de imagensmy-debian-family
personalizada.
- Use o sinalizador
SUBNET
: se a sub-rede e a instância estiverem no mesmo projeto, substituaSUBNET
pelo nome de uma sub-rede que esteja na mesma região da instância.
-
- No console do Google Cloud, acesse a página de instâncias de VM .
- Clique em Criar instância .
- Especifique os parâmetros desejados.
- Na parte superior ou inferior da página, clique em Código equivalente e, em seguida, clique na guia Terraform para visualizar o código Terraform.
-
PROJECT_ID
: ID do projeto no qual criar a VM -
ZONE
: zona para criar a VM -
MACHINE_TYPE_ZONE
: zona que contém o tipo de máquina a ser usada para a nova VM -
MACHINE_TYPE
: tipo de máquina, predefinida ou customizada , para a nova VM -
VM_NAME
: nome da nova VM -
IMAGE_PROJECT
: nome do projeto que contém a imagem customizada -
IMAGE
: especifique um dos seguintes:-
IMAGE
: nome da sua imagem personalizada. Por exemplo,"sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
. -
IMAGE_FAMILY
: se você criou suas imagens personalizadas como parte de uma família de imagens personalizadas , especifique essa família de imagens personalizadas.Isso cria a VM a partir da imagem de sistema operacional mais recente e não obsoleta em sua família de imagens personalizadas. Por exemplo, se você especificar
"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family"
, o Compute Engine criará uma VM a partir da versão mais recente da imagem do sistema operacional na família de imagens personalizadamy-debian-family
.
-
-
NETWORK_NAME
: a rede VPC que você deseja usar para a VM. Você pode especificardefault
para usar sua rede padrão. ENABLE_SECURE_BOOT
: opcional: se você escolher uma imagem compatível com recursos de VM protegida , o Compute Engine, por padrão, ativará o módulo de plataforma confiável virtual (vTPM) e o monitoramento de integridade . O Compute Engine não ativa a inicialização segura por padrão.Se você especificar
true
paraenableSecureBoot
, o Compute Engine criará uma VM com todos os três recursos de VM protegida ativados. Depois que o Compute Engine iniciar sua VM, para modificar as opções da VM protegida , você deverá interrompê-la.- Saiba mais sobre imagens personalizadas e como compartilhá-las .
- Saiba como verificar o status de uma instância para ver quando ela está pronta para uso.
- Saiba como se conectar à sua instância .
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.
Funções obrigatórias
Para obter as permissões necessárias para criar uma instância a partir de uma imagem personalizada, peça ao administrador para conceder a você a função do IAM Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .Esta função predefinida contém as permissões necessárias para criar uma instância a partir de uma imagem personalizada. Para ver 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 instância a partir de uma imagem personalizada:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Crie uma instância a partir de uma imagem personalizada
Se ainda não tiver uma imagem personalizada, você deverá primeiro criar uma imagem personalizada .
Para criar uma instância a partir de uma imagem personalizada, siga estas etapas:
Console
gcloud
Terraforma
Para gerar o código Terraform, você pode usar o componente Código equivalente no console do Google Cloud.Ir
Antes de testar este exemplo, siga as instruções de configuração Go no guia de início rápido do Compute Engine usando bibliotecas de cliente . Para mais informações, consulte a documentação de referência da API Compute Engine Go .
Para autenticar no Compute Engine, configure as credenciais padrão do aplicativo. Para obter mais informações, consulte Configurar autenticação para um ambiente de desenvolvimento local .
Java
Antes de testar este exemplo, siga as instruções de configuração Java no guia de início rápido do Compute Engine usando bibliotecas de cliente . Para mais informações, consulte a documentação de referência da API Java do Compute Engine .
Para autenticar no Compute Engine, configure as credenciais padrão do aplicativo. Para obter mais informações, consulte Configurar autenticação para um ambiente de desenvolvimento local .
Node.js
Antes de testar este exemplo, siga as instruções de configuração Node.js no guia de início rápido do Compute Engine usando bibliotecas de cliente . Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine .
Para autenticar no Compute Engine, configure as credenciais padrão do aplicativo. Para obter mais informações, consulte Configurar autenticação para um ambiente de desenvolvimento local .
Pitão
Antes de testar este exemplo, siga as instruções de configuração Python no guia de início rápido do Compute Engine usando bibliotecas de cliente . Para mais informações, consulte a documentação de referência da API Python do Compute Engine .
Para autenticar no Compute Engine, configure as credenciais padrão do aplicativo. Para obter mais informações, consulte Configurar autenticação para um ambiente de desenvolvimento local .
DESCANSAR
O processo para criar uma instância com uma imagem personalizada na API é o mesmo que se você estivesse criando uma instância com uma imagem disponível publicamente .
Para criar a instância a partir de uma imagem personalizada, use o método
instances.insert
.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Substitua o seguinte:
O que vem a seguir
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-04-21 UTC.
-