Creación de una plantilla de instancia

Puedes crear una plantilla de instancia para definir los detalles de la misma con el fin de aprovisionar uno o varios servidores virtuales. Cuando se haya creado la plantilla de instancia, puede utilizarla para suministrar instancias de un solo servidor virtual, o puede suministrar varias instancias al mismo tiempo como parte de un grupo de instancias.

Creación de una plantilla de instancia con la interfaz de usuario

La plantilla de instancia define los detalles de las instancias de servidor virtual que se crean a partir de la plantilla. Por ejemplo, especifique el perfil (vCPU y memoria), la imagen, los volúmenes conectados y las interfaces de red de la plantilla de imagen.

Para crear una plantilla de instancia, realice los pasos siguientes.

  1. En la IBM Cloud console, haga clic en Icono del menú de navegación Icono del menú >Infraestructura Icono de VPC >Compute > Plantillas de instancia.
  2. Haz clic en « Nueva plantilla de instancia » e introduce la información que figura en la Tabla 1.
  3. Pulse Crear plantilla de instancia cuando la información esté completa.

Al crear una plantilla de instancia, se llevan a cabo una serie de pasos de validación para garantizar que puedas utilizar dicha plantilla para aprovisionar una instancia de servidor virtual.

Selecciones de plantillas de instancia
Campo Valor
Ubicación Las ubicaciones se componen de regiones (áreas geográficas específicas) y de zonas (centros de datos tolerantes a errores dentro de una región). Selecciona la zona geográfica, la región y la zona en las que deseas que se cree tu instancia de servidor virtual.
Nombre Es obligatorio especificar un nombre para la instancia de servidor virtual.
Grupo de recursos Seleccione un grupo de recursos para la instancia.
Imagen

Pulse Cambiar imagen para seleccionar una imagen. En la página Seleccionar una imagen, puede seleccionar una imagen en stock, una imagen personalizada, una imagen de catálogo, una instantánea o un volumen existente. Si la ubicación geográfica en la que está aprovisionando una instancia lo admite, puede seleccionar una de las siguientes:

  • x86 arquitectura

  • obsoleta s390x arquitectura

Una vez seleccionada la imagen, haga clic en Guardar.

Perfil Haga clic en Cambiar perfil para seleccionar entre todas las combinaciones disponibles de vCPU y RAM. Las familias de perfiles son: Equilibrado, Computación, Memoria, Memoria ultraalta, Memoria muy alta, Optimizado para almacenamiento, GPU, Flex, Computación confidencial y Alta frecuencia.

Comprueba que el perfil que utilizas esté disponible en la zona en la que tienes previsto crear la instancia.

Para obtener más información, consulte Perfiles.

Es posible que algunos perfiles no estén disponibles porque el número de interfaces de red del servidor virtual supera los límites del perfil. Puede eliminar interfaces de red para seleccionar entre más perfiles. Para obtener más información, consulta Cambiar el tamaño de un servidor virtual.

Es posible que algunos perfiles no estén disponibles porque la imagen seleccionada contiene una expresión de uso permitido que no es compatible con el perfil. En estos casos, seleccione una imagen con una expresión de uso permitido compatible con el perfil deseado. Para obtener más información, consulte Adición de expresiones de uso permitido a imágenes personalizadas.

Hebras por núcleo El número de subprocesos por núcleo te ofrece la flexibilidad necesaria para optimizar tu carga de trabajo. Aunque el número de subprocesos por núcleo se muestra para todos los perfiles, solo se puede modificar en la familia de perfiles de alta frecuencia. En el caso de los perfiles de alta frecuencia, el valor por defecto es 2, pero se puede ajustar a 1.
Clave SSH Debe seleccionar una clave SSH pública existente o pulsar Crear una clave SSH para crear una nueva. Solo puede crear claves SSH RSA. Para ED25519 Claves SSH, debe cargar la información de la clave. Para obtener más información sobre la creación de una clave SSH, consulte Creación de la clave SSH utilizando la interfaz de usuario. Las claves SSH se utilizan para conectarse de forma segura a la instancia una vez se está ejecutando.

Nota:** Las combinaciones alfanuméricas tienen un límite de 100 caracteres. Las claves SSH pueden ser RSA o Ed25519. Ed25519 solo se puede utilizar si el sistema operativo admite este tipo de clave. Ed25519 no se puede utilizar con imágenes de Windows o VMware.

Para obtener más información, consulta Introducción a las claves SSH.

Volumen de arranque El tamaño de volumen de arranque predeterminado para todos los perfiles es de 100 GB. Puedes especificar una mayor capacidad de volumen de arranque, hasta 250 GB cuando utilices perfiles de volumen de primera generación, y hasta 32.000 GB cuando utilices el perfil sdp, en función de lo que necesite la imagen. También puede especificar etiquetas de usuario.
Los volúmenes de datos Puede añadir uno o más volúmenes de datos secundarios que se incluirán cuando suministre la instancia. Para añadir volúmenes, pulse Crear. Puede especificar el cifrado gestionado por el cliente y las etiquetas de usuario para el volumen.
Virtual Private Cloud Especifique la VPC de IBM Cloud donde desea crear la instancia. Puede utilizar una VPC existente o crear una nueva. Para crear una nueva VPC, pulse Nueva VPC.
Interfaces de red Define la conexión de red en la VPC de IBM Cloud. De forma predeterminada, la nueva opción Conexión de red con una interfaz de red virtual está seleccionada para la plantilla de instancia. De forma alternativa, puede seleccionar la opción heredada Interfaz de red de instancia. Cualquiera que sea el tipo de opción de interfaz de red que seleccione al suministrar el servidor virtual, persiste durante el ciclo de vida del servidor virtual. Después de seleccionar el tipo de interfaz de red, puede hacer clic en el icono Editar icono Editar para actualizar los detalles de la interfaz de red, por ejemplo, la subred o el grupo de seguridad asociado.
Datos de usuario Puede añadir datos de usuario que realizan tareas de configuración comunes o ejecutan scripts automáticamente. Para obtener más información, consulte Datos de usuario.
Metadatos Desactivada por defecto, permite que la instancia creada a partir de esta plantilla recopile metadatos sobre sí misma. Haz clic en el botón para activar el servicio de metadatos. Para obtener más información, consulte Acerca de los metadatos para VPC.
Añadir a host dedicado Puede agregar la instancia del servidor virtual a un host dedicado, creando la instancia en un espacio de un solo inquilino. Para suministrar una instancia dedicada, debe tener un host dedicado disponible o crear uno.
Añadir al grupo de colocación Puede seleccionar un grupo de ubicación para la instancia. Para habilitar los grupos de colocación, pulse el conmutador. A continuación, seleccione o cree un grupo de colocación para la instancia. Si añade un grupo de colocación, la instancia se coloca de acuerdo con la estrategia del grupo de colocación. Para obtener más información, consulte Acerca de los grupos de colocación.
Asignación dinámica de ancho de banda por volumen Haga clic en el conmutador para activar la asignación de ancho de banda de volumen agrupado para los volúmenes de datos adjuntos. Esta función es compatible con determinados perfiles de cálculo.
Reinicio automático de error de host De forma predeterminada, este valor está habilitado. Para inhabilitar el reinicio automático de anomalía de host, pulse el conmutador. Puede obtener información adicional consultando Políticas de recuperación ante errores de host.

Creación de una plantilla de instancia con la CLI

La plantilla de instancia define los detalles de las instancias de servidor virtual que se crean a partir de la plantilla. Por ejemplo, especifica el perfil ( vCPU y memoria), la imagen, los volúmenes asociados y las interfaces de red para la plantilla de instancia. Puede crear una o varias plantillas de instancia en IBM Cloud VPC mediante la interfaz de línea de mandatos (CLI).

Para obtener más información sobre cómo crear una instancia de servidor virtual con una imagen personalizada compartida desde un catálogo privado, consulte Suministrar desde una imagen de catálogo privada.

Antes de empezar

Asegúrese de configurar el entorno de la CLI de IBM Cloud® y la IBM Cloud VPC.

Recopilación de información para crear una plantilla de instancia

¿Preparado para crear una plantilla de instancia? Antes de poder ejecutar el ibmcloud is instance-template-create comando, debe recopilar los detalles que necesita incluir para su plantilla de instancia y opciones de comando. Por ejemplo, necesita el ID o el nombre de la VPC y el nombre de la zona donde se creará la plantilla de instancia. También necesita el nombre del perfil de instancia que desea utilizar y el ID o nombre de la subred donde se creará la plantilla.

Recopile los siguientes detalles necesarios de la plantilla de instancia.

Detalles necesarios de la plantilla de instancia
Detalles de plantilla de instancia Mandato de lista Documentación de referencia de CLI de VPC
VPC ibmcloud is vpcs Listar todas las VPC
Zona ibmcloud is zones Listar todas las zonas de la región
Perfil ibmcloud is instances Listar todas las instancias de servidor virtual
Subred ibmcloud is subnets Listar todas las subredes
Imagen ibmcloud is image Listar todas las imágenes
Claves ibmcloud is keys Listar todas las claves
Grupos de colocación ibmcloud is placement-groups Listar todos los grupos de colocación

Compruebe que el perfil que desea utilizar está disponible en la zona en la que tiene previsto crear la instancia.

Utilice los siguientes comandos para determinar la información necesaria para crear una plantilla de instancia.

  1. Listar las regiones que están asociadas a su cuenta.

    ibmcloud is regions
    

    Vea el ejemplo siguiente.

    $ 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. Conmute a la región de destino.

    ibmcloud target -r <region-name>
    
  3. Enumera las zonas asociadas a la región de destino.

    ibmcloud is zones
    

    En el siguiente ejemplo, el comando se ejecuta en la us-south región y el resultado muestra las zonas disponibles que se encuentran en la región.

    $ 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. Obtenga una lista de las IBM Cloud VPC asociadas a su cuenta.

    ibmcloud is vpcs
    

    Para este ejemplo, verá una respuesta similar a la siguiente salida.

    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
    

    Si no tiene una disponible, puede crear una IBM Cloud VPC utilizando el mandato ibmcloud is vpc-create. Para obtener más información sobre cómo crear una IBM Cloud VPC, consulte Referencia de la CLI de VPC de IBM Cloud.

  5. Liste los perfiles disponibles para crear la plantilla de instancia.

    ibmcloud is instance-profiles
    

    El resultado comando es similar al del siguiente ejemplo.

    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. Obtenga una lista de las subredes asociadas a la IBM Cloud VPC.

    ibmcloud is subnets
    

    El resultado comando es similar al del siguiente ejemplo.

    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 obtener el mejor rendimiento de un grupo de instancias, asegúrate de utilizar una subred de tamaño 32 o superior.

    Si no tiene una subred disponible, puede crear una con el mandato ibmcloud is subnet-create. Para obtener más información sobre cómo crear una subred, consulta la referencia de la CLI de IBM Cloud VPC.

  7. Liste las imágenes disponibles para crear la plantilla de instancia.

    ibmcloud is images
    

    El resultado comando es similar al del siguiente ejemplo.

    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. Obtenga una lista de las claves SSH disponibles que puede asociar a la instancia.

    ibmcloud is keys
    

    El resultado comando es similar al del siguiente ejemplo.

    ID                                          Name     Type   Length   FingerPrint          Resource group
    r006-89ec781c-9630-4f76-b9c4-a7d204828d61   my-key   rsa    4096     gtnf+pdX2PYI9Ofq..   Default
    

    Si no dispones de una clave SSH, puedes crear una utilizando el comando « ibmcloud is key-create ».

    RSA y ED25519 son los dos tipos de claves SSH que puede utilizar. Sin embargo, no se puede utilizar el tipo de ED25519 clave SSH con Windows o VMware imágenes. Solo puede utilizar claves SSH RSA para estas imágenes. Para obtener más información, consulte Iniciación a las claves SSH.

  9. Genere una lista de todos los grupos de colocación disponibles que puede asociar con la instancia.

    ibmcloud is placement-groups
    

    El resultado comando es similar al del siguiente ejemplo.

    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
    

Creación de una plantilla de instancia desde la CLI

Una vez que conozca estos valores, utilícelos para ejecutar el mandato instance-template-create. También debe especificar un nombre para la instancia.

ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image IMAGE

El siguiente comando ejemplo crea una plantilla de instancia llamada my-instance-template en la VPC especificada por el ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. La plantilla se crea en la us-south-3 ZONA y utiliza el bx2-2x8 PERFIL. La SUBRED se define por su ID 0726-298acd6c-e71e-4204-a04f-fe4a4dd89805. La IMAGEN se especifica mediante su 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

El siguiente ejemplo crea una plantilla de instancia que se denomina my-gen3-instance-template en la VPC especificada por el ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. La plantilla se crea en la ZONA us-south-3_ y utiliza el cx3d-8x20 PERFIL. La SUBRED se define por su ID 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805. La IMAGEN se especifica mediante su ID r006-534ef2ac-6158-45b3-9657-57629fa85305. Cuando el perfil de computación seleccionado admite la asignación de ancho de banda agrupado para volúmenes de datos, también puede incluir la --storage_qos_modes opción.

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 obtener más ejemplos del mandato ibmcloud is instance-template-create, consulte la Referencia de CLI de VPC.

Al crear una plantilla de instancia, se llevan a cabo una serie de pasos de validación para garantizar que puedas utilizar dicha plantilla para aprovisionar una instancia de servidor virtual. ¿Necesita más ayuda? Puede ejecutar el ibmcloud is help instance-template-create comando para mostrar la ayuda.

Creación de una plantilla de instancia mediante la API

La plantilla de instancia define los detalles de las instancias de servidor virtual que se crean a partir de la plantilla. Por ejemplo, especifica el perfil ( vCPU y memoria), la imagen, los volúmenes asociados y las interfaces de red para la plantilla de instancia. Puedes crear una o varias plantillas de instancia en tu IBM Cloud VPC mediante la interfaz de programación de aplicaciones (API).

Para obtener más información sobre cómo crear una instancia de servidor virtual con una imagen personalizada compartida desde un catálogo privado, consulte Suministrar desde una imagen de catálogo privada.

Antes de empezar

Defina variables correspondientes a señal de IAM, punto final de API y versión de API. Para obtener instrucciones, consulte Configuración del entorno de API y de CLI.

Asegúrate de que dispones de los permisos necesarios. Para llamar a estos métodos, debe tener asignados uno o más roles de acceso de IAM que incluyan las acciones siguientes, en función de las condiciones listadas. Puede comprobar su acceso yendo a la página Usuarios del panel de control de Cloud Identity and Access Management.

Una buena forma de obtener más información sobre la API es pulsar Obtener llamada de API de ejemplo en las páginas de suministro de la consola de IBM Cloud. Allí encontrará la secuencia correcta de solicitudes de API y podrá comprender mejor las acciones y sus dependencias.

Recopilación de información para crear una plantilla de instancia

¿Preparado para crear una plantilla de instancia? Antes de que puedas hacer el POST solicitud con el /instance/templates método, necesita conocer los detalles que desea incluir en su plantilla de instancia. Por ejemplo, necesita el ID o el nombre de la VPC y el nombre de la zona en la que desea crear la instancia. También necesita el nombre del perfil de instancia que desea utilizar y el ID o nombre de la subred donde desea crear la plantilla. Recopile los siguientes detalles de plantilla de instancia necesarios realizando las siguientes llamadas de API:

Detalles de la plantilla de instancia de API requerida
Detalles de la instancia Métodos de listado Documentación de especificación de API
VPC GET /vpcs Listar todas las VPC
Zona GET /regions/<region>/zones Listar todas las zonas de una región
Perfil GET /instance/profiles Listar todos los perfiles de instancia
Subred GET /subnets Listar todas las subredes
Imagen GET /images Listar todas las imágenes
Clave GET /keys Listar todas las claves
Grupos de colocación GET /placement_groups Listar todos los grupos de colocación

Compruebe que el perfil que desea utilizar está disponible en la zona en la que tiene previsto crear la instancia.

Utilice los siguientes comandos para determinar la información necesaria para crear una plantilla de instancia.

  1. Obtenga una lista de las IBM Cloud VPC asociadas a su cuenta.

    curl -X GET "$vpc_api_endpoint/v1/vpcs?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    Si no tienes ninguno disponible, puedes crear un objeto IBM Cloud VPC utilizando el método POST /vpcs . Para obtener más información sobre la creación de una IBM Cloud VPC, consulte Documentos de API deIBM Cloud-Crear una VPC.

  2. Listar las regiones que están asociadas a su cuenta.

    curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  3. Listar las zonas que están asociadas a la región.

    curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  4. Enumera los perfiles que están disponibles para crear tu plantilla de instancia.

    curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  5. Obtenga una lista de las subredes asociadas a la IBM Cloud VPC.

    curl -X GET "$vpc_api_endpoint/v1/subnets?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    Para obtener el mejor rendimiento de un grupo de instancias, asegúrate de utilizar una subred de tamaño 32 o superior.

    Si no dispones de una subred, puedes crear una utilizando el método « POST /subnets ». Para obtener más información sobre cómo crear una IBM Cloud VPC, consulte Documentos de API deIBM Cloud-Crear una subred.

  6. Enumere las imágenes que están disponibles para crear su plantilla de instancia.

    curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  7. Obtenga una lista de las claves SSH disponibles que puede asociar a la instancia.

    curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

    Si no dispones de una clave SSH, puedes crear una utilizando el comando « ibmcloud is key-create ».

    Si no tiene una clave SSH disponible, puede crear una utilizando el método POST /keys. Para obtener más información sobre cómo crear una IBM Cloud VPC, consulte Documentos de API deIBM Cloud-Crear una clave.

    RSA y ED25519 son los dos tipos de claves SSH que puede utilizar. Sin embargo, no se puede utilizar el tipo de ED25519 clave SSH con Windows o VMware imágenes. Solo puede utilizar claves SSH RSA para estas imágenes. Para obtener más información, consulte Iniciación a las claves SSH.

  8. Genere una lista de todos los grupos de colocación disponibles que puede asociar con la instancia.

    curl -X GET "$vpc_api_endpoint/v1/placement_groups?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    

Creación de la plantilla de instancia con la API

Después de conocer estos valores, úselos para hacer una POST solicitud con el /instance/templates método. También debe especificar un nombre para la instancia.

El siguiente ejemplo crea una plantilla de instancia denominada mi-plantilla-de-instancia en us-south-1 y utiliza el perfil 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"}}`

El siguiente ejemplo crea una plantilla de instancia denominada my-gen3-instance-template en us-south-3 y utiliza el perfil cx3d-8x20 perfil. Cuando el perfil informático seleccionado admite la asignación de ancho de banda agrupada para volúmenes de datos, también se puede incluir la propiedad --storage_qos_modes.

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 obtener más ejemplos del método /instance/templates, consulte la documentación de la API Crear una plantilla de instancia.

Creación de una plantilla de instancia con Terraform

Puede crear una o más plantillas de instancia en IBM Cloud VPC utilizando Terraform.

Para obtener más información sobre cómo crear una instancia de servidor virtual con una imagen personalizada compartida desde un catálogo privado, consulte Creación de una instancia utilizando Terraform.

Antes de empezar

Asegúrese de haber configurado Terraform for VPC.

Recopilación de información para crear una plantilla de instancia

¿Preparado para crear una plantilla de instancia? Antes de incluir el ibm_is_instance_template recurso en su configuración, necesita conocer los detalles que desea incluir en su plantilla de instancia. Por ejemplo, necesita el ID o el nombre de la VPC y el nombre de la zona en la que desea crear la plantilla de instancia. También necesita el nombre del perfil de instancia que desea utilizar y el ID o nombre de la subred donde desea crear la plantilla.

Recopila los siguientes datos necesarios sobre la plantilla de la instancia de Terraform.

Detalles necesarios de la plantilla de instancia de Terraform
Detalles de plantilla de instancia Bloque de listado Documentación de referencia de la fuente de datos de VPC Terraform
Perfil de instancia ibm_is_instance_profiles ibm_es_perfiles_de_instancia
Imagen ibm_is_images ibm_is_imágenes
VPC ibm_is_vpc ibm_es_vpc
Subred ibm_is_subnets ibm_es_subredes
Zona ibm_is_zone ibm_es_zona
Claves ibm_is_ssh_keys ibm_es_claves_ssh
Grupos de colocación ibm_is_placement_groups ibm_es_grupos_de_colocación

Utilice la siguiente guía para determinar la información necesaria para crear una plantilla de instancia.

Recopile la información siguiente utilizando el bloque DataSource.

  1. Recopilar detalles de perfil de instancia. Ejecute el siguiente bloque para el perfil que ha seleccionado. Consulte Perfiles de instancia dex86 para obtener una lista de los perfiles disponibles. Para obtener más información, consulta la documentación de Terraform sobre « ibm_is_instance_profiles ». Para utilizar un perfil de instancia, consulte la fuente de datos del perfil de instancia. Para obtener más información, consulta la documentación de Terraform sobre [ibm_is_instance_profile](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/is_instance_profile).

    data "ibm_is_instance_profile" "example_profile" {
       name = "bx2-2x8"
    }
    
  2. Obtenga una lista de las imágenes disponibles para crear la instancia. Puede utilizar una imagen en stock, una imagen personalizada de su cuenta o una imagen que se ha compartido con su cuenta desde un catálogo privado. Para obtener más información, consulta la documentación de Terraform sobre ibm_is_image. Si planea utilizar una imagen que se compartió desde un catálogo privado, consulte la documentación de Terraform en versión_ibm_cm o ibm_cm_offering_instance.

    • Seleccione una imagen en stock o una imagen personalizada de su cuenta para la instancia.
    data "ibm_is_image" "example_image" {
       name = "ibm-centos-7-6-minimal-amd64-2"
    }
    
    • Seleccione una imagen que se comparta desde un catálogo privado para la instancia. Para obtener más información, consulta la documentación de Terraform sobre ibm_is_images.
    data "ibm_is_images" "example_images" {
       catalog_managed = true
    }
    

    Si selecciona una imagen de catálogo que pertenece a una cuenta diferente, tiene más consideraciones y limitaciones que revisar. Consulte Utilización de referencias de imagen entre cuentas en un catálogo privado en Terraform.

  3. Cree un recurso de VPC o utilice una VPC existente haciendo referencia al origen de datos de VPC. Para obtener más información, consulte la documentación de Terraform sobre el origen de datos ibm_is_vpc o el recurso ibm_is_vpc.

    data "ibm_is_vpc" "example_vpc" {
       name = "example-vpc"
    }
    
  4. Cree un recurso de subred o utilice una subred existente haciendo referencia al origen de datos de subred. Para obtener más información, consulte la documentación de Terraform sobre el origen de datos ibm_is_subnet o el 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 utilizar una clave ssh existente, consulte la fuente de datos de claves ssh ibm_is_ssh_key. Si no tiene ninguna clave SSH disponible, utilice el recurso ibm_is_ssh_key para crear una.

    RSA y ED25519 son los dos tipos de claves SSH que puede utilizar. Sin embargo, no se puede utilizar el tipo de ED25519 clave SSH con Windows o VMware imágenes. Solo puede utilizar claves SSH RSA para estas imágenes. Para obtener más información, consulte Iniciación a las claves 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"
    }
    

Creación de la plantilla de instancia con Terraform

Después de conocer estos valores, úselos para escribir el ibm_is_instance_template bloque de recursos. También debe especificar un nombre para la instancia.

El siguiente ejemplo crea una plantilla de instancia denominada mi-plantilla-de-instancia en la región us-south-1 y utiliza el perfil 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
  }
}

El siguiente ejemplo crea una plantilla de instancia denominada my-gen3-instance-template en us-south-3 y utiliza el perfil cx3d-8x20 perfil. Cuando el perfil informático seleccionado admite la asignación de ancho de banda agrupada para volúmenes de datos, también se puede incluir la opción storage_qos_modes.

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 obtener más ejemplos de ibm_is_instance_template, consulte la referencia de Terraform ibm_is_instance_template.

Próximos pasos

Una vez creada una plantilla de instancia, puedes aprovisionar una sola instancia de servidor virtual o varias instancias al mismo tiempo como parte de un grupo de instancias. Si lo desea, puede establecer políticas de escalado automático para el grupo de instancias para añadir o eliminar de forma dinámica instancias de servidor virtual del grupo. Para obtener más información, consulte los temas siguientes: