Esta página explica como usar um modelo de instância para criar uma instância de VM. Um modelo de instância é um recurso da API que define as propriedades das instâncias de VM. Define propriedades como o tipo de máquina, a imagem do SO, as configurações do disco persistente, os metadados, os scripts de arranque, etc., num modelo de instância e, em seguida, pode usar o modelo de instância para criar instâncias de VM individuais ou grupos de instâncias geridas.
Quando cria uma instância de VM a partir de um modelo de instância, o comportamento predefinido é criar uma instância de VM idêntica às propriedades especificadas no modelo, com exceção do nome da instância de VM e da zona onde a instância vai residir. Em alternativa, também pode substituir opcionalmente determinados campos durante a criação da instância se quiser alterar determinadas propriedades do modelo de instância para utilizações específicas.
Este documento pressupõe que tem um modelo de instância pronto a usar. Se não tiver um modelo de instância, siga as instruções para criar um novo modelo de instância.
Antes de começar
- Leia a documentação do modelo de instância.
- Crie um modelo de instância.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
Go
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Node.js
Para usar os Node.js exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Crie uma instância de VM a partir de um modelo de instância
Pode usar um modelo de instância regional ou global para criar uma instância de VM. Para criar uma instância exatamente como descrito no modelo de instância, siga estas instruções.
Consola
Na Google Cloud consola, aceda à página Criar uma instância.
No menu
Criar VM a partir de ..., selecione Modelos de instâncias.Na janela Criar VM a partir de modelo apresentada, faça o seguinte:
Selecione um modelo.
Para criar e iniciar a VM, clique em Criar.
gcloud
Para criar uma VM a partir de um modelo de instância regional ou global, use o mesmo
gcloud compute instances create
comando que usaria para criar uma instância normal, mas adicione a flag--source-instance-template
:gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_URL
Substitua o seguinte:
VM_NAME
: o nome da instância.INSTANCE_TEMPLATE_URL
: o URL do modelo de instância que quer usar para criar VMs no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
Por exemplo:
gcloud compute instances create example-instance \ --source-instance-template 1234567890
Go
Java
Node.js
Python
REST
Para criar uma VM a partir de um modelo de instância regional ou global, crie um pedido normal para criar uma instância, mas inclua o parâmetro de consulta
sourceInstanceTemplate
seguido de um caminho qualificado para um modelo de instância.POST https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID/zones/ZONE/ instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_URL
No corpo do pedido, indique um
name
para a instância de VM:{ "name": "example-instance" }
Por exemplo, o fragmento seguinte inclui um caminho totalmente qualificado para o modelo:
https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/1234567890
.POST https://compute.googleapis.com/ compute/v1/projects/myproject/zones/us-central1-a/instances?sourceInstanceTemplate= https://compute.googleapis.com/compute/v1/projects/myproject/global/ instanceTemplates/1234567890
{ "name": "example-instance" }
Crie uma instância de VM a partir de um modelo de instância com substituições
Quando usa um modelo de instância para iniciar uma instância de VM, o comportamento predefinido é criar uma instância de VM exatamente como descrito no modelo de instância, com exceção do nome e da zona da instância.
Se quiser criar uma instância principalmente com base num modelo de instância, mas com algumas alterações, pode usar o comportamento de substituição. Para usar o comportamento de substituição, transmite atributos a substituir para o modelo de instância existente quando cria a instância.
Consola
Na Google Cloud consola, aceda à página Criar uma instância.
No menu
Criar VM a partir de ..., selecione Modelos de instâncias.Na janela Criar VM a partir de modelo apresentada, selecione um modelo e, de seguida, clique em
Personalizar.Opcional: especifique outras opções de configuração. Para mais informações, consulte o artigo Opções de configuração durante a criação da instância.
Para criar e iniciar a instância, clique em Criar.
gcloud
Usando a CLI gcloud, faça um pedido para criar uma instância com a flag
--source-instance-template
e substitua qualquer propriedade que quiser com a flaggcloud
adequada. Para ver uma lista das flags aplicáveis, reveja a referênciagcloud
.Por exemplo, forneça as seguintes flags para substituir o tipo de máquina, os metadados, o sistema operativo, o disco de arranque do disco persistente e um disco secundário de um modelo de instância:
gcloud compute instances create example-instance \ --source-instance-template 1234567890 --machine-type e2-standard-2 \ --image-family debian-9 --image-project debian-cloud \ --metadata bread=butter --disk=boot=no,name=my-override-disk
Go
Java
Node.js
Python
REST
Na API, use o parâmetro de consulta
sourceInstanceTemplate
e faculte todos os campos que quer substituir no corpo do pedido ao criar um pedido normal para criar uma instância.O comportamento de substituição na API segue as regras de patch de união JSON, descritas pela RFC 7396.
Em concreto:
- Se substituir um campo básico, o campo básico correspondente no modelo de instância é substituído pelo valor do campo básico no pedido. Os campos básicos incluem
machineType
,sourceImage
,name
e assim sucessivamente. - Se substituir um campo repetido, todos os valores repetidos dessa propriedade são substituídos pelos valores correspondentes fornecidos no pedido.
Geralmente, os campos repetidos são propriedades do tipo
list
. Por exemplo,disks
enetworkInterfaces
são campos repetidos. - Se substituir um
nested object
, o objeto no modelo de instância é unido à especificação do objeto correspondente no pedido. Tenha em atenção que, se um objeto aninhado estiver num campo repetido, o campo é tratado de acordo com as regras para campos repetidos. As etiquetas são uma exceção a esta regra e são tratadas como um campo repetido, mesmo que sejam do tipoobject
.
Por exemplo, suponhamos que tem um modelo de instância com dois discos que não são de arranque, mas quer substituir um dos discos. Tem de fornecer a
disks
especificação completa no seu pedido, incluindo todos os discos que quer manter.O URL deste pedido:
POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances? sourceInstanceTemplate=https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/1234567890
O corpo do pedido:
{ "disks": [ { # Since you are overriding the repeated disk property, you must # specify a boot disk in the request, even if it is already # specified in the instance template "autoDelete": true, "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-8" }, "mode": "READ_WRITE", "type": "PERSISTENT" }, { # New disk you want to use "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-override-disk", "type": "PERSISTENT" }, { # Assume this disk is already specified in instance template, but # you must specify it again since you are overriding the disks # property "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-other-disk-to-keep", "type": "PERSISTENT" } ], "machineType": "zones/us-central1-f/machineTypes/e2-standard-2", "name": "example-instance" }
O que se segue?
- Leia a documentação sobre instâncias de VM preemptivas.
- Leia acerca dos scripts de encerramento.
- Consulte os preços das instâncias preemptivas.
- Ligue-se à sua instância.
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-09-19 UTC.
-