Nesta página, explicamos 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. Defina as propriedades, como tipo de máquina, imagem do SO, configurações de disco permanente, metadados, scripts de inicialização e outras, em um modelo de instância. Depois, use o modelo para criar instâncias de VM individuais ou grupos de instâncias gerenciadas.
Por padrão, uma instância de VM criada a partir de um modelo de instância terá propriedades idênticas àquelas especificadas no modelo, com exceção do nome e da zona em que a instância residirá. No entanto, você também tem a opção de modificar determinados campos durante a criação da instância, se quiser alterar algumas propriedades definidas no modelo para casos de uso específicos.
Neste documento, pressupomos que você já tem um modelo de instância pronto para usar. Se você ainda não tem um, siga as instruções para criar um novo modelo de instância.
Antes de começar
- Leia a documentação sobre modelo de instância.
- Crie um modelo de instância.
-
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 da seguinte maneira.
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
No console do Google Cloud, acesse a página Criar uma instância.
Clique em Nova instância de VM com base em modelo.
Selecione o modelo e clique em Continuar.
Especifique um nome para a VM e faça outras personalizações conforme necessário.
Clique em Criar.
Para mais detalhes sobre configuração, consulte Criar uma instância de VM a partir de uma imagem.
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, especifique 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 parcial éprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.- Se você modificar um campo básico, o campo básico
correspondente no modelo de instância será substituído pelo valor
de campo básico na solicitação. Os campos básicos incluem
machineType
,sourceImage
,name
e assim por diante. - Se você modificar um campo repetido, todos os valores repetidos dessa propriedade serão substituídos pelos valores correspondentes fornecidos na solicitação.
Geralmente, campos repetidos são propriedades do tipo
list
. Por exemplo,disks
enetworkInterfaces
são campos repetidos. - Se você modificar 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 dentro de um campo repetido, esse campo será tratado segundo as regras para campos repetidos. Os rótulos são uma exceção a essa 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 de instâncias preemptivas.
- Conecte-se à 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.
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.
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 as instruções abaixo.
Console
gcloud
Para criar uma VM com base em 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--source-instance-template
:gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_NAME
Substitua:
Exemplo:
gcloud compute instances create example-instance \ --source-instance-template my-instance-template
Go
Java
Node.js
Python
REST
Para criar uma VM de um modelo de instância regional ou global, faça uma solicitação normal para criar uma instância, mas inclua o
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_NAME
No corpo da solicitação, forneça um
name
para a instância de VM:{ "name": "example-instance" }
Por exemplo, no snippet a seguir, é incluído 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" }
Como criar uma instância de VM a partir de um modelo de instância com modificações
Por padrão, uma instância de VM iniciada a partir de um modelo de instância será exatamente como descrito no modelo, com exceção do nome e da zona.
Se você quiser criar uma instância baseada em um modelo, mas com algumas alterações, use o comportamento de modificação. Para tanto, informe os atributos para modificar o modelo de instância existente durante a criação da instância.
gcloud
Usando a CLI gcloud, faça uma solicitação para criar uma instância com a sinalização
--source-instance-template
e substituir qualquer propriedade que você queira com a sinalizaçãogcloud
adequada. Para uma lista de sinalizações aplicáveis, consulte a referênciagcloud
.Por exemplo, forneça as sinalizações a seguir para modificar o tipo de máquina, os metadados, o sistema operacional, o disco de inicialização do Persistent Disk 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
Go
Java
Node.js
Python
REST
Na API, use o parâmetro de consulta
sourceInstanceTemplate
e forneça os campos que você quer substituir no corpo da solicitação ao construir uma solicitação normal para criar uma instância.O comportamento de modificação na API segue as regras de patch de mesclagem JSON descritas em RFC 7396 (em inglês).
Especificamente:
Por exemplo, imagine que você tem um modelo de instância com dois discos que não sejam de inicialização, mas quer substituir um deles. Você precisa informar toda a especificação
disks
na sua solicitação, incluindo os discos que quer manter.O URL dessa 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" }
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 2024-09-24 UTC.
-