Criando um modelo de instância
Você pode criar um modelo de instância para definir os detalhes da instância e, assim, provisionar um ou mais servidores virtuais. Quando o seu modelo de instância é criado, é possível usá-lo para provisionar instâncias de servidor virtual únicas ou várias instâncias ao mesmo tempo como parte de um grupo de instâncias.
Criando um modelo de instância com a IU
O modelo de instância define os detalhes das instâncias de servidor virtual que são criadas por meio do modelo. Por exemplo, especifique o perfil (vCPU e memória), a imagem, os volumes conectados e as interfaces de rede para o modelo de imagem.
Para criar um modelo de instância, conclua as etapas a seguir.
- No IBM Cloud console, clique no ícone Navigation menu
> Infrastructure
> Compute > Instance templates.
- Clique em “Novo modelo de instância” e insira as informações que constam na Tabela 1.
- Clique em Criar modelo de instância quando as informações estiverem concluídas.
Ao criar um modelo de instância, são realizadas etapas de validação para garantir que você possa usar esse modelo para provisionar uma instância de servidor virtual.
| Campo | Valor |
|---|---|
| Local | Os locais são compostos de regiões (áreas geográficas específicas) e zonas (data centers tolerantes a falhas em uma região). Selecione a área geográfica, a região e a zona onde deseja que sua instância de servidor virtual seja criada. |
| Nome | Um nome é necessário para a instância de servidor virtual. |
| Grupo de recursos | Selecione um grupo de recursos para a instância. |
| Imagem |
Clique em Mudar imagem para selecionar uma imagem Na página Selecionar uma imagem, é possível selecionar uma imagem de estoque, uma imagem customizada, uma imagem do catálogo, uma captura instantânea ou um volume existente. Se a localização geográfica em que estiver provisionando uma instância for compatível, você poderá selecionar uma das seguintes opções:
Depois de selecionar sua imagem, clique em Salvar.
|
| Profile | Clique em Change profile (Alterar perfil ) para selecionar entre todas as combinações disponíveis de vCPU e RAM. As famílias de perfis são: Equilibrado, Computação, Memória, Memória Ultra-alta, Memória Muito Alta, Otimizado
para Armazenamento, GPU, Flex, Computação Confidencial e Alta Frequência.
Verifique se o perfil que você usa está disponível na zona onde você planeja criar a instância. Para obter mais informações, consulte Perfis. Alguns perfis podem não estar disponíveis porque o número de interfaces de rede no servidor virtual excede os limites do perfil. Você pode remover interfaces de rede para selecionar entre mais perfis. Para obter mais informações, consulte “Redimensionamento de um servidor virtual ”. Alguns perfis podem não estar disponíveis porque a imagem selecionada contém uma condição de uso permitida que não é compatível com o perfil. Nesses casos, selecione uma imagem com uma expressão de uso permitido que seja compatível com o perfil desejado. Para obter mais informações, consulte Adição de expressões de uso permitido a imagens personalizadas. |
| Encadeamentos por núcleo | O número de threads por núcleo oferece a flexibilidade necessária para otimizar sua carga de trabalho. Embora o número de threads por núcleo seja exibido para todos os perfis, você só pode editá-lo na família de perfis de Alta Frequência. Para perfis de alta frequência, o valor padrão é 2, mas pode ser ajustado para 1. |
| Chave SSH | Deve-se selecionar uma chave SSH pública existente ou clicar em Criar uma chave SSH para criar uma nova. É possível criar apenas chaves SSH RSA. Para ED25519 Chaves SSH, você deve fazer upload das informações da chave.
Para obter mais informações sobre como criar uma chave SSH, consulte Criando sua chave SSH usando a IU. As chaves SSH são usadas para se conectar com segurança
à instância após ela estar em execução.
Observação:** As combinações alfanuméricas estão limitadas a 100 caracteres. As chaves SSH podem ser RSA ou Ed25519. O protocolo Ed25519 poderá ser usado somente se o sistema operacional suportar esse tipo de chave. O Ed25519 não pode ser usado com imagens do Windows ou do VMware. Para obter mais informações, acesse Introdução às chaves SSH. |
| Volume de inicialização | O tamanho do volume de inicialização padrão para todos os perfis é 100 GB. Você pode especificar uma capacidade de volume de inicialização maior, de até 250 GB quando estiver usando perfis de volume de primeira geração e de até 32.000
GB quando estiver usando o perfil sdp, dependendo das necessidades da imagem. Você também pode especificar tags de usuário. |
| Volumes de dados | É possível adicionar um ou mais volumes de dados secundários a serem incluídos ao provisionar a instância. Para adicionar volumes, clique em Criar. Você pode especificar a criptografia gerenciada pelo cliente e as tags de usuário para o volume. |
| Nuvem virtual privada | Especifique o IBM Cloud VPC no qual você deseja criar a sua instância. É possível usar uma VPC existente ou criar uma VPC nova. Para criar uma nova VPC, clique em Nova VPC. |
| Interfaces de rede | Define a conexão de rede para o IBM Cloud VPC. Por padrão, a nova opção Conexão de rede com uma interface de rede virtual é selecionada para o seu modelo de instâncias. Como alternativa, é possível selecionar a opção de
legado Interface de Rede da Instância Qualquer que seja o tipo de opção de interface de rede que você selecionar ao provisionar o servidor virtual persiste durante o ciclo de vida do servidor virtual. Depois de selecionar
o tipo de interface de rede, você pode clicar no ícone Editar |
| Dados do usuário | É possível incluir dados do usuário que executam automaticamente tarefas de configuração comuns ou executam scripts. Para obter mais informações, consulte Dados do usuário. |
| Metadados | Desativado por padrão, permite que a instância criada a partir deste modelo colete metadados sobre si mesma. Clique no botão de alternância para ativar o serviço de metadados. Para obter mais informações, consulte Sobre metadados para VPC. |
| Incluir ao host dedicado | Você pode adicionar a instância do servidor virtual a um host dedicado, criando a instância em um espaço de locatário único. Para provisionar uma instância dedicada, deve-se ter um host dedicado disponível ou criar um. |
| Incluir ao grupo de posicionamento | Você pode selecionar um grupo de alocação para a instância. Para ativar grupos de colocação, clique na alternância. Em seguida, selecione ou crie um grupo de posicionamentos para a instância Se você incluir um grupo de posicionamento, a instância será colocada de acordo com a estratégia do grupo de posicionamento. Para obter mais informações, consulte Sobre grupos de posicionamento. |
| Alocação dinâmica da largura de banda do volume | Clique no botão de alternância para ativar a alocação de largura de banda de volume agrupado para volumes de dados anexados. Esse recurso é compatível com perfis de computação selecionados. |
| Reinicialização automática de falha de host | Essa configuração é ativada por padrão. Para desativar a reinicialização automática de falha do host, clique na alternância Para obter mais informações, consulte Políticas de recuperação de falha de host. |
Criando um modelo de instância com a CLI
O modelo de instância define os detalhes das instâncias de servidor virtual que são criadas por meio do modelo. Por exemplo, especifique o perfil ( vCPU e e memória), a imagem, os volumes anexados e as interfaces de rede para o modelo de instância. É possível criar um ou mais modelos de instância em seu IBM Cloud VPC usando a interface da linha de comandos (CLI).
Para obter mais informações sobre como criar uma instância de servidor virtual com uma imagem customizada compartilhada por meio de um catálogo privado, consulte Provisionar por meio de uma imagem do catálogo privado.
Antes de Iniciar
Certifique-se de configurar o seu ambiente de CLI da IBM Cloud® e o seu IBM Cloud VPC.
Reunindo informações para criar um modelo de instância
Pronto para criar um modelo de instância? Antes que você possa executar o ibmcloud is instance-template-create comando, você deverá reunir os detalhes que precisa incluir no modelo de instância e nas opções de comando. Por exemplo,
você precisa do ID ou nome da VPC e do nome da zona onde o modelo de instância será criado. Você também precisa do nome do perfil da instância que deseja usar e do ID ou nome da sub-rede onde o modelo será criado.
Reúna os detalhes do modelo de instância necessário a seguir.
| Detalhes do modelo de instância | Listando o comando | Documentação de referência da CLI do VPC. |
|---|---|---|
| VPC | ibmcloud is vpcs |
Listar todos os VPCs |
| Zona | ibmcloud is zones |
Listar todas as zonas na região |
| Profile | ibmcloud is instances |
Listar todas as instâncias de servidor virtual |
| Sub-rede | ibmcloud is subnets |
Listar todas as sub-redes |
| Imagem | ibmcloud is image |
Listar todas as imagens |
| Chaves | ibmcloud is keys |
Listar todas as chaves |
| Grupos de posicionamento | ibmcloud is placement-groups |
Listar todos os grupos de posicionamento |
Verifique se o perfil que você deseja usar está disponível na zona em que você planeja criar a instância.
Use os seguintes comandos para determinar as informações necessárias para criar um modelo de instância.
-
Liste as regiões que estão associadas à sua conta.
ibmcloud is regionsConsulte o exemplo a seguir.
$ ibmcloud is regions Listing regions under account Test Account as user test.user@ibm.com... Name Endpoint Status au-syd https://au-syd.iaas.cloud.ibm.com available br-sao https://br-sao.iaas.cloud.ibm.com available ca-tor https://ca-tor.iaas.cloud.ibm.com available eu-de https://eu-de.iaas.cloud.ibm.com available eu-es https://eu-es.iaas.cloud.ibm.com available eu-gb https://eu-gb.iaas.cloud.ibm.com available jp-osa https://jp-osa.iaas.cloud.ibm.com available jp-tok https://jp-tok.iaas.cloud.ibm.com available us-east https://us-east.iaas.cloud.ibm.com available us-south https://us-south.iaas.cloud.ibm.com available -
Alterne para a sua região de destino
ibmcloud target -r <region-name> -
Liste as zonas associadas à região-alvo.
ibmcloud is zonesNo exemplo a seguir, o comando é executado na
us-southregião e a saída mostra as zonas disponíveis que estão na região.$ ibmcloud is zones Listing zones in target region us-south under account Test Account as user test.user@ibm.com... Name Region Status us-south-1 us-south available us-south-2 us-south available us-south-3 us-south available -
Liste os IBM Cloud VPCs que estão associados à sua conta.
ibmcloud is vpcsPara este exemplo, você vê uma resposta semelhante à saída a seguir.
ID Name Status Classic access Default network ACL Default security group Resource group r006-0d37163a-701d-4ad6-9ece-a3e34cf28935 cdl available false acl-test-1 pedicure-budding-providing-excluded Default r006-212def4b-93f0-4b9a-a331-94178b99d474 cli-test-1 available false surprise-pacifier-cubicle-demystify foyer-alongside-rug-zen DefaultSe você não tiver um disponível, será possível criar um IBM Cloud VPC usando o comando
ibmcloud is vpc-create. Para obter mais informações sobre como criar um IBM Cloud VPC, consulte Referência da CLI do IBM Cloud VPC. -
Liste os perfis disponíveis para a criação de seu modelo de instância.
ibmcloud is instance-profilesA saída do comando é semelhante ao exemplo a seguir.
Name vCPU Manufacturer Architecture Family vCPUs Memory(GiB) Bandwidth(Mbps) Volume bandwidth(Mbps) GPUs Storage(GB) bx2-2x8 intel amd64 balanced 2 8 4000 1000 - - bx2d-2x8 intel amd64 balanced 2 8 4000 1000 - 1x75 bx2-4x16 intel amd64 balanced 4 16 8000 2000 - - bx2d-4x16 intel amd64 balanced 4 16 8000 2000 - 1x150 bx2-8x32 intel amd64 balanced 8 32 16000 4000 - - bx2d-8x32 intel amd64 balanced 8 32 16000 4000 - 1x300 bx2-16x64 intel amd64 balanced 16 64 32000 8000 - - bx2d-16x64 intel amd64 balanced 16 64 32000 8000 - 1x600 -
Liste as sub-redes que estão associadas ao IBM Cloud VPC.
ibmcloud is subnetsA saída do comando é semelhante ao exemplo a seguir.
ID Name Status Subnet CIDR Addresses ACL Public Gateway VPC Zone Resource group 0717-cd4f74f1-bfae-423a-886b-9163256ec4a9 subnet-south-1 available 10.240.0.0/24 124/256 acl-test-1 - cdl us-south-1 Default 0727-9447a2c3-efb8-44d2-a180-115531e0b0d3 cdl available 10.240.64.0/24 238/256 acl-test-1 - cdl us-south-2 DefaultPara obter o melhor desempenho de um grupo de instâncias, certifique-se de usar uma sub-rede com tamanho igual ou superior a 32.
Se você não tiver uma sub-rede disponível, será possível criar uma usando o comando
ibmcloud is subnet-create. Para obter mais informações sobre como criar uma sub-rede, consulte a referência da CLI do IBM Cloud VPC. -
Liste as imagens disponíveis para a criação de seu modelo de instância.
ibmcloud is imagesA saída do comando é semelhante ao exemplo a seguir.
ID Name Status Arch OS name OS version File size(GB) Visibility Encryption Resource group Catalog Offering User Data Format Remote Account ID r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b my-test-image available amd64 centos-7-amd64 7.x - Minimal Install 1 private none Default - cloud_init r006-c55167af-ea8c-4c27-871f-ccc9c868753e ibm-centos-stream-8-amd64-1 available amd64 centos-stream-8-amd64 8 2 public none Default - cloud_init 811f8abfbd32425597dc7ba40da98fa6 -
Liste as chaves SSH disponíveis que podem ser associadas à sua instância.
ibmcloud is keysA saída do comando é semelhante ao exemplo a seguir.
ID Name Type Length FingerPrint Resource group r006-89ec781c-9630-4f76-b9c4-a7d204828d61 my-key rsa 4096 gtnf+pdX2PYI9Ofq.. DefaultSe você não tiver uma chave SSH disponível, poderá criar uma usando o comando
[ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).RSA e ED25519 são os dois tipos de chaves SSH que você pode usar. No entanto, você não pode usar o tipo de ED25519 chave SSH com o Windows ou VMware imagens. É possível usar apenas chaves SSH RSA para essas imagens. Para obter mais informações, consulte Introdução às chaves SSH
-
Liste todos os grupos de posicionamento disponíveis que podem ser associados à sua instância.
ibmcloud is placement-groupsA saída do comando é semelhante ao exemplo a seguir.
Listing placement groups for generation 2 compute in all resource groups and region us-east under account vpcdemo as user yaohaif@cn.ibm.com... ID Name State Strategy Resource Group c5f1f366-b92a-4080-991a-aa5c2e33d96b placement-group-region-us-east stable power_spread 5018a8564e8120570150b0764d39ebcc placement-group-cccc-cccc-cccc-cccccccccccc vsi-placementGroup1 stable host_spread 5018a8564e8120570150b0764d39ebcc placement-group-bbbb-bbbb-bbbb-bbbbbbbbbbbb vsi-placementGroup2 stable power_spread 5018a8564e8120570150b0764d39ebcc placement-group-aaaa-aaaa-aaaa-aaaaaaaaaaaa vsi-placementGroup3 stable power_spread 1d18e482b282409e80eff354c919c6a2
Criação de um modelo de instância pela CLI
Depois de conhecer esses valores, use-os para executar o comando instance-template-create. Também deve-se especificar um nome para a instância.
ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image IMAGE
O comando de exemplo a seguir cria um modelo de instância chamado my-instance-template na VPC especificada pela ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. O modelo é criado na us-south-3 ZONE e usa o bx2-2x8 PERFIL. A SUBNET é definida por sua ID 0726-298acd6c-e71e-4204-a04f-fe4a4dd89805. A IMAGEM é especificada por sua ID r006-534ef2ac-6158-45b3-9657-57629fa85305.
ibmcloud is instance-template-create my-instance-template r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b us-south-3 bx2-2x8 0076-2249dabc-8c71-4a54-bxy7-953701ca3999 --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --placement-group r006-953db18c-068c-4a11-9b07-645684b444b2
Creating instance template my-instance-template under account Test Account as user test-user@ibm.com...
ID 0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Name my-instance-template
CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::instance-template:0727-0fdac0fb-ad59-4d7b-9f03-604ddc1db002
Resource group Default
Image r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
VPC r006-212def4b-93f0-4b9a-a331-94178b99d474
Zone us-south-2
Profile bx2-2x8
Boot volume Name Capacity Profile IOPS Attachment name Auto delete Tags
- 100 general-purpose 0 illude-education-spotted-reanalyze true -
Primary Network Interface Name Subnet ID Security Groups Allow source IP spoofing Reserved IP Address Reserved IP ID Reserved IP Name Reserved IP Auto Delete
primary 0727-944126da-e46d-4104-8ba4-ab5a5832864b r006-2295f00e-8af0-4736-be11-94677955b6b2 false - - - -
Placement ID
r006-9994e3ab-18ae-49a7-95cf-25c77e09fa76
Created 2023-03-29T22:02:59+05:30
O exemplo a seguir cria um modelo de instância denominado my-gen3-instance-template na VPC que é especificada pela ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. O modelo é criado na us-south-3_ ZONE e usa o cx3d-8x20 PERFIL. A SUBNET é definida por sua ID 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805. A IMAGEM é especificada por sua ID r006-534ef2ac-6158-45b3-9657-57629fa85305. Quando o perfil de computação selecionado suporta alocação de largura de banda agrupada para volumes de dados, você também pode incluir a --storage_qos_modes opção.
ibmcloud is instance-template-create my-gen3-instance-template r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b us-south-3 cx3d-8x20 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805 --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --storage_qos_modes pooled
Para obter mais exemplos do comando ibmcloud is instance-template-create, consulte a Referência da CLI do VPC.
Ao criar um modelo de instância, são realizadas etapas de validação para garantir que você possa usar esse modelo para provisionar uma instância de servidor virtual. Precisa de mais ajuda? Você pode executar o ibmcloud is help instance-template-create comando para exibir a ajuda.
Criação de um modelo de instância com a API
O modelo de instância define os detalhes das instâncias de servidor virtual que são criadas por meio do modelo. Por exemplo, especifique o perfil ( vCPU e e memória), a imagem, os volumes anexados e as interfaces de rede para o modelo de instância. Você pode criar um ou mais modelos de instância no seu IBM Cloud VPC usando a interface de programação de aplicativos (API).
Para obter mais informações sobre como criar uma instância de servidor virtual com uma imagem customizada compartilhada por meio de um catálogo privado, consulte Provisionar por meio de uma imagem do catálogo privado.
Antes de Iniciar
Defina variáveis para o token do IAM e para o terminal e a versão da API. Para obter instruções, consulte Configurando seu ambiente da API e da CLI.
Certifique-se de que possui os direitos de acesso necessários. Para chamar esses métodos, deve-se ter designado uma ou mais funções de acesso do IAM que incluem as ações a seguir, dependendo de quaisquer condições listadas.. É possível verificar seu acesso acessando a página Usuários do Cloud Identity and Access Management painel.
Uma boa maneira de aprender mais sobre a API é clicar em Obter chamada da API de amostra nas páginas de provisionamento do console do IBM Cloud. É possível visualizar a sequência correta de solicitações de API e entender melhor as ações e suas dependências.
Reunindo informações para criar um modelo de instância
Pronto para criar um modelo de instância? Antes que você possa fazer o POST solicite com o /instance/templates método, você precisa saber os detalhes que deseja incluir em seu modelo de instância. Por exemplo, você
precisa do ID ou nome da VPC e do nome da zona onde deseja criar a instância. Você também precisa do nome do perfil de instância que deseja usar e do ID ou nome da sub-rede onde deseja criar o modelo. Reúna os seguintes detalhes do modelo
de instância necessário fazendo as chamadas API a seguir:
| Detalhes da instância | Métodos de listagem | Documentação da especificação da API |
|---|---|---|
| VPC | GET /vpcs |
Listar todos os VPCs |
| Zona | GET /regions/<region>/zones |
Listar todas as zonas em uma região |
| Profile | GET /instance/profiles |
Lista todos os perfis de instância |
| Sub-rede | GET /subnets |
Listar todas as sub-redes |
| Imagem | GET /images |
Listar todas as imagens |
| Chave | GET /keys |
Listar todas as chaves |
| Grupos de posicionamento | GET /placement_groups |
Listar todos os grupos de posicionamento |
Verifique se o perfil que você deseja usar está disponível na zona em que você planeja criar a instância.
Use os seguintes comandos para determinar as informações necessárias para criar um modelo de instância.
-
Liste os IBM Cloud VPCs que estão associados à sua conta.
curl -X GET "$vpc_api_endpoint/v1/vpcs?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"Se você não tiver um disponível, pode criar um objeto
IBM Cloud VPCusando o métodoPOST /vpcs. Para obter mais informações sobre como criar um IBM Cloud VPC, consulte IBM Cloud API Docs-Criar um VPC. -
Liste as regiões que estão associadas à sua conta.
curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Liste as zonas que estão associadas à região.
curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Liste os perfis disponíveis para criar seu modelo de instância.
curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Liste as sub-redes que estão associadas ao IBM Cloud VPC.
curl -X GET "$vpc_api_endpoint/v1/subnets?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"Para obter o melhor desempenho de um grupo de instâncias, certifique-se de usar uma sub-rede com tamanho igual ou superior a 32.
Se você não tiver uma sub-rede disponível, poderá criar uma usando o método
POST /subnets. Para obter mais informações sobre como criar um IBM Cloud VPC, consulte IBM Cloud API Docs-Criar uma sub-rede. -
Liste as imagens disponíveis para criar seu modelo de instância.
curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token" -
Liste as chaves SSH disponíveis que podem ser associadas à sua instância.
curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"Se você não tiver uma chave SSH disponível, poderá criar uma usando o comando
[ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).Se você não tiver uma chave SSH disponível, será possível criar uma usando o método
POST /keysPara obter mais informações sobre como criar um IBM Cloud VPC, consulte IBM Cloud API Docs-Criar uma chave.RSA e ED25519 são os dois tipos de chaves SSH que você pode usar. No entanto, você não pode usar o tipo de ED25519 chave SSH com o Windows ou VMware imagens. É possível usar apenas chaves SSH RSA para essas imagens. Para obter mais informações, consulte Introdução às chaves SSH
-
Liste todos os grupos de posicionamento disponíveis que podem ser associados à sua instância.
curl -X GET "$vpc_api_endpoint/v1/placement_groups?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
Criando o modelo de instância com a API.
Depois de conhecer esses valores, use-os para fazer uma POST solicite com o /instance/templates método. Também deve-se especificar um nome para a instância.
O exemplo a seguir cria um modelo de instância chamado my-instance-template em us-south-1 e usa o bx2-2x8 perfil.
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2023-07-13&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
"zone": {"name": "us-south-1"},
"resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
"name": "my-instance-template",
"vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
"user_data": "",
"profile": {"name": "bx2-2x8"},
"keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"}],
"volume_attachments": [],
"boot_volume_attachment": {
"volume": {
"name": "my-instance-template-boot-1720804230000",
"capacity": 100,
"profile": {"name": "general-purpose"}},
"delete_volume_on_instance_delete": true
},
"metadata_service": {
"enabled": true,
"protocol": "https",
"response_hop_limit": 1},
"primary_network_attachment": {
"name": "eth0",
"virtual_network_interface": {
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true,
"subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
"security_groups": [{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
"protocol_state_filtering_mode": "auto"}
},
"network_attachments": [],
"image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"}}`
O exemplo a seguir cria um modelo de instância denominado my-gen3-instance-template em us-south-3 e usa o cx3d-8x20 perfil. Quando o perfil de computação selecionado
oferece suporte à alocação de largura de banda em pool para volumes de dados, a propriedade --storage_qos_modes também pode ser incluída.
curl -X POST "$vpc_api_endpoint/v1/instance/templates?version=2024-07-12&generation=2"
-H "Authorization: Bearer $iam_token"
-H "Content-Type: application/json" \
-H "accept: application/json" \
-d '{
"zone": {"name": "us-south-3"},
"resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
"name": "my-gen3-instance-template",
"vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
"user_data": "",
"profile": {"name": "cx3d-8x20"},
"keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"},
"volume_attachments": [
{"volume": {
"name": "my-data-volume-1",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false},
{"volume": {
"name": "my-data-volume-2",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false},
{"volume": {
"name": "my-data-volume-3",
"capacity": 3000,
"profile": {"name": "5iops-tier"}},
"delete_volume_on_instance_delete": false}
],
"boot_volume_attachment": {
"volume": {
"name": "my-gen3-instance-template-boot-1720803726000",
"capacity": 100,
"profile": {"name": "general-purpose"}
},
"delete_volume_on_instance_delete": true
},
"metadata_service": {
"enabled": false,
"response_hop_limit": 1},
"primary_network_attachment": {
"name": "eth0",
"virtual_network_interface": {
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true},
"subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
"security_groups": [
{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
"protocol_state_filtering_mode": "auto"}
},
"network_attachments": [],
"image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"},
"enable_secure_boot": false
"storage_qos_modes": "pooled"
}'
Para obter mais exemplos do método /instance/templates, consulte a documentação da API Criar um modelo de instância
Criando um modelo de instância com Terraform
É possível criar um ou mais modelos de instância no IBM Cloud VPC usando o Terraform.
Para obter mais informações sobre a criação de uma instância de servidor virtual com uma imagem customizada compartilhada de um catálogo privado, consulte Criando uma instância usando o Terraform.
Antes de Iniciar
Certifique-se de configurar o Terraform for VPC.
Reunindo informações para criar um modelo de instância
Pronto para criar um modelo de instância? Antes de incluir o ibm_is_instance_template recurso em sua configuração, você precisa saber os detalhes que deseja incluir em seu modelo de instância. Por exemplo, você precisa do ID ou nome da VPC e do nome da zona onde deseja criar o modelo de instância. Você também precisa do nome
do perfil de instância que deseja usar e do ID ou nome da sub-rede onde deseja criar o modelo.
Reúna os seguintes detalhes necessários do modelo de instância do Terraform.
| Detalhes do modelo de instância | Bloco de listagem. | Documentação de referência da fonte de dados do VPC Terraform |
|---|---|---|
| Perfil de instância | ibm_is_instance_profiles |
ibm_is_perfis_de_instância |
| Imagem | ibm_is_images |
imagens_ibm_is |
| VPC | ibm_is_vpc |
ibm_is_vpc |
| Sub-rede | ibm_is_subnets |
ibm_is_subnets |
| Zona | ibm_is_zone |
ibm_is_zone |
| Chaves | ibm_is_ssh_keys |
ibm_is_ssh_keys |
| Grupos de posicionamento | ibm_is_placement_groups |
ibm_grupos_de_colocação |
Use o guia a seguir para determinar as informações necessárias para criar um modelo de instância.
Reúna as informações a seguir usando o bloco DataSource
-
Reunir detalhes do perfil da instância. Execute o seguinte bloco para o perfil que você selecionou. Consulte x86 perfis de instância para obter uma lista de perfis disponíveis. Para obter mais informações, consulte a documentação do Terraform sobre
[ibm_is_instance_profiles](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/is_instance_profiles). Para usar um perfil de instância, consulte a fonte de dados do perfil de instância. Para obter mais informações, consulte a documentação do Terraform sobre o ibm_is_instance_profile.data "ibm_is_instance_profile" "example_profile" { name = "bx2-2x8" } -
Liste as imagens disponíveis para criar sua instância. É possível usar uma imagem de banco de dados, uma imagem customizada de sua conta ou uma imagem que foi compartilhada com sua conta de um catálogo privado. Para obter mais informações, consulte a documentação do Terraform sobre o ibm_is_image. Se você planeja usar uma imagem que foi compartilhada de um catálogo privado, consulte a documentação do Terraform em ibm_cm_versão ou ibm_cm_offering_instance.
- Selecione um banco de imagens ou uma imagem customizada de sua conta para sua instância.
data "ibm_is_image" "example_image" { name = "ibm-centos-7-6-minimal-amd64-2" }- Selecione uma imagem compartilhada de um catálogo privado para a instância. Para obter mais informações, consulte a documentação do Terraform sobre o ibm_is_images.
data "ibm_is_images" "example_images" { catalog_managed = true }Se você selecionar uma imagem do catálogo que pertença a uma conta diferente, terá mais considerações e limitações para revisar Consulte Usando referências de imagem de conta cruzada em um catálogo privado no Terraform.
-
Crie um recurso de VPC ou use um VPC existente fazendo referência à origem de dados de VPC. Para obter mais informações, consulte a documentação do Terraform na origem de dados ibm_is_vpc ou recurso ibm_is_vpc.
data "ibm_is_vpc" "example_vpc" { name = "example-vpc" } -
Crie um recurso de sub-rede ou use uma sub-rede existente referindo-se à origem de dados de sub-rede Para obter mais informações, consulte a documentação do Terraform na origem de dados ibm_is_subnet ou recurso ibm_is_subnet.
data "ibm_is_subnet" "example_subnet" { name = "example-subnet" vpc = ibm_is_vpc.example_vpc.id zone = "us-south-1" ipv4_cidr_block = "10.240.0.0/24" } -
Para usar uma chave ssh existente, consulte a fonte de dados da chave ssh ibm_is_ssh_key. Se não houver nenhuma chave SSH disponível, use o recurso ibm_is_ssh_key para criar uma.
RSA e ED25519 são os dois tipos de chaves SSH que você pode usar. No entanto, você não pode usar o tipo de ED25519 chave SSH com o Windows ou VMware imagens. É possível usar apenas chaves SSH RSA para essas imagens. Para obter mais informações, consulte Introdução às chaves SSH
resource "ibm_is_ssh_key" "example_sshkey" { name = "example-sshkey" public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR" }
Criação do modelo de instância com o Terraform
Depois de conhecer esses valores, use-os para escrever o ibm_is_instance_template bloco de recursos. Também deve-se especificar um nome para a instância.
O exemplo a seguir cria um modelo de instância chamado my-instance-template na região us-south-1 região e usa o bx2-8x32 perfil.
resource "ibm_is_instance_template" "my-instance-template" {
name = "my-instance-template"
image = r006-3fa3bea4-7f9c-4eeb-8248-ab1f6e03185b
profile = "bx2-8x32"
primary_network_interface {
subnet = 0727-944126da-e46d-4104-8ba4-ab5a5832864b
allow_ip_spoofing = true
}
placement_group = r006-9994e3ab-18ae-49a7-95cf-25c77e
vpc = r006-212def4b-93f0-4b9a-a331-94178b99d474
zone = "us-south-1"
keys = [363f6d70-0000-0001-0000-00000013b96c]
boot_volume {
name = "example-boot-volume"
delete_volume_on_instance_delete = true
}
}
O exemplo a seguir cria um modelo de instância denominado my-gen3-instance-template em us-south-3 e usa o cx3d-8x20 perfil. Quando o perfil de computação selecionado
oferece suporte à alocação de largura de banda em pool para volumes de dados, a opção storage_qos_modes também pode ser incluída.
resource "ibm_is_instance_template" "example" {
name = "my-gen3-instance-template"
image = r006-534ef2ac-6158-45b3-9657-57629fa85305
profile = "cx3d-8x20"
primary_network_interface {
subnet = 0d933c75-492a-4756-9832-1200585dfa79
allow_ip_spoofing = true
}
vpc = r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b
zone = "us-south-3"
keys = [363f6d70-0000-0001-0000-00000013b96c]
storage_qos_modes = [pooled]
boot_volume {
name = "example-boot-volume"
delete_volume_on_instance_delete = true
}
volume_attachments {
delete_volume_on_instance_delete = false
name = "example-data-vol-01"
volume_prototype {
profile = "5iops-tier"
capacity = 3000
}
}
volume_attachments {
delete_volume_on_instance_delete = false
name = "example-data-vol-02"
volume_prototype {
profile = "5iops-tier"
capacity = 3000
}
}
}
Para mais exemplos do ibm_is_instance_template, consulte a referência do Terraform ibm_is_instance_template.
Próximas etapas
Depois de criar um modelo de instância, você pode provisionar uma única instância de servidor virtual ou várias instâncias ao mesmo tempo, como parte de um grupo de instâncias. Opcionalmente, é possível definir políticas de ajuste automático de escala para o seu grupo de instâncias para incluir ou remover dinamicamente instâncias de servidor virtual do seu grupo. Para obter mais informações, veja os tópicos a seguir: