Neste documento, explicamos como criar uma instância do Compute Engine usando uma imagem personalizada que existe apenas no seu projeto. Uma instância contém um carregador de inicialização, um sistema de arquivos de inicialização e uma imagem do SO. É 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. Por padrão, uma imagem personalizada pertence apenas ao projeto em que foi criada.
Antes de começar
- Ao criar instâncias de imagens usando a Google Cloud CLI 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.
-
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 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
compute.instances.create
no projeto -
Para usar uma imagem personalizada a fim de 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 o projeto e clique em Continuar.
A página Criar uma instância aparece e mostra 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 a instância. Para mais informações, consulte Convenção de nomenclatura de recursos.
Opcional: no campo Zona, selecione uma zona para a instância.
A seleção padrão é Qualquer. Se você não mudar essa seleção padrão, o Google vai escolher automaticamente uma zona 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 mostra as séries de máquinas disponíveis para a família de máquinas selecionada. As seguintes opções de família de máquinas estão disponíveis:
- Uso geral
- Otimizado para computação
- Otimização de memória
- Otimizado para armazenamento
- GPUs
Na coluna Série, selecione a série de máquinas da sua instância.
Se você selecionou GPUs como a família de máquinas na etapa anterior, selecione o tipo de GPU que você quer. A série de máquina é selecionada automaticamente para o tipo de GPU selecionado.
Na seção Tipo de máquina, selecione o tipo de máquina para sua instância.
No menu de navegação, clique em SO e armazenamento. No painel Sistema operacional e armazenamento que aparece, configure o disco de inicialização fazendo o seguinte:
- Clique em Alterar. O painel Disco de inicialização aparece e mostra a guia Imagens públicas.
- Clique em Imagens personalizadas. A guia Imagens personalizadas vai aparecer.
- 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 você quer 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 ver as opções de configuração avançada, abra 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:
- Acesse a seção Firewall.
Para permitir o tráfego HTTP ou HTTPS na instância, selecione Permitir tráfego HTTP ou Permitir tráfego HTTPS.
O Compute Engine adiciona uma tag de rede à 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 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 mais informações, consulte Opções de configuração durante a criação de instâncias.
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:
VM_NAME
: o nome da VMIMAGE_PROJECT
: o ID do projeto do Google Cloud que contém a imagemIMAGE_FLAG
: especifique uma destas opções:- Use a flag
--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 a flag
--image-family IMAGE_FAMILY_NAME
para especificar essa família.Isso cria a VM a partir da versão mais recente e não obsoleta do sistema operacional da imagem do SO na 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 do SO mais recente na família de imagens personalizadasmy-debian-family
.
- Use a flag
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 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 ver o código do Terraform.
PROJECT_ID
: ID do projeto em que a VM será criadaZONE
: zona em que a VM será criadaMACHINE_TYPE_ZONE
: a zona que contém o tipo de máquina que será usado para a nova VM.MACHINE_TYPE
: tipo de máquina, predefinida ou personalizada, para a nova VM.VM_NAME
: nome da nova VM.IMAGE_PROJECT
: o nome do projeto que contém a imagem personalizadaIMAGE
: especifique uma destas opções:IMAGE
: nome da 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.Isso cria a VM a partir da imagem do SO mais recente e não descontinuada da família de imagens personalizada. Por exemplo, se você especificar
"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family"
, o Compute Engine criará uma VM usando a versão mais recente da imagem do SO na família de imagens personalizadasmy-debian-family
.
NETWORK_NAME
: a rede VPC que você quer 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 da VM protegida, o Compute Engine ativa, por padrão, o módulo de plataforma virtual confiável (vTPM) e o monitoramento de integridade. Por padrão, o Compute Engine não ativa a Inicialização segura.true
Se você especificarenableSecureBoot
para , o Compute Engine criará uma VM com todos os três recursos da VM protegida já ativados. Depois que o Compute Engine iniciar a VM, será preciso interrompê-la se você quiser modificar as opções de VM protegida.- Saiba mais sobre imagens personalizadas e como compartilhá-las.
- Saiba como verificar o status de uma instância para saber quando ela está pronta para uso.
- Saiba como se conectar à 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para receber as permissões necessárias para criar uma instância com base em uma imagem personalizada, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para criar uma instância a partir de uma imagem personalizada. Para conferir 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:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Criar uma instância usando uma imagem personalizada
Se você ainda não tiver uma imagem personalizada, primeiro crie uma imagem personalizada.
Para criar uma instância a partir de uma imagem personalizada, siga estas etapas:
Console
gcloud
Terraform
Para gerar o código do Terraform, use o componente Código equivalente no console do Google Cloud .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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
O processo de criação de uma instância de uma imagem personalizada na API é similar à criação de 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:
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-01-21 UTC.
-