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.

  1. No IBM Cloud console, clique no ícone Navigation menumenu icon > Infrastructure VPC icon > Compute > Instance templates.
  2. Clique em “Novo modelo de instância” e insira as informações que constam na Tabela 1.
  3. 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.

Seleções de modelos de instância
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:

  • x86 arquitetura

  • Depreciada s390x arquitetura

Depois de selecionar sua imagem, clique em Salvar.

  • Imagens de estoque: Você pode selecionar entre as imagens de estoque disponíveis. Para obter mais informações, consulte:

  • x86 imagens de servidores virtuais

  • Depreciadass390x Imagens de servidores virtuais

  • Imagens personalizadas: Uma imagem personalizada pode ser uma imagem que você personaliza e carrega em IBM Cloud Object Storage, que pode ser importada para IBM Cloud VPC. Também é possível usar uma imagem customizada que foi criada a partir de um volume de inicialização.. Para obter mais informações sobre imagens personalizadas, consulte Introdução às imagens personalizadas.

  • Imagens de catálogo: Uma imagem de catálogo é uma imagem personalizada que é importada para um catálogo privado. Para obter mais informações sobre imagens de catálogo, consulte Considerações sobre VPC ao usar imagens personalizadas em um catálogo privado.

  • Instantâneo: Você pode selecionar entre os instantâneos disponíveis. Para obter mais informações, consulte “Sobre os instantâneos do Block Storage para VPC ”.

  • Volume existente: Você pode selecionar entre os volumes existentes. O volume especificado deve estar desassociado e deve possuir um sistema operacional com a mesma arquitetura do perfil da instância.
    A arquitetura “ s390x ” está obsoleta. Você pode migrar para um modelo de implementação no local. Para obter mais informações, consulte Linux on IBM Z and LinuxONE. Para obter mais informações sobre depreciação, consulte o anúncio de depreciação do serviço.

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 ícone Editar para atualizar os detalhes da interface de rede, por exemplo, a sub-rede ou o grupo de segurança associado.
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 necessários do modelo de instância
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.

  1. Liste as regiões que estão associadas à sua conta.

    ibmcloud is regions
    

    Consulte 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
    
  2. Alterne para a sua região de destino

    ibmcloud target -r <region-name>
    
  3. Liste as zonas associadas à região-alvo.

    ibmcloud is zones
    

    No exemplo a seguir, o comando é executado na us-south regiã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
    
  4. Liste os IBM Cloud VPCs que estão associados à sua conta.

    ibmcloud is vpcs
    

    Para 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                Default
    

    Se 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.

  5. Liste os perfis disponíveis para a criação de seu modelo de instância.

    ibmcloud is instance-profiles
    

    A 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
    
  6. Liste as sub-redes que estão associadas ao IBM Cloud VPC.

    ibmcloud is subnets
    

    A 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   Default
    

    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, 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.

  7. Liste as imagens disponíveis para a criação de seu modelo de instância.

    ibmcloud is images
    

    A 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
    
  8. Liste as chaves SSH disponíveis que podem ser associadas à sua instância.

    ibmcloud is keys
    

    A 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..   Default
    

    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).

    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

  9. Liste todos os grupos de posicionamento disponíveis que podem ser associados à sua instância.

    ibmcloud is placement-groups
    

    A 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 necessários do modelo de instância da API
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.

  1. 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 VPC usando o método POST /vpcs . Para obter mais informações sobre como criar um IBM Cloud VPC, consulte IBM Cloud API Docs-Criar um VPC.

  2. 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"
    
  3. 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"
    
  4. 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"
    
  5. 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.

  6. 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"
    
  7. 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 /keys Para 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

  8. 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 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

  1. 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"
    }
    
  2. 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.

  3. 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"
    }
    
  4. 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"
    }
    
  5. 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: