Utiliser un modèle de lancement différent pour un type d’instance - Amazon EC2 Auto Scaling

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser un modèle de lancement différent pour un type d’instance

Outre l’utilisation de plusieurs types d’instance, vous pouvez également vous servir de plusieurs modèles de lancement.

Par exemple, supposons que vous configuriez un groupe Auto Scaling pour les applications à forte intensité de calcul et que vous souhaitiez inclure une combinaison de types d’instances C5, C5a et C6g. Cependant, les instances C6g sont équipées d'un processeur AWS Graviton basé sur l'architecture Arm 64 bits, tandis que les instances C5 et C5a fonctionnent sur des processeurs Intel x86 64 bits. Les AMI des instances C5 et C5a fonctionnent sur chacune d’elles, mais pas sur les instances C6g. Pour résoudre ce problème, utilisez un modèle de lancement différent pour les instances C6g. Vous pouvez toujours utiliser le même modèle de lancement pour les instances C5 et C5a.

Cette section décrit les procédures d'utilisation du pour AWS CLI effectuer des tâches liées à l'utilisation de plusieurs modèles de lancement. Actuellement, cette fonction n'est disponible que si vous utilisez l'interface AWS CLI ou un kit SDK. Elle n'est pas disponible à partir de la console.

Configurer un groupe Auto Scaling afin d’utiliser plusieurs modèles de lancement

Vous pouvez configurer un groupe Auto Scaling afin d’utiliser plusieurs modèles de lancement, comme indiqué dans les exemples suivants.

Pour configurer un nouveau groupe Auto Scaling afin d’utiliser plusieurs modèles de lancement (AWS CLI)

Utilisez la commande create-auto-scaling-group. Par exemple, la commande suivante crée un nouveau groupe Auto Scaling. Celui-ci spécifie les types d'instances c5.large, c5a.large et c6g.large, et définit un nouveau modèle de lancement pour le type d'instance c6g.large afin qu'une AMI appropriée soit utilisée pour lancer les instances Arm. Amazon EC2 Auto Scaling s'appuie sur l'ordre des types d'instances afin de déterminer le type d'instance à utiliser en premier pour satisfaire la capacité à la demande.

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

Le fichier config.json contient le contenu suivant.

{ "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateName":"my-launch-template-for-x86", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] }, "InstancesDistribution":{ "OnDemandBaseCapacity": 1, "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } }, "MinSize":1, "MaxSize":5, "DesiredCapacity":3, "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags":[ ] }
Pour configurer un groupe Auto Scaling existant afin d’utiliser plusieurs modèles de lancement (AWS CLI)

Utilisez la commande update-auto-scaling-group. Par exemple, la commande suivante attribue le modèle de lancement intitulé my-launch-template-for-arm au type d’instance c6g.large du groupe Auto Scaling intitulé my-asg.

aws autoscaling update-auto-scaling-group --cli-input-json file://~/config.json

Le fichier config.json contient le contenu suivant.

{ "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] } } }
Pour vérifier les modèles de lancement d'un groupe Auto Scaling

Utilisez l’une des commandes suivantes :

Vous trouverez un exemple de spécification de plusieurs modèles de lancement à l'aide de la sélection du type d'instance basée sur les attributs dans un AWS CloudFormation modèle sur AWS re:Post.