Esta página descreve como criar e gerenciar modelos de instância . Os modelos de instância permitem especificar o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você deseja usar ao criar instâncias de máquina virtual (VM).
Você pode usar modelos de instância para fazer o seguinte:
- Crie VMs individuais .
- Crie VMs em um grupo gerenciado de instâncias (MIG) .
- Crie reservas para VMs .
- Crie reservas futuras para VMs .
Antes de começar
- Leia quando e por que criar modelos de instâncias determinísticas.
- Leia sobre modelos de instâncias regionais e globais .
- 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.
- 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.
- A VPC compartilhada em interfaces diferentes de
nic0
para modelos de instância é compatível com gcloud CLI e REST, mas não no console do Google Cloud. - Não é possível atualizar um modelo de instância existente nem alterar um modelo de instância depois de ele ter sido criado. Se um modelo de instância ficar desatualizado ou você precisar fazer alterações na configuração, crie um novo modelo de instância.
- Se quiser especificar uma família de imagens em um modelo de instância, não será possível usar o console do Google Cloud. Você pode usar a Google Cloud CLI ou REST.
- Se você quiser especificar discos regionais em vez de discos zonais em um modelo de instância, não poderá usar o console do Google Cloud. Você pode usar a Google Cloud CLI ou REST.
- Você pode usar um modelo de instância para criar VMs com um disco de inicialização balanceado de hiperdisco que esteja em um pool de armazenamento , se o pool de armazenamento existir na mesma zona em que a VM foi criada. Você não pode usar modelos de instância globais para criar VMs com discos que não sejam de inicialização que estejam em um pool de armazenamento.
No console do Google Cloud, acesse a página Modelos de instância .
As etapas restantes aparecem no console do Google Cloud.
- Clique
Criar modelo de instância . - Selecione o local da seguinte forma:
- Se quiser usar o modelo de instância entre regiões, escolha Global .
- Se quiser reduzir a dependência entre regiões, escolha Regional .
- Se você escolheu regional, selecione a região onde deseja criar seu modelo de instância.
Para os campos a seguir, aceite os valores padrão ou modifique-os conforme necessário. Os valores padrão mudam com base na família de máquinas selecionada.
- Selecione um
Tipo de máquina . - Para atualizar o tipo ou imagem do disco de inicialização, na seção
Disco de inicialização seção, clique em Alterar . - Para atualizar as configurações da interface de rede ou do endereço IP, clique em
Opções avançadas , clique em Rede e clique na interface de rede que deseja editar.
- Selecione um
Opcional: Se você escolher uma imagem compatível com VM protegida, altere as configurações de VM protegida da VM:
- Clique em Opções avançadas e, em seguida, clique na guia Segurança .
- Se você deseja desativar a inicialização segura, desmarque a caixa de seleção Ativar inicialização segura . A inicialização segura ajuda a proteger suas instâncias de VM contra malware e rootkits em nível de inicialização e de kernel. Para obter mais informações, consulte Inicialização segura .
Se desejar desabilitar o módulo de plataforma confiável virtual (vTPM), desmarque a caixa de seleção Ativar vTPM . O vTPM permite a inicialização medida, que valida a pré-inicialização da VM e a integridade da inicialização. Para obter mais informações, consulte Módulo de plataforma confiável virtual (vTPM) .
Se quiser desabilitar o monitoramento de integridade, desmarque a caixa de seleção Ativar monitoramento de integridade . O monitoramento de integridade permite monitorar a integridade de inicialização das instâncias de VM protegidas usando o Cloud Monitoring. Para obter mais informações, consulte Monitoramento de integridade .
Opcional: em Opções avançadas , clique nas guias para personalizar ainda mais seu modelo. Por exemplo, você pode adicionar até 15 discos secundários sem inicialização.
Opcional: clique em REST equivalente para visualizar o corpo da solicitação REST, que inclui a representação JSON do seu modelo de instância.
Clique em Criar para criar o modelo.
- Tipo de máquina: o tipo de máquina — por exemplo,
n1-standard-1
- Imagem: a imagem mais recente do Debian
- Disco de inicialização: um novo disco de inicialização padrão com o nome da VM
- Rede: a rede VPC padrão
- Endereço IP: um endereço IPv4 externo efêmero
- Tipo de pilha:
IPV4_ONLY
-
INSTANCE_TEMPLATE_NAME
: o nome do modelo -
MACHINE_TYPE
: o tipo de máquina das VMs DISK_IMAGE_FAMILY
: uma família de imagens para usar como disco que não é de inicializaçãoPara mais informações sobre famílias de imagens, consulte as práticas recomendadas ao usar famílias de imagens no Compute Engine.
Em vez disso, você pode usar o sinalizador
--image= IMAGE
para especificar uma versão específica de uma imagem.Para discos vazios, não especifique a propriedade
image-family
ouimage
.DISK_IMAGE_PROJECT
: o projeto de imagem que contém a imagemPara discos vazios, não especifique a propriedade
image-project
. Para obter mais informações sobre imagens públicas, consulte Imagens públicas .SIZE_GB_DISK1
eSIZE_GB_DISK2
: o tamanho de cada disco secundárioDISK_NAME
: opcional: o nome do disco exibido para o sistema operacional convidado após a criação da VM.DISK_TYPE
: Opcional: o tipo de disco a ser criado. Se não for especificado, o tipo de disco padrão usado dependerá do valor do sinalizador--machine-type
.ZONE
eREMOTE_ZONE
: a zona para criar o disco regional e a zona para replicá-lo.Para discos zonais, não inclua a propriedade
replica-zones
.--no-shielded-secure-boot
: desativa a inicialização seguraA inicialização segura ajuda a proteger suas instâncias de VM contra malware e rootkits em nível de inicialização e de kernel. Para obter mais informações, consulte Inicialização segura .
--no-shielded-vtpm
: desativa o módulo de plataforma confiável virtual (vTPM)O vTPM habilita a inicialização medida, que valida a pré-inicialização da VM e a integridade da inicialização. Para obter mais informações, consulte Módulo de plataforma confiável virtual (vTPM) .
--no-shielded-integrity-monitoring
: desativa o monitoramento de integridadeO monitoramento de integridade permite monitorar a integridade de inicialização das instâncias de VM protegidas usando o Cloud Monitoring. Para obter mais informações, consulte Monitoramento de integridade .
- Crie discos adicionais com uma imagem pública ou personalizada.
- Para adicionar um disco vazio, defina a entrada
initializeParams
sem valorsourceImage
. - Para criar discos regionais, defina a entrada
initializeParams
com a propriedadereplicaZones
. -
PROJECT_ID
: o ID do seu projeto -
REGION
: a região onde você deseja criar seu modelo de instância regional -
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância -
ZONE
: a zona onde as VMs estão localizadas MACHINE_TYPE
: o tipo de máquina das VMs-
IMAGE_PROJECT
: o projeto de imagem que contém a imagemPara obter mais informações sobre imagens públicas, consulte Imagens públicas .
-
IMAGE
ouIMAGE_FAMILY
: especifique um dos seguintes:-
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 imagensIsso cria a VM a partir da imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificar
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, o Compute Engine criará uma VM a partir da versão mais recente da imagem do sistema operacional na família de imagens Debian 10.Para mais informações sobre famílias de imagens, consulte as práticas recomendadas ao usar famílias de imagens no Compute Engine.
-
DISK_NAME
: opcional: o nome do disco exibido para o sistema operacional convidado após a criação da VM.PROJECT_NAME
: o projeto associado à VMREMOTE_ZONE
: a zona onde o disco regional deve ser replicadoEspecifique
initializeParams
para criar discos de inicialização para cada instância. Você pode criar discos usando imagens públicas ou personalizadas (ou famílias de imagens ) usando a propriedadesourceImage
, conforme mostrado no exemplo anterior. Para adicionar discos vazios, não especifiquesourceImage
. Você também pode adicionar até 15 discos secundários sem inicialização usando a propriedadeinitializeParams
para cada disco adicional.Especifique
source
para anexar um disco de inicialização existente. Se você anexar um disco de inicialização existente, poderá criar apenas uma instância do seu modelo.enableSecureBoot
: ativa ou desativa a inicialização seguraA inicialização segura ajuda a proteger suas instâncias de VM contra malware e rootkits em nível de inicialização e de kernel. Para obter mais informações, consulte Inicialização segura .
enableVtpm
: ativa ou desativa o módulo de plataforma confiável virtual (vTPM)O vTPM habilita a inicialização medida, que valida a pré-inicialização da VM e a integridade da inicialização. Para obter mais informações, consulte Módulo de plataforma confiável virtual (vTPM) .
enableIntegrityMonitoring
: ativa ou desativa o monitoramento de integridadeO monitoramento de integridade permite monitorar e verificar a integridade da inicialização do tempo de execução das instâncias de VM protegida usando relatórios do Cloud Monitoring. Para obter mais informações, consulte Monitoramento de integridade .
-
INSTANCE_TEMPLATE_NAME
é o nome do modelo a ser criado. -
SOURCE_INSTANCE
é o nome da instância a ser usada 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 você deseja substituir no modelo. INSTANTIATE_OPTIONS
especifica se o disco deve ser incluído e qual imagem usar. Os valores válidos dependem do tipo de disco:-
source-image
ousource-image-family
(válido apenas para inicialização e outros discos persistentes de leitura e gravação). 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 de VM de origem. custom-image
(válida apenas para inicialização e outros discos persistentes de leitura e gravação). Se quiser manter aplicativos e configurações das VMs de origem em seu modelo de instância, você poderá criar uma imagem personalizada e especificá-la ao criar o modelo. Se especificado, forneça o caminho ou URL da imagem personalizada, conforme mostrado no exemplo a seguir. Alternativamente, você pode especificar uma família de imagens usando o 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 somente leitura).blank
(válido apenas para discos permanentes sem inicialização e SSDs locais). Se especificado, então, quando o modelo for usado para criar uma nova instância, o disco será criado não formatado. Você deve formatar e montar o disco em um script de inicialização antes de poder usá-lo em uma configuração escalável.do-not-include
(válido apenas para discos permanentes sem inicialização e discos somente leitura).
-
AUTO_DELETE
especifica se o disco será excluído automaticamente quando a instância for excluída. Os valores válidos são:false
,no
,true
eyes
.-
PROJECT_ID
: o ID do seu projeto -
INSTANCE_TEMPLATE_NAME
: o nome do novo modelo -
SOURCE_INSTANCE_ZONE
: a zona da instância de origem -
SOURCE_INSTANCE
: o nome da instância de origem a ser usada como modelo para este modelo de instância -
SOURCE_DISK
: o nome de um disco de instância de origem que você deseja substituir no modelo INSTANTIATE_OPTIONS
: especifica se o disco deve ser incluído e qual imagem usarOs valores válidos dependem do tipo de disco:
-
source-image
ousource-image-family
(válido apenas para inicialização e outros discos persistentes de leitura e gravação). custom-image
(válida apenas para inicialização e outros discos persistentes de leitura e gravação). Se quiser manter aplicativos e configurações das VMs de origem em seu modelo de instância, você poderá criar uma imagem personalizada e especificá-la ao criar o modelo. Se especificado, forneça o caminho ou URL da imagem personalizada, conforme mostrado no exemplo a seguir. Alternativamente, você pode especificar uma família de imagens usando o 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 somente leitura).blank
(válido apenas para discos permanentes sem inicialização e SSDs locais). Se especificado, então, quando o modelo for usado para criar uma nova instância, o disco será criado não formatado. Você deve formatar e montar o disco em um script de inicialização antes de poder usá-lo em uma configuração escalável.do-not-include
(válido apenas para discos permanentes sem inicialização e discos somente leitura).
-
- [Padrão] Use a mesma imagem de origem ou família de imagens usada para criar o disco de inicialização 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 usando o seguinte formato:
- [Padrã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. Observação: se o disco da instância de origem não tiver uma propriedade de imagem de origem/família de imagens de origem, ele será 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 usando o seguinte formato:
projects/exampleproject/global/images/family/ IMAGE_FAMILY_NAME
- Use um disco vazio no modelo. Quando o modelo é usado para criar uma nova instância, esse disco é criado sem formatação. Você deve formatar e montar o disco em um script de inicialização antes de poder usá-lo em uma configuração escalável.
- Não inclua o disco.
- [Padrão] Inclui o disco no modo somente leitura.
- Não inclua o disco.
- [Padrão] Inclui um SSD local em branco. Quando o modelo é usado para criar uma nova instância, esse disco é criado sem formatação. Você deve formatar e montar o disco em um script de inicialização antes de poder usá-lo em uma configuração escalável.
Acesse a página Modelos de instância .
Clique no modelo de instância que você deseja copiar e atualizar.
Clique em Criar semelhante .
Atualize a configuração no novo modelo.
Clique em Criar .
Um tipo de máquina compatível com o tipo de GPU desejado . Se você quiser criar um modelo de instância regional, o tipo de GPU especificado no modelo deverá estar disponível em pelo menos uma zona da região .
Uma política de manutenção que interrompe VMs durante eventos de manutenção do host .
No console do Google Cloud, acesse a página Modelos de instância .
Clique em Criar modelo de instância .
No campo Nome , insira um nome para o modelo de instância.
Na seção Localização , selecione uma das seguintes opções:
Para criar um modelo de instância global, selecione Global (padrão).
Para criar um modelo de instância regional, selecione Regional e selecione a região onde deseja criar o modelo de instância.
Na seção Configuração da máquina , faça o seguinte:
Clique na guia 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 seu modelo de GPU suportar estações de trabalho virtuais NVIDIA RTX (vWS) para cargas de trabalho gráficas e você planeja executar cargas de trabalho com uso intensivo de gráficos, selecione Habilitar estação de trabalho virtual (NVIDIA GRID) .
Na seção Tipo de máquina , selecione um tipo de máquina.
Opcional: Para alterar o tipo ou imagem do disco de inicialização do valor padrão, na seção Disco de inicialização , clique em Alterar . Em seguida, siga as instruções para alterar o disco de inicialização.
Clique em Criar .
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 obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .IMAGE_FAMILY
ouIMAGE
: especifique um dos seguintes:IMAGE_FAMILY
: uma família de imagens . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificardebian-10
, a versão mais recente da família de imagens Debian 10 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte 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 você optar por especificar uma versão específica da imagem do sistema operacional, deverá substituir o sinalizador--image-family
pelo sinalizador--image
.
MACHINE_TYPE
: o tipo de máquina das VMs. Se você especificar um tipo de máquina N1, inclua o sinalizador--accelerator
para especificar o número e o tipo de GPUs a serem anexadas às suas VMs.Um tipo de máquina predefinido N1 com 2 vCPUs.
Uma GPU NVIDIA T4 para anexar às VMs.
Debian como projeto de imagem.
Debian 10 como família de imagens.
PROJECT_ID
: o ID do projeto no qual você deseja 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 obter mais informações sobre os projetos de imagem suportados, consulte Imagens públicas .IMAGE
ouIMAGE_FAMILY
: especifique um dos seguintes:IMAGE
: uma versão específica da imagem do SO; por exemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: uma família de imagens . Isso especifica a imagem do sistema operacional mais recente e não obsoleta. Por exemplo, se você especificarfamily/debian-10
, a versão mais recente da família de imagens Debian 10 será usada. Para obter mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
MACHINE_TYPE
: o tipo de máquina das VMs. Se você especificar um tipo de máquina N1, inclua o campoguestAccelerators
para especificar o número e o tipo de GPUs a serem anexadas às suas VMs.Um tipo de máquina predefinido N1 com 2 vCPUs.
Uma GPU NVIDIA T4 para anexar às VMs.
Debian como projeto de imagem.
Debian 10 como família de imagens.
Acesse a página Modelos de instância .
Clique em Criar modelo de instância .
Na seção Contêiner , clique em Implantar Contêiner .
Na caixa de diálogo Configurar contêiner , especifique a imagem do contêiner a ser usada.
- Você pode especificar uma imagem do Container Registry ou do Artifact Registry . Por exemplo:
-
gcr.io/cloud-marketplace/google/nginx1: TAG
, onde TAG é a tag definida para uma versão específica da imagem de contêiner 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 você usar uma imagem de contêiner do Docker Hub, sempre especifique o nome completo da imagem do Docker. Por exemplo, especifique o seguinte nome de imagem para implementar uma imagem de contêiner Apache:
docker.io/httpd:2.4
.
- Você pode especificar uma imagem do Container Registry ou do Artifact Registry . Por exemplo:
Opcionalmente, clique em Opções avançadas de contêiner . Para obter mais informações, consulte Configurando opções para executar seu Container .
Clique em Criar .
-
INSTANCE_TEMPLATE_NAME
: o nome do modelo a ser criado. -
CONTAINER_IMAGE
: o nome completo da imagem do contêiner a ser usada. -
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância -
REGION
: a região da sub-rede SUBNET_NAME_OR_URL
: o nome da sub-rede ou seu URLSTACK_TYPE
: Opcional: se o IPv6 está habilitado na interface de rede padrão. Os seguintes valores podem ser usados:IPV4_ONLY
,IPV4_IPV6
ouIPV6_ONLY
( Preview ). Se você não incluir esse sinalizador, o valor padrão seráIPV4_ONLY
.INSTANCE_TEMPLATE_REGION
: a região onde você deseja criar o modelo de instância. Esta região deve ser igual aREGION
.Imagens personalizadas. Como os MIGs são projetados para adicionar e remover instâncias com frequência, é útil criar uma imagem personalizada e especificá-la no modelo de instância. Você pode preparar sua imagem com os aplicativos e configurações que suas VMs precisam, para não precisar configurar manualmente esses itens em VMs individuais no MIG.
Imagens públicas. Você pode criar um modelo de instância que use uma imagem pública e um script de inicialização para preparar a instância depois que ela começar a ser executada.
- Crie uma VM a partir de um modelo de instância .
- Crie um grupo de instâncias gerenciadas zonal (MIG) .
- Crie um MIG regional .
- Atualize as VMs em um MIG existente para usar a configuração de um novo modelo.
- Crie uma reserva para VMs .
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
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.
Limitações
Crie um modelo de instância
A maioria das propriedades de VM que você pode especificar em uma solicitação para criar uma instância de VM individual também pode ser especificada para um modelo de instância, incluindo quaisquer metadados de VM, scripts de inicialização, discos permanentes e contas de serviço. Você deve especificar o tipo de máquina, o disco de inicialização e a rede.
Crie um modelo de instância regional ou global por meio do console do Google Cloud , da CLI do Google Cloud ou da API . Para criar um modelo de instância global, você também pode usar o Terraform ou as bibliotecas de cliente do Cloud .
Console
gcloud
Para criar um modelo de instância regional ou global, use o comando
instance-templates create
. Para um modelo de instância regional, você deve usar o sinalizador--instance-template-region
para definir a região do modelo.Crie um modelo de instância regional usando o comando a seguir.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION
Substitua
REGION
pela região onde você deseja criar o modelo de instância regional.Crie um modelo de instância global usando o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
Se você não fornecer configurações de modelo explícitas,
gcloud compute
usará os seguintes valores padrão:Você também pode fornecer explicitamente essas definições de configuração. Por exemplo:
gcloud compute instance-templates create example-template-custom \ --machine-type=e2-standard-4 \ --image-family=debian-12 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Você pode adicionar até 15 discos secundários sem inicialização. Especifique o sinalizador
--create-disk
para cada disco secundário criado. Para criar discos secundários a partir de uma imagem pública ou personalizada, especifique as propriedadesimage
eimage-project
para cada disco no sinalizador--create-disk
. Para criar um disco vazio, não inclua essas propriedades. Opcionalmente, inclua propriedades para osize
etype
do disco. 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
Dica: Ao especificar o parâmetro disk
replica-zones
, os caracteres^:^
especificam que o caractere de separação entre valores é dois pontos (:
) em vez da vírgula esperada (,
).Substitua o seguinte:
Se você escolher uma imagem compatível com VM protegida , poderá alterar opcionalmente as configurações de VM protegida da instância usando uma das seguintes sinalizações:
Para obter uma lista de todos os subcomandos e sinalizadores disponíveis, consulte a referência
instance-templates
.Um modelo com as configurações padrão pode ter a seguinte aparência:
gcloud compute instance-templates describe example-template
creationTimestamp: '2019-09-10T16:18:32.042-07:00' description: '' id: '6057583701980539406' kind: compute#instanceTemplate name: example-template properties: canIpForward: false disks: - autoDelete: true boot: true initializeParams: sourceImage: https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-12 kind: compute#attachedDisk mode: READ_WRITE type: PERSISTENT machineType: c3-standard-4 networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat type: ONE_TO_ONE_NAT network: https://compute.googleapis.com/compute/v1/projects/myproject/global/networks/default scheduling: automaticRestart: true onHostMaintenance: MIGRATE serviceAccounts: - email: default scopes: - https://www.googleapis.com/auth/devstorage.read_only selfLink: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-template
Terraforma
Para criar um modelo de instância, você pode usar o recurso
google_compute_instance_template
.O exemplo do Terraform a seguir é semelhante ao seguinte comando da CLI gcloud:
gcloud compute instance-templates create my-instance-template \ --machine-type=c3-standard-4 \ --image-family=debian-12 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
Ir
Java
Node.js
Pitão
DESCANSAR
Para criar um modelo de instância regional, faça uma solicitação
POST
para o 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 uma solicitação
POST
para o métodoinstanceTemplates.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Você pode adicionar até 15 discos secundários sem inicialização usando a propriedade
disks
, com um campo para cada disco adicional. Para cada disco adicional, você pode fazer o seguinte:No corpo da solicitação, forneça 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:
Você pode especificar uma das seguintes opções para a propriedade
disks
:Opcionalmente, você pode especificar as propriedades
diskSizeGb
,diskType
elabels
parainitializeParams
e a propriedadediskSizeGb
parasource
.Se você escolher uma imagem compatível com VM protegida , poderá alterar opcionalmente as configurações de VM protegida da VM usando os seguintes itens do corpo da solicitação booleana:
Para saber mais sobre parâmetros de solicitação, consulte o método
instanceTemplates.insert
.Crie um modelo de instância com base em uma instância existente
Você pode usar REST ou CLI gcloud para salvar a configuração de uma instância de VM existente como um modelo de instância. Opcionalmente, você pode substituir a forma como os discos de origem são definidos no modelo.
Se você precisar substituir outras propriedades, primeiro crie um modelo de instância com base em uma instância existente e, em seguida, crie um modelo semelhante com substituições adicionais.
gcloud
Use o comando
gcloud compute instance-templates create
com os sinalizadores--source-instance
e--source-instance-zone
. Se quiser criar um modelo de instância regional, você também deverá usar o sinalizador--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 como os discos da instância de origem são definidos, adicione um ou mais sinalizadores
--configure-disk
.O exemplo a seguir 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 fornecidas por você.
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:
Por exemplo, o comando a seguir cria um modelo de instância baseado em
my-source-instance
, com a opção de usar a imagem original dedata-disk-a
, mas definir auto-delete comotrue
e substituirdata-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
Ir
Java
Node.js
Pitão
DESCANSAR
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
.Na sua solicitação, você deve especificar o campo
sourceInstance
. Para substituir como os discos da instância de origem são definidos, adicione um ou mais camposdiskConfigs
.Por exemplo, faça a chamada a seguir 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:
O exemplo a seguir cria um novo modelo de instância baseado em
my-source-instance
. No modelo de instância, a imagem paradata-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 a seguir mostra como as opções para substituir discos são definidas no modelo.
Tipo de disco Opções Disco de inicialização projects/exampleproject/global/images/family/ IMAGE_FAMILY_NAME
Outros discos permanentes de leitura/gravação Disco(s) somente leitura SSD(s) locais Para cada disco, você também pode substituir o atributo
auto-delete
para especificar se o disco deve ser excluído quando sua instância associada for excluída.Por padrão, se nenhuma opção de substituição for especificada, a configuração do disco no modelo corresponderá à instância de origem.
Crie um modelo de instância com base em um modelo existente
Não é possível atualizar um modelo de instância existente. Porém, se um modelo de instância ficar desatualizado ou se você precisar fazer alterações, você poderá criar outro com propriedades semelhantes usando o console.
Crie um modelo de instância para VMs GPU
Ao criar um modelo de instância, você pode configurá-lo para criar VMs que tenham GPUs anexadas especificando o seguinte:
Console
Para criar um modelo de instância para VMs de GPU, faça o seguinte:
gcloud
Para criar um modelo de instância para VMs GPU, use o comando
instance-templates create
com o sinalizador--maintenance-policy
definido 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:
Por exemplo, suponha que você queira criar um modelo de instância global para VMs de GPU que especifique as seguintes propriedades:
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
Terraforma
Para criar um modelo de instância para VMs GPU, use o recurso
google_compute_region_instance_template
.Por exemplo, para criar um modelo de instância global, que especifica um tipo de máquina predefinido N1 com 2 vCPUs e uma GPU NVIDIA T4 anexada, use o seguinte recurso:
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Para criar um modelo de instância para VMs GPU, faça uma solicitação
POST
para o métodoinstanceTemplates.insert
. No corpo da solicitação, inclua o campoonHostMaintenance
e defina-o comoTERMINATE
.Por exemplo, para criar um modelo de instância global para VMs GPU, faça uma solicitação
POST
da seguinte forma: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:
Por exemplo, suponha que você queira criar um modelo de instância global para VMs de GPU que especifique as seguintes propriedades:
Para criar o modelo de instância de exemplo, faça uma solicitação
POST
da seguinte maneira: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 obter mais opções de configuração ao criar um modelo de instância, consulte Criar um modelo de instância neste documento.
Crie um modelo de instância com uma imagem de contêiner
Você pode especificar uma imagem de contêiner em um modelo de instância. Por padrão, o Compute Engine também inclui no modelo uma imagem do Container-Optimized OS com o Docker instalado. Quando você usa o modelo para criar uma nova instância, o contêiner é iniciado automaticamente assim que a instância é inicializada.
Console
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:
Por exemplo, o comando a seguir cria um novo modelo de instância denominado
nginx-vm
. Uma instância de VM criada a partir deste modelo inicia e executa a imagem do contêiner,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 tag definida para uma versão específica da imagem de contêiner NGINX disponível no Google Cloud Marketplace.Você também pode configurar opções para executar seu contêiner .
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 o sinalizador--subnet
para colocar instâncias criadas a partir do modelo na sub-rede de sua escolha. O sinalizador--subnet
requer o sinalizador--region
.Se quiser criar um modelo de instância regional, você deverá usar o sinalizador
--instance-template-region
para definir a região do modelo. Certifique-se de usar uma sub-rede da mesma região onde deseja 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:
O exemplo a seguir cria um modelo chamado
template-qa
que cria apenas instâncias na sub-redesubnet-us-qa
.gcloud compute instance-templates create template-qa \ --region=us-central1 \ --subnet=subnet-us-qa
A saída é semelhante à 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
Ir
Java
Node.js
Pitão
Usar este modelo para criar instâncias para um MIG (com ou sem escalonamento automático ) cria automaticamente a instância na região e sub-rede especificadas. Isso permite controlar a sub-rede de novas instâncias criadas para balanceamento de carga.
Use imagens personalizadas ou públicas em seus modelos de instância
Você pode usar uma imagem personalizada ou pública para seus modelos de instância:
As imagens personalizadas são mais determinísticas e iniciam mais rapidamente do que as VMs com scripts de inicialização. No entanto, os scripts de inicialização são mais flexíveis, o que ajuda a atualizar os aplicativos e as configurações nas suas instâncias.
Se você estiver gerenciando imagens usando famílias de imagens , poderá 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 ao usar famílias de imagens no Compute Engine.
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-17 UTC.
-