Création d'un modèle d'instance

Vous pouvez créer un modèle d'instance afin de définir les détails de l'instance en vue de la mise en service d'un ou plusieurs serveurs virtuels. Lorsque votre modèle d'instance est créé, vous pouvez l'utiliser pour mettre à disposition des instances de serveur virtuel uniques, ou vous pouvez mettre à disposition plusieurs instances en même temps dans le cadre d'un groupe d'instances.

Création d'un modèle d'instance à l'aide de l'interface utilisateur

Le modèle d'instance définit les détails des instances de serveur virtuel qui sont créées à partir du modèle. Par exemple, spécifiez le profil (UC virtuelles et mémoire), l'image, les volumes connectés et les interfaces réseau du modèle d'image.

Pour créer un modèle d'instance, procédez comme suit.

  1. Dans la console IBM Cloud console, cliquez sur Menu de navigation icôneicône de menu > Infrastructure icône VPC > Compute > Instance templates.
  2. Cliquez sur « Nouveau modèle d'instance » et saisissez les informations figurant dans le tableau 1.
  3. Cliquez sur Créer un modèle d'instance une fois que les informations sont complètes.

Lorsque vous créez un modèle d'instance, des étapes de validation sont effectuées afin de s'assurer que vous pouvez utiliser ce modèle pour provisionner une instance de serveur virtuel.

Sélection du modèle d'instance
Zone Valeur
Emplacement Les emplacements sont composés de régions (zones géographiques spécifiques) et de zones (centres de données à tolérance de pannes dans une région). Sélectionnez la zone géographique, la région et la zone dans lesquelles vous souhaitez créer votre instance de serveur virtuel.
Nom Un nom est requis pour votre instance de serveur virtuel.
Groupe de ressources Sélectionnez un groupe de ressources pour l'instance.
Image

Cliquez sur Modifier l'image pour sélectionner une image. Sur la page Sélectionner une image, vous pouvez sélectionner une image stockée, une image personnalisée, une image de catalogue, un instantané ou un volume existant. Si l'emplacement géographique où vous provisionnez une instance le permet, vous pouvez sélectionner l'une des options suivantes :

  • x86 architecture

  • Obsolète s390x architecture

Après avoir sélectionné votre image, cliquez sur Enregistrer.

Profil Cliquez sur Changer de profil pour choisir parmi toutes les combinaisons de vCPU et de RAM disponibles. Les familles de profils sont les suivantes : Balanced, Compute, Memory, Ultra High Memory, Very High Memory, Storage Optimized, GPU, Flex, Confidential Compute et High Frequency.

Vérifiez que le profil que vous utilisez est disponible dans la zone où vous prévoyez de créer l'instance.

Pour plus d'informations, voir Profils.

Certains profils peuvent ne pas être disponibles car le nombre d'interfaces réseau du serveur virtuel dépasse les limites du profil. Vous pouvez supprimer des interfaces réseau afin de sélectionner un plus grand nombre de profils. Pour plus d'informations, consultez la section Redimensionnement d'un serveur virtuel.

Certains profils peuvent ne pas être disponibles car l'image sélectionnée contient une clause d'utilisation autorisée qui n'est pas compatible avec le profil. Dans ce cas, sélectionnez une image dont l'expression d'utilisation autorisée est compatible avec le profil recherché. Pour plus d'informations, voir Ajout d'expressions d'utilisation autorisée aux images personnalisées.

Unités d'exécution (threads) par coeur Le nombre de threads par cœur vous offre la flexibilité nécessaire pour optimiser votre charge de travail. Bien que le nombre de threads par cœur soit affiché pour tous les profils, vous ne pouvez le modifier que pour la famille de profils « Haute fréquence ». Pour les profils haute fréquence, la valeur par défaut est 2, mais elle peut être réglée sur 1.
Clé SSH Vous devez sélectionner une clé SSH publique existante ou cliquer sur Créer une clé SSH pour en créer une nouvelle. Vous ne pouvez créer que des clés SSH RSA. Pour ED25519 Clés SSH, vous devez télécharger les informations clés. Pour plus d'informations sur la création d'une clé SSH, voir Création de votre clé SSH à l'aide de l'interface utilisateur. Les clés SSH sont utilisées pour se connecter en toute sécurité à l'instance après son exécution.

Remarque :** Les combinaisons alphanumériques sont limitées à 100 caractères. Les clés SSH peuvent être de type RSA ou Ed25519. Ed25519 ne peut être utilisé que si le système d'exploitation prend en charge ce type de clé. Ed25519 ne peut pas être utilisé avec des images Windows ou VMware.

Pour plus d'informations, consultez la section Premiers pas avec les clés SSH.

Volume d'amorçage La taille du volume d'amorçage par défaut pour tous les profils est de 100 Go. Vous pouvez spécifier une capacité de volume de démarrage plus importante, jusqu'à 250 Go lorsque vous utilisez des profils de volume de première génération, et jusqu'à 32 000 Go lorsque vous utilisez le profil sdp, en fonction des besoins de l'image. Vous pouvez également spécifier des étiquettes d'utilisateur.
Volumes de données Vous pouvez ajouter un ou plusieurs volumes de données secondaires à inclure lors de la mise à disposition de l'instance. Pour ajouter des volumes, cliquez sur Créer. Vous pouvez spécifier un chiffrement géré par le client et des balises utilisateur pour le volume.
Cloud privé virtuel Spécifiez le VPC IBM Cloud sur lequel vous souhaitez créer votre instance. Vous pouvez utiliser un VPC existant ou créer un nouveau VPC. Pour créer un VPC, cliquez sur Nouveau VPC.
Interfaces réseau Définit la connexion réseau sur IBM Cloud VPC. Par défaut, la nouvelle option Connexion réseau avec une interface de réseau virtuel est sélectionnée pour votre modèle d'instance. Vous pouvez également sélectionner l'option existante Instance network interface. Quel que soit le type d'option d'interface réseau que vous sélectionnez lors de la mise à disposition du serveur virtuel, celle-ci est conservée tout au long du cycle de vie du serveur virtuel. Après avoir sélectionné votre type d'interface réseau, vous pouvez cliquer sur l'icône Éditer Éditer pour mettre à jour les détails de l'interface réseau, par exemple, le sous-réseau ou le groupe de sécurité associé.
Données utilisateur Vous pouvez ajouter des données utilisateur qui effectuent automatiquement des tâches de configuration courantes ou exécutent des scripts. Pour plus d'informations, voir Données utilisateur.
Métadonnées Désactivée par défaut, cette option permet à l'instance créée à partir de ce modèle de collecter des métadonnées la concernant. Cliquez sur le bouton pour activer le service de métadonnées. Pour plus d'informations, voir À propos des métadonnées pour VPC.
Ajouter à l'hôte dédié Vous pouvez ajouter l'instance de serveur virtuel à un hôte dédié, en créant l'instance dans un espace à locataire unique. Pour mettre à disposition une instance dédiée, vous devez disposer d'un hôte dédié ou en créer un.
Ajouter au groupe de placement Vous pouvez sélectionner un groupe de placement pour l'instance. Pour activer les groupes de placement, cliquez sur le bouton à bascule. Ensuite, sélectionnez ou créez un groupe de placement pour l'instance. Si vous ajoutez un groupe de placement, l'instance est placée en fonction de la stratégie du groupe de placement. Pour plus d'informations, voir A propos des groupes de placement.
Attribution dynamique de la bande passante en fonction du volume Cliquez sur le bouton pour activer l'allocation de bande passante pour les volumes de données attachés. Cette fonctionnalité est prise en charge pour certains profils de calcul.
Redémarrage automatique après un incident de l'hôte Ce paramètre est activé par défaut. Pour désactiver le redémarrage automatique en cas d'échec de l'hôte, cliquez sur le bouton à bascule. Pour plus d'informations, voir Politiques de reprise après échec de l'hôte.

Création d'un modèle d'instance à l'aide de l'interface de ligne de commande

Le modèle d'instance définit les détails des instances de serveur virtuel qui sont créées à partir du modèle. Par exemple, spécifiez le profil ( vCPU s et mémoire), l'image, les volumes associés et les interfaces réseau pour le modèle d'instance. Vous pouvez créer un ou plusieurs modèles d'instance dans votre IBM Cloud VPC à l'aide de l'interface de ligne de commande.

Pour plus d'informations sur la création d'une instance de serveur virtuel avec une image personnalisée partagée à partir d'un catalogue privé, voir Mise à disposition à partir d'une image de catalogue privé.

Avant de commencer

Vérifiez que vous avez configuré votre environnement d'interface de ligne de commande IBM Cloud® et votre IBM Cloud VPC.

Collecte d'informations pour créer un modèle d'instance

Vous êtes prêt à créer un modèle d'instance ? Avant de pouvoir exécuter le ibmcloud is instance-template-create commande, vous devez rassembler les détails que vous devez inclure pour votre modèle d'instance et vos options de commande. Par exemple, vous avez besoin de l'ID ou du nom du VPC et du nom de la zone dans laquelle le modèle d'instance doit être créé. Vous avez également besoin du nom du profil d'instance que vous souhaitez utiliser, ainsi que de l'ID ou du nom du sous-réseau sur lequel le modèle doit être créé.

Collectez les détails requis ci-après sur le modèle d'instance.

Détails du modèle d'instance requis
Détails du modèle d'instance Commande de liste Documentation de référence de l'interface CLI VPC
VPC ibmcloud is vpcs Répertorier tous les clouds privés virtuels
Zone ibmcloud is zones Répertorier toutes les zones de la région
Profil ibmcloud is instances Répertorier toutes les instances de serveur virtuel
Sous-réseau ibmcloud is subnets Liste de tous les sous-réseaux
Image ibmcloud is image Affichage de la liste complète des images
Clés ibmcloud is keys Répertorier toutes les clés
Groupes de placement ibmcloud is placement-groups Répertorier tous les groupes de placement

Vérifiez que le profil que vous souhaitez utiliser est disponible dans la zone où vous prévoyez de créer l'instance.

Utilisez les commandes suivantes pour déterminer les informations requises pour créer un modèle d'instance.

  1. Répertoriez les régions associées à votre compte.

    ibmcloud is regions
    

    Consultez l'exemple suivant.

    $ 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. Basculez vers votre région cible.

    ibmcloud target -r <region-name>
    
  3. Énumérez les zones associées à la région cible.

    ibmcloud is zones
    

    Dans l'exemple suivant, la commande s'exécute dans la us-south région et la sortie affiche les zones disponibles qui se trouvent dans la région.

    $ 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. Répertoriez les instances IBM Cloud VPC associées à votre compte.

    ibmcloud is vpcs
    

    Pour cet exemple, vous voyez une réponse similaire à la sortie suivante.

    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 vous n'en disposez pas, vous pouvez créer une instance IBM Cloud VPC à l'aide de la commande ibmcloud is vpc-create. Pour plus d'informations sur la création d'un cloud privé virtuel IBM Cloud VPC, voir Référence de l'interface de ligne de commande d'IBM Cloud VPC.

  5. Répertoriez les profils disponibles pour créer votre modèle d'instance.

    ibmcloud is instance-profiles
    

    Le résultat de la commande est similaire à l'exemple suivant.

    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. Répertoriez les sous-réseaux associés à IBM Cloud VPC.

    ibmcloud is subnets
    

    Le résultat de la commande est similaire à l'exemple suivant.

    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
    

    Pour optimiser les performances d'un groupe d'instances, veillez à utiliser un sous-réseau d'une taille de 32 ou plus.

    Si vous ne disposez pas de sous-réseau, vous pouvez en créer un à l'aide de la commande ibmcloud is subnet-create. Pour plus d'informations sur la création d'un sous-réseau, consultez la documentation de référence de l'interface de ligne de commande(CLI)d' IBM Cloud VPC.

  7. Répertoriez les images disponibles pour créer votre modèle d'instance.

    ibmcloud is images
    

    Le résultat de la commande est similaire à l'exemple suivant.

    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. Répertoriez les clés SSH disponibles que vous pouvez associer à votre instance.

    ibmcloud is keys
    

    Le résultat de la commande est similaire à l'exemple suivant.

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

    Si vous ne disposez pas d'une clé SSH, vous pouvez en créer une à l'aide de la commande [ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).

    RSA et ED25519 sont les deux types de clés SSH que vous pouvez utiliser. Cependant, vous ne pouvez pas utiliser le type de ED25519 clé SSH avec Windows ou VMware les images. Vous ne pouvez utiliser que des clés SSH RSA pour ces images. Pour plus d'informations, voir Initiation aux clés SSH.

  9. Répertoriez tous les clés groupes de placement disponibles que vous pouvez associer à votre instance.

    ibmcloud is placement-groups
    

    Le résultat de la commande est similaire à l'exemple suivant.

    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
    

Création d'un modèle d'instance à partir de l'interface de ligne de commande

Une fois que vous connaissez ces valeurs, utilisez-les pour exécuter la commande instance-template-create. Vous devez également indiquer un nom pour l'instance.

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

L'exemple de commande suivant crée un modèle d'instance nommé my-instance-template dans le VPC spécifié par l'ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. Le modèle est créé dans la zone us-south-3 ZONE et utilise le bx2-2x8 PROFIL. Le SUBNET est défini par son ID 0726-298acd6c-e71e-4204-a04f-fe4a4dd89805. L'IMAGE est spécifiée par son 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

L'exemple suivant crée un modèle d'instance nommé my-gen3-instance-template dans le VPC spécifié par l'ID r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b. Le modèle est créé dans la ZONE us-south-3_ et utilise le fichier cx3d-8x20 PROFIL. Le SUBNET est défini par son ID 00726-298acd6c-e71e-4204-a04f-fe4a4dd89805. L'IMAGE est spécifiée par son ID r006-534ef2ac-6158-45b3-9657-57629fa85305. Lorsque le profil de calcul sélectionné prend en charge l'allocation de bande passante mutualisée pour les volumes de données, vous pouvez également inclure --storage_qos_modes l'option.

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

Pour plus d'exemples de la commande ibmcloud is instance-template-create, voir Référence de l'interface de ligne de commande de VPC.

Lorsque vous créez un modèle d'instance, des étapes de validation sont effectuées afin de s'assurer que vous pouvez utiliser ce modèle pour provisionner une instance de serveur virtuel. Vous avez besoin d'aide supplémentaire ? Vous pouvez exécuter la ibmcloud is help instance-template-create commande pour afficher l'aide.

Création d'un modèle d'instance à l'aide de l'API

Le modèle d'instance définit les détails des instances de serveur virtuel qui sont créées à partir du modèle. Par exemple, spécifiez le profil ( vCPU s et mémoire), l'image, les volumes associés et les interfaces réseau pour le modèle d'instance. Vous pouvez créer un ou plusieurs modèles d'instance dans votre instance « IBM Cloud VPC » à l'aide de l'interface de programmation d'application (API).

Pour plus d'informations sur la création d'une instance de serveur virtuel avec une image personnalisée partagée à partir d'un catalogue privé, voir Mise à disposition à partir d'une image de catalogue privé.

Avant de commencer

Définissez des variables pour le jeton IAM, le point d'extrémité d'API et la version d'API. Pour obtenir des instructions, voir Configuration de votre environnement d'API et d'interface de ligne de commande.

Assurez-vous de disposer des droits d'accès nécessaires. Pour appeler ces méthodes, vous devez disposer d'un ou de plusieurs rôles d'accès IAM qui incluent les actions suivantes, en fonction des conditions répertoriées. Vous pouvez vérifier votre accès en accédant à la page Utilisateurs du tableau de bord Cloud Identity and Access Management.

Pour en savoir plus sur l'API, cliquez sur Obtenir un exemple d'appel d'API sur les pages de mise à disposition dans la console IBM Cloud. Vous pouvez afficher la séquence correcte des demandes d'API et mieux comprendre les actions et leurs dépendances.

Collecte d'informations pour créer un modèle d'instance

Vous êtes prêt à créer un modèle d'instance ? Avant de pouvoir faire le POST demande auprès du /instance/templates, vous devez connaître les détails que vous souhaitez inclure pour votre modèle d'instance. Par exemple, vous avez besoin de l'ID ou du nom du VPC, ainsi que du nom de la zone dans laquelle vous souhaitez créer l'instance. Vous devez également connaître le nom du profil d'instance que vous souhaitez utiliser, ainsi que l'ID ou le nom du sous-réseau dans lequel vous souhaitez créer le modèle. Rassemblez les détails de modèle d'instance requis suivants en effectuant les appels d'API suivants:

Détails du modèle d'instance API requis
Détails de l'instance Méthodes de référencement Documentation sur les spécifications d'API
VPC GET /vpcs Répertorier tous les clouds privés virtuels
Zone GET /regions/<region>/zones Répertorier toutes les zones dans une région
Profil GET /instance/profiles Répertorier tous les profils d'instance
Sous-réseau GET /subnets Liste de tous les sous-réseaux
Image GET /images Affichage de la liste complète des images
Clé GET /keys Répertorier toutes les clés
Groupes de placement GET /placement_groups Répertorier tous les groupes de placement

Vérifiez que le profil que vous souhaitez utiliser est disponible dans la zone où vous prévoyez de créer l'instance.

Utilisez les commandes suivantes pour déterminer les informations requises pour créer un modèle d'instance.

  1. Répertoriez les instances IBM Cloud VPC associées à votre compte.

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

    Si vous n'en avez pas à disposition, vous pouvez créer un objet IBM Cloud VPC à l'aide de la méthode POST /vpcs . Pour plus d'informations sur la création d'un IBM Cloud VPC, voir IBM Cloud API Docs-Create a VPC.

  2. Répertoriez les régions associées à votre compte.

    curl -X GET "$vpc_api_endpoint/v1/regions?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  3. Répertoriez les zones associées à la région.

    curl -X GET "$vpc_api_endpoint/v1/regions/$region_name/zones?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  4. Répertoriez les profils disponibles pour créer votre modèle d'instance.

    curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  5. Répertoriez les sous-réseaux associés à IBM Cloud VPC.

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

    Pour optimiser les performances d'un groupe d'instances, veillez à utiliser un sous-réseau d'une taille de 32 ou plus.

    Si vous ne disposez pas d'un sous-réseau, vous pouvez en créer un à l'aide de la méthode POST /subnets. Pour plus d'informations sur la création d'un IBM Cloud VPC, voir IBM Cloud API Docs-Create a subnet.

  6. Répertoriez les images disponibles pour créer votre modèle d'instance.

    curl -X GET "$vpc_api_endpoint/v1/images?version=2023-07-13&generation=2" -H "Authorization: Bearer $iam_token"
    
  7. Répertoriez les clés SSH disponibles que vous pouvez associer à votre instance.

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

    Si vous ne disposez pas d'une clé SSH, vous pouvez en créer une à l'aide de la commande [ibmcloud is key-create](/docs/vpc?topic=vpc-vpc-reference#key-create).

    Si vous ne disposez pas d'une clé SSH disponible, vous pouvez en créer une à l'aide de la méthode POST /keys. Pour plus d'informations sur la création d'un IBM Cloud VPC, voir IBM Cloud API Docs-Create a key.

    RSA et ED25519 sont les deux types de clés SSH que vous pouvez utiliser. Cependant, vous ne pouvez pas utiliser le type de ED25519 clé SSH avec Windows ou VMware les images. Vous ne pouvez utiliser que des clés SSH RSA pour ces images. Pour plus d'informations, voir Initiation aux clés SSH.

  8. Répertoriez tous les clés groupes de placement disponibles que vous pouvez associer à votre instance.

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

Création du modèle d'instance avec l'API

Une fois que vous connaissez ces valeurs, utilisez-les pour créer un POST demande auprès du /instance/templates méthode. Vous devez également indiquer un nom pour l'instance.

L'exemple suivant crée un modèle d'instance nommé my-instance-template dans us-south-1 et utilise le profil bx2-2x8 profil.

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"}}`

L'exemple suivant crée un modèle d'instance nommé my-gen3-instance-template dans us-south-3 et qui utilise le profil cx3d-8x20 profil. Lorsque le profil de calcul sélectionné prend en charge l'allocation de bande passante mutualisée pour les volumes de données, la propriété --storage_qos_modes peut également être incluse.

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"
}'

Pour plus d'exemples de la méthode /instance/templates, voir la documentation de l'API Créer un modèle d'instance.

Création d'un modèle d'instance avec Terraform

Vous pouvez créer un ou plusieurs modèles d'instance dans votre instance IBM Cloud VPC à l'aide de Terraform.

Pour plus d'informations sur la création d'une instance de serveur virtuel avec une image personnalisée partagée à partir d'un catalogue privé, voir Création d'une instance à l'aide de Terraform.

Avant de commencer

Vérifiez que vous avez configuré Terraform pour VPC.

Collecte d'informations pour créer un modèle d'instance

Vous êtes prêt à créer un modèle d'instance ? Avant d'inclure le ibm_is_instance_template ressource dans votre configuration, vous devez connaître les détails que vous souhaitez inclure dans votre modèle d'instance. Par exemple, vous avez besoin de l'ID ou du nom du VPC, ainsi que du nom de la zone dans laquelle vous souhaitez créer le modèle d'instance. Vous devez également connaître le nom du profil d'instance que vous souhaitez utiliser, ainsi que l'ID ou le nom du sous-réseau dans lequel vous souhaitez créer le modèle.

Rassemblez les informations suivantes, obligatoires pour le modèle d'instance Terraform.

Détails du modèle d'instance Terraform requis
Détails du modèle d'instance Bloc de liste Documentation de référence sur la source de données VPC Terraform
Profil d'instance ibm_is_instance_profiles ibm_is_instance_profiles
Image ibm_is_images images_ibm_is_images
VPC ibm_is_vpc ibm_est_vpc
Sous-réseau ibm_is_subnets ibm_est_sous-réseaux
Zone ibm_is_zone zone_ibm
Clés ibm_is_ssh_keys clés_ibm_is_ssh_clés
Groupes de placement ibm_is_placement_groups groupage ibm_is_placement_groups

Utilisez le guide suivant pour déterminer les informations requises pour créer un modèle d'instance.

Rassemblez les informations suivantes à l'aide du bloc DataSource.

  1. Rassemblez les détails du profil d'instance. Exécutez le bloc suivant pour le profil que vous avez sélectionné. Pour obtenir la liste des profils disponibles, voir Profils d'instancex86. Pour plus d'informations, consultez la documentation Terraform relative à la fonction [ibm_is_instance_profiles](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/is_instance_profiles). Pour utiliser un profil d'instance, reportez-vous à la source de données du profil d'instance. Pour plus d'informations, consultez la documentation Terraform relative à la fonction [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. Répertoriez les images disponibles pour créer votre instance. Vous pouvez utiliser une image stockée, une image personnalisée de votre compte ou une image qui a été partagée avec votre compte à partir d'un catalogue privé. Pour plus d'informations, consultez la documentation Terraform relative à ibm_is_image. Si vous envisagez d'utiliser une image partagée à partir d'un catalogue privé, consultez la documentation Terraform sur ibm_cm_version ou ibm_cm_offering_instance.

    • Sélectionnez une image stockée ou une image personnalisée dans votre compte pour votre instance.
    data "ibm_is_image" "example_image" {
       name = "ibm-centos-7-6-minimal-amd64-2"
    }
    
    • Sélectionnez une image partagée à partir d'un catalogue privé pour l'instance. Pour plus d'informations, consultez la documentation Terraform relative à ibm_is_images.
    data "ibm_is_images" "example_images" {
       catalog_managed = true
    }
    

    Si vous sélectionnez une image de catalogue appartenant à un autre compte, vous devez examiner d'autres considérations et limitations. Voir Utilisation de références d'image entre comptes dans un catalogue privé dans Terraform.

  3. Créez une ressource VPC ou utilisez un VPC existant en faisant référence à la source de données VPC. Pour plus d'informations, voir la documentation Terraform sur la source de données ibm_is_vpc ou la ressource ibm_is_vpc.

    data "ibm_is_vpc" "example_vpc" {
       name = "example-vpc"
    }
    
  4. Créez une ressource de sous-réseau ou utilisez un sous-réseau existant en faisant référence à la source de données de sous-réseau. Pour plus d'informations, voir la documentation Terraform sur la source de données ibm_is_subnet ou la ressource 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. Pour utiliser une clé ssh existante, reportez-vous à la source de données ssh-key ibm_is_ssh_key. Si vous ne disposez pas de clés SSH disponibles, utilisez la ressource ibm_is_ssh_key pour en créer une.

    RSA et ED25519 sont les deux types de clés SSH que vous pouvez utiliser. Cependant, vous ne pouvez pas utiliser le type de ED25519 clé SSH avec Windows ou VMware les images. Vous ne pouvez utiliser que des clés SSH RSA pour ces images. Pour plus d'informations, voir Initiation aux clés 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"
    }
    

Création du modèle d'instance avec Terraform

Une fois que vous connaissez ces valeurs, utilisez-les pour écrire le ibm_is_instance_template bloc de ressources. Vous devez également indiquer un nom pour l'instance.

L'exemple suivant crée un modèle d'instance nommé my-instance-template dans la région us-south-1 et utilise le profil bx2-8x32 profil.

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
  }
}

L'exemple suivant crée un modèle d'instance nommé my-gen3-instance-template dans us-south-3 et qui utilise le profil cx3d-8x20 profil. Lorsque le profil de calcul sélectionné prend en charge l'allocation de bande passante mutualisée pour les volumes de données, l'option storage_qos_modes peut également être incluse.

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
    }
  }
}

Pour d'autres exemples de ibm_is_instance_template, voir la référence Terraform ibm_is_instance_template.

Etapes suivantes

Une fois que vous avez créé un modèle d'instance, vous pouvez provisionner une seule instance de serveur virtuel, ou plusieurs instances simultanément dans le cadre d'un groupe d'instances. Vous pouvez également définir des stratégies de mise à l'échelle automatique pour votre groupe d'instances afin d'ajouter ou de retirer de façon dynamique des instances de serveur virtuel de votre groupe. Pour plus d'informations, consultez les rubriques suivantes :