Esta página descreve como criar e gerir modelos de instâncias. Os modelos de instâncias permitem-lhe especificar o tipo de máquina, a imagem do disco de arranque, a rede e outras propriedades da VM que quer usar quando cria instâncias de máquinas virtuais (VMs).
Pode usar modelos de instâncias para fazer o seguinte:
- Criar VMs individuais.
- Crie VMs num grupo de instâncias geridas (GIG).
- Crie reservas para VMs.
Antes de começar
- Leia quando e por que motivo deve criar modelos de instâncias determinísticos.
- Leia acerca dos modelos de instâncias regionais e globais.
-
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.
Terraform
Para usar os exemplos do Terraform 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.
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.
Limitações
- A VPC partilhada em interfaces que não sejam
nic0
para modelos de instâncias é suportada na CLI gcloud e no REST, mas não na consolaGoogle Cloud . - Não pode atualizar um modelo de instância existente nem alterar um modelo de instância depois de o criar. Se um modelo de instância ficar desatualizado ou precisar de fazer alterações à configuração, crie um novo modelo de instância.
- Se quiser especificar uma família de imagens num modelo de instância, não pode usar a consola. Google Cloud Em alternativa, pode usar a Google Cloud CLI ou a API REST.
- Se quiser especificar discos regionais em vez de discos zonais num modelo de instância, não pode usar a consola. Google Cloud Em alternativa, pode usar a CLI Google Cloud ou o REST.
- Pode usar um modelo de instância para criar VMs com um disco de arranque Hyperdisk Balanced que está num conjunto de armazenamento, se o conjunto de armazenamento existir na mesma zona em que a VM é criada. Não pode usar modelos de instâncias globais para criar VMs com discos que não sejam de arranque e que estejam num conjunto de armazenamento.
Crie um modelo de instância
A maioria das propriedades da VM que pode especificar num pedido para criar uma instância de VM individual também pode ser especificada para um modelo de instância, incluindo quaisquer metadados da VM, scripts de arranque, discos persistentes e contas de serviço. Tem de especificar o tipo de máquina, o disco de arranque e a rede.
Crie um modelo de instância regional ou global através da Google Cloud console, da CLI do Google Cloud ou da API. Para criar um modelo de instância global, também pode usar o Terraform ou as bibliotecas de cliente da nuvem.
Consola
Na Google Cloud consola, aceda à página Modelos de instâncias.
Os passos restantes aparecem na Google Cloud consola.
- Clique em
Criar modelo de instância . - Selecione a Localização da seguinte forma:
- Se quiser usar o modelo de instância em várias regiões, escolha Global.
- Se quiser reduzir a dependência entre regiões, escolha Regional.
- Se escolheu a opção regional, selecione a Região onde quer criar o modelo de instância.
Para os campos seguintes, aceite os valores predefinidos ou modifique-os conforme necessário. Os valores predefinidos mudam com base na família de máquinas que selecionar.
- Selecione um
Tipo de máquina . - Para atualizar o tipo ou a imagem do disco de arranque, na secção
Disco de arranque , clique em Alterar. - Para atualizar as definições da interface de rede ou do endereço IP, clique em
Opções avançadas , clique em Rede e, de seguida, clique na interface de rede que quer editar.
- Selecione um
Opcional: se escolheu uma imagem que suporta a VM protegida, altere as definições da VM protegida:
- Clique em Opções avançadas e, de seguida, clique no separador Segurança.
- Se quiser desativar o arranque seguro, desmarque a caixa de verificação Ativar arranque seguro. O Arranque seguro ajuda a proteger as instâncias de VM contra software malicioso ao nível do arranque e do kernel, bem como rootkits. Para mais informações, consulte o artigo Arranque seguro.
Se quiser desativar o Módulo de plataforma fidedigna virtual (vTPM), desmarque a caixa de verificação Ativar vTPM. O vTPM permite o arranque medido, que valida a integridade do pré-arranque e do arranque da VM. Para mais informações, consulte Virtual Trusted Platform Module (vTPM).
Se quiser desativar a monitorização da integridade, desmarque a caixa de verificação Ativar monitorização da integridade. A monitorização da integridade permite-lhe monitorizar a integridade do arranque das suas instâncias de VM protegidas através do Cloud Monitoring. Para mais informações, consulte o artigo Monitorização da integridade.
Opcional: em Opções avançadas, clique nos separadores para personalizar ainda mais o modelo. Por exemplo, pode adicionar até 15 discos secundários que não sejam de arranque.
Opcional: clique em REST equivalente para ver o corpo do pedido REST, que inclui a representação JSON do modelo de instância.
Clique em Criar para criar o modelo.
gcloud
Para criar um modelo de instância regional ou global, use o comando
instance-templates create
. Para um modelo de instância regional, tem de usar a flag--instance-template-region
para definir a região do modelo.Crie um modelo de instância regional com o seguinte comando.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION
Substitua
REGION
pela região onde quer criar o modelo de instância regional.Crie um modelo de instância global com o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
Se não fornecer definições explícitas do modelo, o
gcloud compute
usa os seguintes valores predefinidos:- Tipo de máquina: o tipo de máquina, por exemplo,
n1-standard-1
- Imagem: a imagem do Debian mais recente
- Disco de arranque: um novo disco de arranque padrão com o nome da VM
- Rede: a rede VPC predefinida
- Endereço IP: um endereço IPv4 externo efémero
- Tipo de pilha:
IPV4_ONLY
Também pode fornecer explicitamente estas definições de configuração. Por exemplo:
gcloud compute instance-templates create my-instance-template \ --machine-type=e2-standard-4 \ --image-family=debian-11 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Pode adicionar até 15 discos não de arranque secundários. Especifique a flag
--create-disk
para cada disco secundário que criar. Para criar discos secundários a partir de uma imagem pública ou personalizada, especifique as propriedadesimage
eimage-project
para cada disco na flag--create-disk
. Para criar um disco em branco, não inclua estas propriedades. Opcionalmente, inclua propriedades para o discosize
etype
. Para especificar discos regionais, use a propriedadereplica-zones
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --create-disk=image-family=DISK_IMAGE_FAMILY,image-project=DISK_IMAGE_PROJECT,size=SIZE_GB_DISK1 \ --create-disk=device-name=DISK_NAME,type=DISK_TYPE,size=SIZE_GB_DISK2,replica-zones=^:^ZONE:REMOTE_ZONE,boot=false
Sugestão: quando especificar o parâmetro
replica-zones
do disco, os carateres^:^
especificam que o carater de separação entre os valores é dois pontos (:
) em vez da vírgula esperada (,
).Substitua o seguinte:
INSTANCE_TEMPLATE_NAME
: o nome do modeloMACHINE_TYPE
: o tipo de máquina das VMsDISK_IMAGE_FAMILY
: uma família de imagens a usar como um disco não arrancávelPara mais informações sobre famílias de imagens, consulte as práticas recomendadas quando usar famílias de imagens no Compute Engine.
Em alternativa, pode usar a flag
--image=IMAGE
para especificar uma versão específica de uma imagem.Para discos em branco, não especifique a propriedade
image-family
nemimage
.DISK_IMAGE_PROJECT
: o projeto de imagem que contém a imagemPara discos em branco, não especifique a propriedade
image-project
. Para mais informações sobre imagens públicas, consulte o artigo Imagens públicas.SIZE_GB_DISK1
eSIZE_GB_DISK2
: o tamanho de cada disco secundárioDISK_NAME
: opcional: o nome do disco apresentado ao SO convidado após a criação da VM.DISK_TYPE
: opcional: o tipo de disco a criar. Se não for especificado, o tipo de disco predefinido usado depende do valor da flag--machine-type
.ZONE
eREMOTE_ZONE
: a zona onde criar o disco regional e a zona para a qual replicá-lo.Para discos zonais, não inclua a propriedade
replica-zones
.
Se escolheu uma imagem que suporta a VM protegida, pode alterar opcionalmente as definições da VM protegida da instância através de uma das seguintes flags:
--no-shielded-secure-boot
: desativa o arranque seguroO Arranque seguro ajuda a proteger as instâncias de VM contra software malicioso e rootkits ao nível do arranque e do kernel. Para mais informações, consulte o artigo Arranque seguro.
--no-shielded-vtpm
: desativa o Trusted Platform Module virtual (vTPM)O vTPM permite o arranque medido, que valida a integridade do pré-arranque e do arranque da VM. Para mais informações, consulte o artigo Módulo de plataforma fidedigna virtual (vTPM).
--no-shielded-integrity-monitoring
: desativa a monitorização da integridadeA monitorização da integridade permite-lhe monitorizar a integridade do arranque das suas instâncias de VM protegidas através do Cloud Monitoring. Para mais informações, consulte o artigo Monitorização da integridade.
Para ver uma lista de todos os subcomandos e flags disponíveis, consulte a
instance-templates
referência.Terraform
Para criar um modelo de instância, use um dos seguintes recursos:
- Para um modelo de instância regional, use o recurso
google_compute_region_instance_template
. - Para um modelo de instância global, use o recurso
google_compute_instance_template
.
O exemplo seguinte cria um modelo de instância global:
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Go
Java
Node.js
Python
REST
Para criar um modelo de instância regional, faça um pedido
POST
ao métodoregionInstanceTemplates.insert
da seguinte forma:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
Para criar um modelo de instância global, faça um pedido
POST
ao métodoinstanceTemplates.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Pode adicionar até 15 discos secundários não de arranque através da propriedade
disks
, com um campo para cada disco adicional. Para cada disco adicional, pode fazer o seguinte:- Crie discos adicionais com uma imagem pública ou personalizada.
- Para adicionar um disco em branco, defina a entrada
initializeParams
sem valor desourceImage
. - Para criar discos regionais, defina a entrada
initializeParams
com a propriedadereplicaZones
.
No corpo do pedido, indique as propriedades do modelo:
{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } }, { "type": "PERSISTENT", "boot": false, "deviceName": "DISK_NAME", "initializeParams": { "replicaZones": [ "projects/PROJECT_NAME/zones/ZONE", "projects/PROJECT_NAME/zones/REMOTE_ZONE" ] } } ] } }
Substitua o seguinte:
PROJECT_ID
: o ID do projetoREGION
: a região onde quer criar o modelo de instância regionalINSTANCE_TEMPLATE_NAME
: o nome do modelo de instânciaZONE
: a zona onde as VMs estão localizadasMACHINE_TYPE
: o tipo de máquina das VMs-
IMAGE_PROJECT
: o projeto de imagem que contém a imagemPara mais informações sobre imagens públicas, consulte o artigo Imagens públicas.
-
IMAGE
ouIMAGE_FAMILY
: especifique uma das seguintes opções:-
IMAGE
: uma versão específica da imagemPor exemplo,
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
-
IMAGE_FAMILY
: uma família de imagensIsto cria a VM a partir da imagem do SO não descontinuada mais recente. Por exemplo, se especificar
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, o Compute Engine cria uma VM a partir da versão mais recente da imagem do SO na família de imagens Debian 10.Para mais informações sobre famílias de imagens, consulte as práticas recomendadas quando usar famílias de imagens no Compute Engine.
-
DISK_NAME
: opcional: o nome do disco apresentado ao SO convidado após a criação da VM.PROJECT_NAME
: o projeto associado à VMREMOTE_ZONE
: a zona para a qual o disco regional deve ser replicado
Pode especificar uma das seguintes opções para a propriedade
disks
:Especifique
initializeParams
para criar discos de arranque para cada instância. Pode criar discos usando imagens públicas ou personalizadas (ou famílias de imagens) através da propriedadesourceImage
, conforme mostrado no exemplo anterior. Para adicionar discos em branco, não especifique umsourceImage
. Também pode adicionar até 15 discos secundários não de arranque através da propriedadeinitializeParams
para cada disco adicional.Especifique
source
para anexar um disco de arranque existente. Se anexar um disco de arranque existente, só pode criar uma instância a partir do seu modelo.
Opcionalmente, pode especificar as propriedades
diskSizeGb
,diskType
elabels
parainitializeParams
e a propriedadediskSizeGb
parasource
.Se escolheu uma imagem que suporta a VM protegida, pode alterar opcionalmente as definições da VM protegida através dos seguintes itens do corpo do pedido booleano:
enableSecureBoot
: ativa ou desativa o arranque seguroO Arranque seguro ajuda a proteger as instâncias de VM contra software malicioso e rootkits ao nível do arranque e do kernel. Para mais informações, consulte o artigo Arranque seguro.
enableVtpm
: ativa ou desativa o Trusted Platform Module virtual (vTPM)O vTPM permite o arranque medido, que valida a integridade do pré-arranque e do arranque da MV. Para mais informações, consulte o artigo Módulo de plataforma fidedigna virtual (vTPM).
enableIntegrityMonitoring
: ativa ou desativa a monitorização da integridadeA monitorização da integridade permite-lhe monitorizar e validar a integridade de arranque em tempo de execução das suas instâncias de VM protegida através de relatórios do Cloud Monitoring. Para mais informações, consulte o artigo Monitorização da integridade.
Para saber mais acerca dos parâmetros de pedido, consulte o método
instanceTemplates.insert
.Crie um modelo de instância com base numa instância existente
Pode usar a CLI REST ou gcloud para guardar a configuração de uma instância de VM existente como um modelo de instância. Opcionalmente, pode substituir a forma como os discos de origem são definidos no modelo.
Se precisar de substituir outras propriedades, comece por criar um modelo de instância com base numa instância existente e, em seguida, crie um modelo semelhante com substituições adicionais.
gcloud
Use o comando
gcloud compute instance-templates create
com as flags--source-instance
e--source-instance-zone
. Se quiser criar um modelo de instância regional, também tem de usar a flag--instance-template-region
para especificar a região do modelo de instância.Para criar um modelo de instância regional, use o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --instance-template-region=REGION
Para criar um modelo de instância global, use o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE
Para substituir a forma como os discos da instância de origem são definidos, adicione uma ou mais flags
--configure-disk
.O exemplo seguinte cria um modelo de instância global a partir de uma instância existente e substitui o disco da instância de origem pelas especificações que fornecer.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --configure-disk= \ device-name=SOURCE_DISK, \ instantiate-from=INSTANTIATE_OPTIONS, \ auto-delete=AUTO_DELETE
Substitua o seguinte:
INSTANCE_TEMPLATE_NAME
é o nome do modelo a criar.SOURCE_INSTANCE
é o nome da instância a usar como modelo para o novo modelo.SOURCE_INSTANCE_ZONE
é a zona que contém a instância de origem.SOURCE_DISK
é o nome de um disco de instância de origem que quer substituir no modelo.INSTANTIATE_OPTIONS
especifica se deve incluir o disco e que imagem usar. Os valores válidos dependem do tipo de disco:source-image
ousource-image-family
(válido apenas para discos de arranque e outros discos de leitura/escrita persistentes). Especifique esta opção se quiser usar a mesma imagem de origem ou família de imagens de origem que foi usada para criar o disco na instância da VM de origem.custom-image
(válido apenas para o arranque e outros discos de leitura/escrita persistentes). Se quiser reter aplicações e definições das VMs de origem no modelo de instância, pode criar uma imagem personalizada e, em seguida, especificá-la quando criar o modelo. Se especificado, indique o caminho ou o URL da imagem personalizada, conforme mostrado no exemplo seguinte. Em alternativa, pode especificar uma família de imagens através do seguinte formato:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image, \ custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAME
attach-read-only
(válido apenas para discos só de leitura).blank
(válido apenas para discos persistentes não de arranque e SSDs locais). Se especificado, quando o modelo é usado para criar uma nova instância, o disco é criado sem formatação. Tem de formatar e montar o disco num script de arranque antes de o poder usar numa configuração escalável.do-not-include
(válido apenas para discos persistentes não de arranque e discos só de leitura).
AUTO_DELETE
especifica se o disco é eliminado automaticamente quando a instância é eliminada. Os valores válidos são:false
,no
,true
eyes
.
Por exemplo, o seguinte comando cria um modelo de instância com base em
my-source-instance
, com a opção de usar a imagem original dedata-disk-a
, mas define a eliminação automática comotrue
e substituidata-disk-b
por uma imagem personalizada.gcloud compute instance-templates create my-instance-template \ --source-instance=my-source-instance \ --configure-disk=device-name=data-disk-a,instantiate-from=source-image,auto-delete=true \ --configure-disk=device-name=data-disk-b,instantiate-from=custom-image,custom-image=projects/cps-cloud/global/images/cos-89-16108-403-15
Go
Java
Node.js
Python
REST
Para criar um modelo de instância regional, use o método
regionInstanceTemplates.insert
ou, para criar um modelo de instância global, use o métodoinstanceTemplates.insert
.No seu pedido, tem de especificar o campo
sourceInstance
. Para substituir a forma como os discos da instância de origem estão definidos, adicione um ou mais camposdiskConfigs
.Por exemplo, faça a seguinte chamada para criar um modelo de instância global a partir de uma instância existente.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "sourceInstance": "zones/SOURCE_INSTANCE_ZONE/instances/SOURCE_INSTANCE", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "SOURCE_DISK", "instantiateFrom": "INSTANTIATE_OPTIONS", "autoDelete": false } ] } }
Substitua o seguinte:
PROJECT_ID
: o ID do projetoINSTANCE_TEMPLATE_NAME
: o nome do novo modeloSOURCE_INSTANCE_ZONE
: a zona da instância de origemSOURCE_INSTANCE
: o nome da instância de origem a usar como modelo para este modelo de instânciaSOURCE_DISK
: o nome de um disco de instância de origem que quer substituir no modeloINSTANTIATE_OPTIONS
: especifica se deve incluir o disco e que imagem usarOs valores válidos dependem do tipo de disco:
source-image
ousource-image-family
(válido apenas para discos de arranque e outros discos persistentes de leitura/escrita).custom-image
(válido apenas para o arranque e outros discos de leitura/escrita persistentes). Se quiser reter aplicações e definições das VMs de origem no modelo de instância, pode criar uma imagem personalizada e, em seguida, especificá-la quando criar o modelo. Se especificado, indique o caminho ou o URL da imagem personalizada, conforme mostrado no exemplo seguinte. Em alternativa, pode especificar uma família de imagens através do seguinte formato:"diskConfigs": [ { "deviceName": DATA_DISK_NAME, "instantiateFrom": custom-image, "customImage": "projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAME" } ]
attach-read-only
(válido apenas para discos só de leitura).blank
(válido apenas para discos persistentes não de arranque e SSDs locais). Se especificado, quando o modelo é usado para criar uma nova instância, o disco é criado sem formatação. Tem de formatar e montar o disco num script de arranque antes de o poder usar numa configuração escalável.do-not-include
(válido apenas para discos persistentes não de arranque e discos só de leitura).
O exemplo seguinte cria um novo modelo de instância com base em
my-source-instance
. No modelo de instância, a imagem dedata-disk-a
é substituída porprojects/cos-cloud/global/images/cos-89-16108-403-15
.POST https://compute.googleapis.com/compute/v1/projects/my_project/global/instanceTemplates { "name": "my-instance-template", "sourceInstance": "zones/us-central1-a/instances/my-source-instance", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "data-disk-a", "instantiateFrom": "custom-image", "customImage": "projects/cos-cloud/global/images/cos-89-16108-403-15" } ] } }
A tabela seguinte mostra como as opções para substituir discos são definidas no modelo.
Tipo de disco Opções Disco de arranque - [Predefinição] Use a mesma imagem de origem ou família de imagens que foi usada para criar o disco de arranque na instância de origem.
- Use o URL de qualquer imagem (personalizada ou pública), conforme descrito no exemplo anterior, ou especifique uma família de imagens com o seguinte formato:
projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME
Outros discos persistentes de leitura/escrita - [Predefinição] Use a mesma imagem de origem/família de imagens de origem que foi usada para criar o disco na instância de origem. Nota: se o disco da instância de origem não tiver uma propriedade de imagem de origem/família de imagens de origem, é incluído no modelo como um disco em branco.
- Use o URL de qualquer imagem (personalizada ou pública), conforme descrito no
exemplo anterior, ou especifique uma família de imagens com o seguinte
formato:
projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME
- Em alternativa, use um disco em branco no modelo. Quando o modelo é usado para criar uma nova instância, este disco é criado sem formatação. Tem de formatar e montar o disco num script de arranque antes de o poder usar numa configuração escalável.
- Não inclua o disco.
Discos só de leitura - [Predefinição] Inclua o disco no modo de leitura.
- Não inclua o disco.
SSD(s) local(ais) - [Predefinição] Inclua um SSD local em branco. Quando o modelo é usado para criar uma nova instância, este disco é criado sem formatação. Tem de formatar e montar o disco num script de arranque antes de o poder usar numa configuração escalável.
Para cada disco, também pode substituir o atributo
auto-delete
para especificar se o disco deve ser eliminado quando a instância associada for eliminada.Por predefinição, se não forem especificadas opções de substituição, a configuração do disco no modelo corresponde à instância de origem.
Crie um modelo de instância com base num modelo existente
Não pode atualizar um modelo de instância existente. No entanto, se um modelo de instância ficar desatualizado ou se precisar de fazer alterações, pode criar outro com propriedades semelhantes através da consola.
Aceda à página Modelos de instâncias.
Clique no modelo de instância que quer copiar e atualizar.
Clique em Criar semelhante.
Atualize a configuração no novo modelo.
Clique em Criar.
Crie um modelo de instância para VMs com GPU
Quando cria um modelo de instância, pode configurá-lo para criar VMs com GPUs anexadas especificando o seguinte:
Um tipo de máquina que suporta o tipo de GPU que quer. Se quiser criar um modelo de instância regional, o tipo de GPU que especificar no modelo tem de estar disponível, pelo menos, numa zona da região.
Uma política de manutenção que para as VMs durante os eventos de manutenção do anfitrião.
Consola
Para criar um modelo de instância para VMs de GPU, faça o seguinte:
Na Google Cloud consola, aceda à página Modelos de instâncias.
Clique em Criar modelo de instância.
No campo Nome, introduza um nome para o modelo de instância.
Na secção Localização, selecione uma das seguintes opções:
Para criar um modelo de instância global, selecione Global (predefinição).
Para criar um modelo de instância regional, selecione Regional e, de seguida, selecione a região onde quer criar o modelo de instância.
Na secção Configuração da máquina, faça o seguinte:
Clique no separador GPUs.
No menu Tipo de GPU, selecione o tipo de GPU.
No menu Número de GPUs, selecione o número de GPUs.
Opcional: se o modelo da sua GPU suportar estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos, e planeia executar cargas de trabalho com utilização intensiva de gráficos, selecione Ativar estação de trabalho virtual (NVIDIA GRID).
Na secção Tipo de máquina, selecione um tipo de máquina.
Opcional: para alterar o tipo ou a imagem do disco de arranque predefinido, na secção Disco de arranque, clique em Alterar. Em seguida, siga as instruções para alterar o disco de arranque.
Clique em Criar.
gcloud
Para criar um modelo de instância para VMs de GPU, use o comando
instance-templates create
com a flag--maintenance-policy
definida comoTERMINATE
.Por exemplo, para criar um modelo de instância global para VMs de GPU, use o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE
Substitua o seguinte:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.IMAGE_PROJECT
: o projeto de imagem que contém a imagem; por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagens suportados, consulte o artigo Imagens públicas.IMAGE_FAMILY
ouIMAGE
: especifique uma das seguintes opções:IMAGE_FAMILY
: uma família de imagens. Isto especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se especificardebian-10
, é usada a versão mais recente na família de imagens Debian 10. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.IMAGE
: uma versão específica da imagem do SO; por exemplo,debian-10-buster-v20200309
. Se optar por especificar uma versão específica da imagem do SO, tem de substituir a flag--image-family
pela flag--image
.
MACHINE_TYPE
: o tipo de máquina das VMs. Se especificar um tipo de máquina N1, inclua a flag--accelerator
para especificar o número e o tipo de GPUs a associar às suas VMs.
Por exemplo, suponha que quer criar um modelo de instância global para VMs de GPU que especifique as seguintes propriedades:
Um tipo de máquina predefinido N1 com 2 vCPUs.
Uma GPU NVIDIA T4 para associar às VMs.
Debian como projeto de imagem.
Debian 10 como família de imagens.
Para criar o modelo de instância de exemplo, use o seguinte comando:
gcloud compute instance-templates create instance-template-gpu \ --accelerator=count=1,type=nvidia-tesla-t4 \ --machine-type=n1-standard-2 \ --image-family=debian-10 \ --image-project=debian-cloud \ --maintenance-policy=TERMINATE
Terraform
Para criar um modelo de instância, use um dos seguintes recursos:
- Para um modelo de instância regional, use o recurso
google_compute_region_instance_template
. - Para um modelo de instância global, use o recurso
google_compute_instance_template
.
O exemplo seguinte cria um modelo de instância global que especifica um tipo de máquina predefinido N1 com 2 vCPUs e uma GPU NVIDIA T4 anexada:
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
REST
Para criar um modelo de instância para VMs com GPU, faça um pedido
POST
ao métodoinstanceTemplates.insert
. No corpo do pedido, inclua o campoonHostMaintenance
e defina-o comoTERMINATE
.Por exemplo, para criar um modelo de instância global para VMs de GPU, faça um pedido da seguinte forma:
POST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto no qual quer criar o modelo de instância.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.IMAGE_PROJECT
: o projeto de imagem que contém a imagem; por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagens suportados, consulte o artigo Imagens públicas.IMAGE
ouIMAGE_FAMILY
: especifique uma das seguintes opções:IMAGE
: uma versão específica da imagem do SO; por exemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: uma família de imagens. Isto especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se especificarfamily/debian-10
, é usada a versão mais recente na família de imagens Debian 10. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.
MACHINE_TYPE
: o tipo de máquina das VMs. Se especificar um tipo de máquina N1, inclua o campoguestAccelerators
para especificar o número e o tipo de GPUs a associar às suas VMs.
Por exemplo, suponha que quer criar um modelo de instância global para VMs de GPU que especifique as seguintes propriedades:
Um tipo de máquina predefinido N1 com 2 vCPUs.
Uma GPU NVIDIA T4 para associar às VMs.
Debian como projeto de imagem.
Debian 10 como família de imagens.
Para criar o modelo de instância de exemplo, faça um pedido
POST
da seguinte forma:POST https://compute.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates { "name": "instance-template-gpu", "properties": { "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-10" } } ], "guestAccelerators": [ { "acceleratorType": "nvidia-tesla-t4", "acceleratorCount": 1 } ], "machineType": "n1-standard-2", "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Para mais opções de configuração ao criar um modelo de instância, consulte o artigo Criar um modelo de instância neste documento.
Crie um modelo de instância com uma imagem de contentor
Pode especificar uma imagem de contentor num modelo de instância. Por predefinição, o Compute Engine também inclui no modelo uma imagem do SO otimizado para contentores com o Docker instalado. Quando usa o modelo para criar uma nova instância, o contentor é iniciado automaticamente quando a instância é iniciada.
Consola
Aceda à página Modelos de instâncias.
Clique em Criar modelo de instância.
Na secção Contentor, clique em Implementar contentor.
Na caixa de diálogo Configurar contentor, especifique a Imagem do contentor a usar.
- Pode especificar uma imagem do Container Registry
ou do Artifact Registry.
Por exemplo:
gcr.io/cloud-marketplace/google/nginx1:TAG
, onde TAG é a etiqueta definida para uma versão específica da imagem do contentor NGINX disponível no Google Cloud Marketplace.us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
seleciona uma imagem de amostrahello-app
armazenada no Artifact Registry.
- Se usar uma imagem de contentor do Docker Hub, especifique sempre o nome completo da imagem Docker. Por exemplo, especifique o seguinte nome da imagem
para implementar uma imagem de contentor do Apache:
docker.io/httpd:2.4
.
- Pode especificar uma imagem do Container Registry
ou do Artifact Registry.
Por exemplo:
Opcionalmente, clique em Opções avançadas do contentor. Para mais informações, consulte Configurar opções para executar o seu contentor.
Clique em Criar.
gcloud
Use o comando
gcloud compute instance-templates create-with-container
:gcloud compute instance-templates create-with-container INSTANCE_TEMPLATE_NAME \ --container-image=CONTAINER_IMAGE
Substitua o seguinte:
INSTANCE_TEMPLATE_NAME
: O nome do modelo a criar.CONTAINER_IMAGE
: o nome completo da imagem do contentor a usar.
Por exemplo, o comando seguinte cria um novo modelo de instância com o nome
nginx-vm
. Uma instância de VM criada a partir deste modelo é iniciada e executa a imagem do contentor,gcr.io/cloud-marketplace/google/nginx1:TAG
, quando a VM é iniciada.gcloud compute instance-templates create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:TAG
Substitua
TAG
pela etiqueta definida para uma versão específica da imagem do contentor do NGINX disponível no Google Cloud Marketplace.Também pode configurar as opções para executar o contentor.
Crie um modelo de instância que especifique uma sub-rede
gcloud
Para criar um modelo de instância regional ou global, use o comando
instance-templates create
. Use a flag--subnet
para colocar instâncias criadas a partir do modelo na sub-rede da sua escolha. A flag--subnet
requer a flag--region
.Se quiser criar um modelo de instância regional, tem de usar a flag
--instance-template-region
para definir a região do modelo. Certifique-se de que usa uma sub-rede da mesma região onde quer criar o modelo de instância regional.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=REGION \ --subnet=SUBNET_NAME_OR_URL \ --stack-type=STACK_TYPE \ --instance-template-region=INSTANCE_TEMPLATE_REGION
Substitua o seguinte:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instânciaREGION
: a região da sub-redeSUBNET_NAME_OR_URL
: o nome da sub-rede ou o URL da mesmaSTACK_TYPE
: Opcional: se o IPv6 está ativado na interface de rede predefinida. Podem ser usados os seguintes valores:IPV4_ONLY
,IPV4_IPV6
ouIPV6_ONLY
. Se não incluir este sinalizador, o valor predefinido éIPV4_ONLY
.INSTANCE_TEMPLATE_REGION
: a região onde quer criar o modelo de instância. Esta região tem de ser igual aREGION
.
O exemplo seguinte cria um modelo denominado
template-qa
que apenas cria instâncias na sub-redesubnet-us-qa
.gcloud compute instance-templates create template-qa \ --region=us-central1 \ --subnet=subnet-us-qa
O resultado é semelhante ao seguinte:
Created [https://compute.googleapis.com/compute/latest/projects/PROJECT_ID/global/instanceTemplates/template-qa]. NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP template-qa e2-standard-2 2019-12-23T20:34:00.791-07:00
Go
Java
Node.js
Python
A utilização deste modelo para criar instâncias para um MIG (com ou sem dimensionamento automático) cria automaticamente a instância na região e sub-rede especificadas. Isto permite-lhe controlar a sub-rede de novas instâncias criadas para o balanceamento de carga.
Use imagens personalizadas ou públicas nos seus modelos de instâncias
Pode usar uma imagem personalizada ou uma imagem pública para os seus modelos de instâncias:
Imagens personalizadas. Como os MIGs são concebidos para adicionar e remover instâncias com frequência, é útil criar uma imagem personalizada e especificá-la no modelo de instância. Pode preparar a imagem com as aplicações e as definições de que as VMs precisam, para não ter de configurar manualmente esses itens em VMs individuais no MIG.
Imagens públicas. Pode criar um modelo de instância que use uma imagem pública e um script de arranque para preparar a instância depois de começar a ser executada.
As imagens personalizadas são mais determinísticas e iniciam-se mais rapidamente do que as VMs com scripts de arranque. No entanto, os scripts de arranque são mais flexíveis, o que ajuda a atualizar as apps e as definições nas suas instâncias.
Se estiver a gerir imagens através de famílias de imagens, pode especificar o nome da sua família de imagens personalizada ou pública no modelo de instância. Para mais informações sobre famílias de imagens, consulte as práticas recomendadas quando usar famílias de imagens no Compute Engine.
O que se segue?
- Veja um modelo de instância para ver o respetivo ID e propriedades da instância.
- Crie uma VM a partir de um modelo de instância.
- Crie um grupo de instâncias geridas (MIG).
- Atualize as VMs num MIG existente para usar as propriedades de um modelo de instância diferente.
- Crie uma reserva para VMs.
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.
-