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 de API que define as propriedades das instâncias de VM. Você define propriedades como tipo de máquina, imagem do sistema operacional, configurações de disco permanente, metadados, scripts de inicialização e assim por diante em um 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 gerenciadas .
Ao criar uma instância de VM a partir de um modelo de instância, o comportamento padrão é 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 residirá. Como alternativa, você também pode substituir determinados campos durante a criação da instância se desejar alterar determinadas propriedades do modelo de instância para usos específicos.
Este documento pressupõe que você tenha um modelo de instância pronto para uso. Se você 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 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.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
No console do Google Cloud, acesse a página Criar uma instância .
No menu
Criar VM de... , selecione Modelos de instância .Na janela Criar VM a partir do modelo exibida, faça o seguinte:
Selecione um modelo.
Para criar e iniciar a VM, clique em Criar .
-
VM_NAME
: o nome da instância. -
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância a ser usado. Para um modelo de instância regional, você deve especificar o URL completo ou parcial do modelo. Um exemplo de URL completo éhttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
e um URL parcial éprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
. No console do Google Cloud, acesse a página Criar uma instância .
No menu
Criar VM de... , selecione Modelos de instância .Na janela Criar VM a partir do modelo exibida, selecione um modelo e clique em
Personalizar .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 .
- Se você substituir um campo básico, o campo básico correspondente no modelo de instância será substituído pelo valor do campo básico na solicitação. Os campos básicos incluem
machineType
,sourceImage
,name
e assim por diante. - Se você substituir um campo repetido, todos os valores repetidos dessa propriedade serão substituídos pelos valores correspondentes fornecidos na solicitação. Campos repetidos geralmente são propriedades do tipo
list
. Por exemplo,disks
enetworkInterfaces
são campos repetidos. - Se você substituir um
nested object
, o objeto no modelo de instância será mesclado com a especificação de objeto correspondente na solicitação. Observe que se um objeto aninhado residir em um campo repetido, o campo será tratado de acordo com regras para campos repetidos. Os rótulos são uma exceção a esta regra e são tratados como um campo repetido mesmo sendo do tipoobject
. - Leia a documentação sobre instâncias de VM preemptivas .
- Leia sobre scripts de desligamento .
- Consulte o preço da instância preemptiva .
- Conecte-se à sua instância .
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
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.
Crie uma instância de VM a partir de um modelo de instância
Você 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.
Console
gcloud
Para criar uma VM a partir de um modelo de instância regional ou global, use o mesmo comando
gcloud compute instances create
que você usaria para criar uma instância normal, mas adicione a sinalização--source-instance-template
:gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_NAME
Substitua o seguinte:
Por exemplo:
gcloud compute instances create example-instance \ --source-instance-template my-instance-template
Ir
Java
Node.js
Pitão
DESCANSAR
Para criar uma VM a partir de um modelo de instância regional ou global, construa uma solicitação normal para criar uma instância, mas inclua o parâmetro de consulta
sourceInstanceTemplate
seguido por 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_NAME
No corpo da solicitação, forneça um
name
para a instância de VM:{ "name": "example-instance" }
Por exemplo, o snippet a seguir inclui um caminho totalmente qualificado para o modelo:
https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-instance-template
.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/example-instance-template
{ "name": "example-instance" }
Crie uma instância de VM a partir de um modelo de instância com substituições
Ao usar um modelo de instância para iniciar uma instância de VM, o comportamento padrão é criar uma instância de VM exatamente como descrito no modelo de instância, com exceção do nome da instância e da zona.
Se quiser criar uma instância baseada principalmente em um modelo de instância, mas com algumas alterações, você poderá usar o comportamento de substituição. Para usar o comportamento de substituição, você passa atributos a serem substituídos para o modelo de instância existente ao criar a instância.
Console
gcloud
Usando a CLI gcloud, faça uma solicitação para criar uma instância com a sinalização
--source-instance-template
e substitua qualquer propriedade desejada pela sinalizaçãogcloud
apropriada. Para ver uma lista de sinalizações aplicáveis, revise a referênciagcloud
.Por exemplo, forneça os seguintes sinalizadores para substituir o tipo de máquina, os metadados, o sistema operacional, o disco de inicialização do disco permanente e um disco secundário de um modelo de instância:
gcloud compute instances create example-instance \ --source-instance-template example-instance --machine-type e2-standard-2 \ --image-family debian-9 --image-project debian-cloud \ --metadata bread=butter --disk=boot=no,name=my-override-disk
Ir
Java
Node.js
Pitão
DESCANSAR
Na API, use o parâmetro de consulta
sourceInstanceTemplate
e forneça quaisquer campos que você deseja substituir no corpo da solicitação ao construir uma solicitação normal para criar uma instância .O comportamento de substituição na API segue as regras de patch de mesclagem JSON, descritas pela RFC 7396 .
Especificamente:
Por exemplo, vamos supor que você tenha um modelo de instância com dois discos que não são de inicialização, mas deseja substituir um dos discos. Você deve fornecer toda a especificação
disks
em sua solicitação, incluindo todos os discos que deseja manter.O URL desta solicitação:
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/example-instance-template
O corpo da solicitação:
{ "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 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.
-