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.
- Dans la console IBM Cloud console, cliquez sur Menu de navigation icône
> Infrastructure
> Compute > Instance templates.
- Cliquez sur « Nouveau modèle d'instance » et saisissez les informations figurant dans le tableau 1.
- 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.
| 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 :
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 |
| 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 | 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.
-
Répertoriez les régions associées à votre compte.
ibmcloud is regionsConsultez 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 -
Basculez vers votre région cible.
ibmcloud target -r <region-name> -
Énumérez les zones associées à la région cible.
ibmcloud is zonesDans l'exemple suivant, la commande s'exécute dans la
us-southré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 -
Répertoriez les instances IBM Cloud VPC associées à votre compte.
ibmcloud is vpcsPour 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 DefaultSi 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. -
Répertoriez les profils disponibles pour créer votre modèle d'instance.
ibmcloud is instance-profilesLe 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 -
Répertoriez les sous-réseaux associés à IBM Cloud VPC.
ibmcloud is subnetsLe 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 DefaultPour 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. -
Répertoriez les images disponibles pour créer votre modèle d'instance.
ibmcloud is imagesLe 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 -
Répertoriez les clés SSH disponibles que vous pouvez associer à votre instance.
ibmcloud is keysLe 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.. DefaultSi 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.
-
Répertoriez tous les clés groupes de placement disponibles que vous pouvez associer à votre instance.
ibmcloud is placement-groupsLe 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 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.
-
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éthodePOST /vpcs. Pour plus d'informations sur la création d'un IBM Cloud VPC, voir IBM Cloud API Docs-Create a VPC. -
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" -
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" -
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" -
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. -
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" -
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.
-
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 | 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.
-
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" } -
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.
-
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" } -
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" } -
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 :