

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.

# Groupes Auto Scaling combinant plusieurs types d'instances et options d'achat
<a name="ec2-auto-scaling-mixed-instances-groups"></a>

Vous pouvez lancer et mettre automatiquement à l’échelle une flotte d’instances à la demande et d’instances Spot au sein d’un même groupe Auto Scaling. En plus de bénéficier de remises pour l'utilisation des instances Spot, vous pouvez utiliser les instances réservées ou les Savings Plans pour bénéficier de remises sur le tarif normal des instances à la demande. Ces facteurs vous permettent de réaliser des économies optimales sur les instances EC2 et vous font bénéficier de la mise à l’échelle et des performances souhaitées pour votre application.

Les instances Spot sont des capacités inutilisées disponibles à des prix très réduits par rapport au prix d'EC2 On-Demand. Les instances Spot constituent un choix économique si vous êtes flexible quant au moment où vos applications s’exécutent et à la possibilité de les interrompre. Ils peuvent être utilisés pour diverses applications flexibles et tolérantes aux pannes. Les exemples incluent les serveurs Web apatrides, les points de terminaison d'API, les applications de mégadonnées et d'analyse, les charges de travail conteneurisées, les CI/CD pipelines, le calcul haute performance et haut débit (HPC/HTC), les charges de travail de rendu et d'autres charges de travail flexibles.

Pour plus d'informations, consultez la section [Options d'achat d'instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) dans le guide de l'*utilisateur Amazon EC2*.

**Topics**
+ [Vue d'ensemble de la configuration pour la création d'un groupe d'instances mixtes](mixed-instances-groups-set-up-overview.md)
+ [Stratégies d’allocation pour plusieurs types d’instances](allocation-strategies.md)
+ [Création d'un groupe d'instances mixtes à l'aide de la sélection du type d'instance basée sur les attributs](create-mixed-instances-group-attribute-based-instance-type-selection.md)
+ [Créer un groupe d’instances mixtes en choisissant manuellement les types d’instances](create-mixed-instances-group-manual-instance-type-selection.md)
+ [Configurer un groupe Auto Scaling pour utiliser les poids d'instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md)
+ [Utiliser plusieurs modèles de lancement](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md)

# Vue d'ensemble de la configuration pour la création d'un groupe d'instances mixtes
<a name="mixed-instances-groups-set-up-overview"></a>

Cette rubrique fournit une vue d'ensemble et les meilleures pratiques pour créer un groupe d'instances mixtes Auto Scaling.

**Topics**
+ [Présentation de](#mixed-instances-groups-overview)
+ [Flexibilité du type d’instance](#mixed-instances-group-instance-flexibility)
+ [Flexibilité des zones de disponibilité](#mixed-instances-group-az-flexibility)
+ [prix Spot max](#mixed-instances-group-spot-max-price)
+ [Rééquilibrage de capacité proactif](#use-capacity-rebalancing)
+ [Comportement de mise à l’échelle.](#mixed-instances-group-scaling-behavior)
+ [Disponibilité régionale des types d’instances](#setup-overview-regional-availability-of-instance-types)
+ [Ressources connexes](#setup-overview-related-resources)
+ [Limitations](#setup-overview-limitations)

## Présentation de
<a name="mixed-instances-groups-overview"></a>

Pour créer un groupe d’instances mixtes, deux options s’offrent à vous :
+ [Sélection du type d'instance basée sur les attributs](create-mixed-instances-group-attribute-based-instance-type-selection.md) : définissez vos exigences de calcul pour choisir automatiquement vos types d'instances en fonction de leurs attributs d'instance spécifiques.
+ [Sélection manuelle du type d'instance](create-mixed-instances-group-manual-instance-type-selection.md) : choisissez manuellement les types d'instance adaptés à votre charge de travail.

------
#### [ Manual selection ]

Les étapes suivantes expliquent comment créer un groupe d’instances mixtes en choisissant manuellement des types d’instance : 

1. Sélectionnez un modèle de lancement contenant les paramètres pour lancer une instance EC2. Les paramètres des modèles de lancement sont facultatifs, mais Amazon EC2 Auto Scaling ne peut pas lancer une instance si l'identifiant amilong ; (AMI) est absent du modèle de lancement.

1. Choisissez l’option pour remplacer le modèle de lancement.

1. Choisissez manuellement les types d’instances adaptés à votre charge de travail.

1. Spécifiez les pourcentages des instances à la demande et des instances Spot à lancer.

1. Choisissez les stratégies d'allocation qui déterminent la façon dont Amazon EC2 Auto Scaling satisfait les capacités à la demande et Spot des types d'instances possibles.

1. Choisissez les zones de disponibilité et les sous-réseaux VPC dans lesquels vous souhaitez lancer vos instances.

1. Indiquez la taille initiale du groupe (la capacité souhaitée), ainsi que la taille minimale et maximale du groupe.

Des remplacements sont nécessaires pour remplacer le type d’instance déclaré dans le modèle de lancement et utiliser plusieurs types d’instances intégrés dans la définition de ressources du groupe Auto Scaling. Pour plus d'informations sur les types d'instances disponibles, consultez la section [Types d'instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) dans le guide de l'*utilisateur Amazon EC2*. 

Vous pouvez également configurer les paramètres facultatifs suivants pour chaque type d’instance :
+ `LaunchTemplateSpecification`— Vous pouvez attribuer un modèle de lancement différent à un type d'instance selon vos besoins. Cette option n’est actuellement pas disponible à partir de la console. Pour de plus amples informations, veuillez consulter [Utiliser plusieurs modèles de lancement](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md).
+ `WeightedCapacity`— Vous décidez dans quelle mesure l'instance est prise en compte pour la capacité souhaitée par rapport au reste des instances de votre groupe. Si vous spécifiez une valeur `WeightedCapacity` pour un type d’instance, vous devez spécifier une valeur `WeightedCapacity` pour tous les types d’instance. Par défaut, chaque instance compte pour un dans la capacité souhaitée. Pour de plus amples informations, veuillez consulter [Configurer un groupe Auto Scaling pour utiliser les poids d'instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

------
#### [ Attribute-based selection ]

Pour permettre à Amazon EC2 Auto Scaling de choisir automatiquement vos types d’instances en fonction de leurs attributs d’instance spécifiques, suivez les étapes suivantes pour créer un groupe d’instances mixte en spécifiant vos besoins de calcul :

1. Sélectionnez un modèle de lancement contenant les paramètres pour lancer une instance EC2. Les paramètres des modèles de lancement sont facultatifs, mais Amazon EC2 Auto Scaling ne peut pas lancer une instance si l'identifiant amilong ; (AMI) est absent du modèle de lancement.

1. Choisissez l’option pour remplacer le modèle de lancement.

1. Spécifiez les attributs d'instance qui correspondent à vos besoins de calcul, tels que v CPUs et les exigences en matière de mémoire.

1. Spécifiez les pourcentages des instances à la demande et des instances Spot à lancer.

1. Choisissez les stratégies d'allocation qui déterminent la façon dont Amazon EC2 Auto Scaling satisfait les capacités à la demande et Spot des types d'instances possibles.

1. Choisissez les zones de disponibilité et les sous-réseaux VPC dans lesquels vous souhaitez lancer vos instances.

1. Indiquez la taille initiale du groupe (la capacité souhaitée), ainsi que la taille minimale et maximale du groupe.

Des remplacements sont nécessaires pour remplacer le type d’instance déclaré dans le modèle de lancement et utiliser un ensemble d’attributs d’instance qui décrivent vos exigences de calcul. Pour les attributs pris en charge, consultez [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)le manuel *Amazon EC2 Auto Scaling API Reference*. Vous pouvez également utiliser un modèle de lancement qui contient déjà la définition des attributs d’instance. 

Vous pouvez également configurer le paramètre `LaunchTemplateSpecification` dans la structure de remplacement pour attribuer un modèle de lancement différent à un ensemble d’exigences d’instance selon les besoins. Cette option n’est actuellement pas disponible à partir de la console. Pour plus d'informations, consultez le [LaunchTemplateOverrides](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateOverrides.html)manuel *Amazon EC2 Auto Scaling API Reference*.

Par défaut, vous définissez le nombre d’instances pour qu’il corresponde à la capacité souhaitée de votre groupe Auto Scaling. 

Vous pouvez également définir la valeur de la capacité souhaitée sur le nombre de v CPUs ou sur la quantité de mémoire. Pour ce faire, utilisez la propriété `DesiredCapacityType` dans le fonctionnement de l’API `CreateAutoScalingGroup` ou le champ déroulant **Type de capacité souhaitée** dans la AWS Management Console. Il s’agit d’une alternative utile aux [pondérations d’instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

------

## Flexibilité du type d’instance
<a name="mixed-instances-group-instance-flexibility"></a>

Pour améliorer la disponibilité, déployez votre application sur plusieurs types d’instances. Il est recommandé d’utiliser plusieurs types d’instance pour satisfaire les exigences de capacité. Amazon EC2 Auto Scaling peut ainsi lancer un autre type d'instance si la capacité d'instance est insuffisante dans les zones de disponibilité que vous avez choisies.

Si la capacité des instances Spot est insuffisante, Amazon EC2 Auto Scaling poursuivra ses tentatives de lancement à partir d’autres pools d’instances Spot. (Les pools qu'il utilise sont déterminés par votre choix de types d'instances et de stratégie d'allocation.) Amazon EC2 Auto Scaling vous aide à tirer parti des économies réalisées grâce aux instances Spot en les lançant à la place des instances à la demande.

Nous vous recommandons d’être flexible sur au moins 10 types d’instance pour chaque charge de travail. Lorsque vous choisissez des types d’instance, ne vous limitez pas aux nouveaux types d’instance les plus populaires. Choisir des types d’instance de génération plus ancienne a tendance à entraîner moins d’interruptions Spot, car ils sont moins demandés par les clients à la demande.

## Flexibilité des zones de disponibilité
<a name="mixed-instances-group-az-flexibility"></a>

Nous vous recommandons fortement de répartir votre groupe Auto Scaling sur plusieurs zones de disponibilité. Avec plusieurs zones de disponibilité, vous pouvez concevoir des applications qui basculent automatiquement d’une zone à l’autre pour une plus grande résilience. 

L’avantage supplémentaire est que vous pouvez accéder à un groupe de capacités Amazon EC2 plus important par rapport aux groupes d’une seule zone de disponibilité. Dans la mesure où la capacité fluctue en toute indépendance pour chaque type d’instance de chaque zone de disponibilité, il est souvent possible d’obtenir davantage de capacité de calcul lorsque l’on fait preuve de souplesse dans le choix à fois des types d’instances et de zones de disponibilité. 

Pour plus d’informations sur l’utilisation des zones de disponibilité multiples, consultez [Exemple : répartir les instances dans les zones de disponibilité](auto-scaling-benefits.md#arch-AutoScalingMultiAZ).

## prix Spot max
<a name="mixed-instances-group-spot-max-price"></a>

Lorsque vous créez votre groupe Auto Scaling à l'aide du SDK AWS CLI ou d'un SDK, vous pouvez spécifier le `SpotMaxPrice` paramètre. Le paramètre `SpotMaxPrice` détermine le prix maximum que vous êtes prêt à payer pour une heure d’instance Spot. 

Lorsque vous indiquez le paramètre `WeightedCapacity` dans vos remplacements (ou `"DesiredCapacityType": "vcpu"` ou `"DesiredCapacityType": "memory-mib"` au niveau du groupe), le prix maximum représente le prix unitaire maximum, et non le prix maximum pour une instance complète. 

Nous vous recommandons fortement de ne pas indiquer de prix maximum. Votre application peut ne pas fonctionner si vous ne recevez pas d'Instances Spot, par exemple lorsque votre prix maximum est trop bas. Si vous ne spécifiez pas de prix maximum, la valeur par défaut est le prix à la demande. Vous payez uniquement le prix pour les instances Spot que vous lancez. Vous pouvez toujours bénéficier des remises importantes proposées par les instances Spot. Ces remises sont possibles en raison de la tarification stable des instances Spot qui est disponible grâce au [modèle de tarification Spot](https://aws.amazon.com/blogs/compute/new-amazon-ec2-spot-pricing/). Pour plus d'informations, consultez la section [Tarification et économies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html#spot-pricing) dans le guide de l'*utilisateur Amazon EC2*. 

## Rééquilibrage de capacité proactif
<a name="use-capacity-rebalancing"></a>

Si votre cas d’utilisation le permet, nous vous recommandons un rééquilibrage de la capacité. Le rééquilibrage des capacités vous aide à maintenir la disponibilité de votre charge de travail en remplaçant de manière proactive les instances ponctuelles susceptibles d'être interrompues.

Lorsque le rééquilibrage des capacités est activé, Amazon EC2 Auto Scaling tente de remplacer de manière proactive les instances Spot ayant reçu une recommandation de rééquilibrage des instances EC2. Cela permet de rééquilibrer votre charge de travail vers de nouvelles instances ponctuelles qui ne présentent pas un risque élevé d'interruption. 

Pour de plus amples informations, veuillez consulter [Rééquilibrage des capacités dans Auto Scaling pour remplacer les instances ponctuelles à risque](ec2-auto-scaling-capacity-rebalancing.md).

## Comportement de mise à l’échelle.
<a name="mixed-instances-group-scaling-behavior"></a>

Lorsque vous créez un groupe d’instances mixtes, il utilise des instances à la demande par défaut. Pour utiliser des instances Spot, vous devez modifier le pourcentage du groupe à lancer en tant qu’instances à la demande. Vous pouvez spécifier n'importe quel nombre compris entre 0 et 100 pour le pourcentage d'instances à la demande.

En option, vous pouvez également désigner un nombre de base d'instances à la demande pour commencer. Si vous procédez de la sorte, Amazon EC2 Auto Scaling attend le lancement des instances Spot jusqu’à ce que la capacité de base soit atteinte lorsque le groupe monte en puissance. Tout dépassement de la capacité de base utilise le pourcentage à la demande pour déterminer le nombre d'instances à la demande et le nombre d'instances ponctuelles à lancer. 

Amazon EC2 Auto Scaling convertit le pourcentage en un nombre équivalent d'instances. Si le résultat est un nombre fractionnaire, il est arrondi à l’entier supérieur en faveur des instances à la demande.

Le tableau suivant montre le comportement du groupe Auto Scaling à mesure que la taille du groupe augmente et diminue.


**Exemple : comportement de mise à l'échelle**  

| Options d’achat | La taille de groupe et le nombre total d’instances en cours d’exécution, toutes options d’achat confondues | 
| --- |--- |
|  | **10** | **20** | **30** | **40** | 
| --- |--- |--- |--- |--- |
| **Exemple 1** : base de 10, 50/50 % à la demande/Spot |  |  |  |  | 
| Instances à la demande (montant de base) | 10 | 10 | 10 | 10 | 
| On-Demand instances | 0 | 5 | 10 | 15 | 
| Instances Spot | 0 | 5 | 10 | 15 | 
| **Exemple 2** : base de 0, 0/100 % à la demande/Spot |  |  |  |  | 
| Instances à la demande (montant de base) | 0 | 0 | 0 | 0 | 
| On-Demand instances | 0 | 0 | 0 | 0 | 
| Instances Spot | 10 | 20 | 30 | 40 | 
| **Exemple 3** : base de 0, 60/40 % à la demande/Spot |  |  |  |  | 
| Instances à la demande (montant de base) | 0 | 0 | 0 | 0 | 
| On-Demand instances | 6 | 12 | 18 | 24 | 
| Instances Spot | 4 | 8 | 12 | 16 | 
| **Exemple 4** : base de 0, 100/0 % à la demande/Spot |  |  |  |  | 
| Instances à la demande (montant de base) | 0 | 0 | 0 | 0 | 
| On-Demand instances | 10 | 20 | 30 | 40 | 
| Instances Spot | 0 | 0 | 0 | 0 | 
| **Exemple 5** : base de 12, 0/100 % à la demande/Spot |  |  |  |  | 
| Instances à la demande (montant de base) | 10 | 12 | 12 | 12 | 
| On-Demand instances | 0 | 0 | 0 | 0 | 
| Instances Spot | 0 | 8 | 18 | 28 | 

Lorsque la taille du groupe *augmente*, Amazon EC2 Auto Scaling tente d’équilibrer votre capacité uniformément entre les zones de disponibilité que vous avez indiquées. Ensuite, il lance des types d'instance en fonction de la stratégie d'allocation qui est spécifiée. 

Lorsque la taille du groupe *diminue*, Amazon EC2 Auto Scaling identifie d’abord lequel des deux types (Spot ou à la demande) doit être résilié. Il essaye ensuite de résilier les instances de manière équilibrée dans les zones de disponibilité que vous avez indiquées. Cela favorise également la résiliation des instances d’une manière qui correspond le mieux à vos stratégies d’allocation. Pour plus d’informations sur les politiques de mise hors service, consultez la section [Configurer les politiques de résiliation pour Amazon EC2 Auto Scaling](ec2-auto-scaling-termination-policies.md).

## Disponibilité régionale des types d’instances
<a name="setup-overview-regional-availability-of-instance-types"></a>

La disponibilité des types d'instances EC2 varie en fonction de vos Région AWS besoins. Par exemple, les types d’instance de la nouvelle génération peuvent ne pas encore être disponibles dans une région donnée. En raison des variations de disponibilité des instances d’une région à l’autre, vous pouvez rencontrer des problèmes lorsque vous effectuez des demandes par programmation si plusieurs types d’instances dans vos remplacements ne sont pas disponibles dans votre région. L’utilisation de plusieurs types d’instances qui ne sont pas disponibles dans votre région peut entraîner l’échec total de la demande. Pour résoudre le problème, effectuez de nouveau la demande avec différents types d’instance, en vous assurant que chaque type d’instance est disponible dans la région. Pour rechercher les types d'instances proposés par emplacement, utilisez la [describe-instance-type-offerings](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-type-offerings.html)commande. Pour plus d'informations, consultez la section [Trouver un type d'instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html) dans le guide de l'utilisateur *Amazon EC2*. 

## Ressources connexes
<a name="setup-overview-related-resources"></a>

Pour en savoir plus sur les meilleures pratiques relatives aux instances Spot, consultez la section [Meilleures pratiques pour EC2 Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html) dans le guide de l'*utilisateur Amazon EC2*. 

## Limitations
<a name="setup-overview-limitations"></a>

Après avoir ajouté des remplacements à un groupe Auto Scaling à l'aide d'une [politique d'instances mixtes](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MixedInstancesPolicy.html), vous pouvez mettre à jour les remplacements avec l'appel d'`UpdateAutoScalingGroup`API, mais pas les supprimer. Pour supprimer complètement les dérogations, vous devez d'abord changer de groupe Auto Scaling afin d'utiliser un modèle de lancement ou une configuration de lancement au lieu d'une politique d'instances mixtes. Ensuite, vous pouvez à nouveau ajouter une politique d'instances mixtes sans aucune dérogation.

# Stratégies d’allocation pour plusieurs types d’instances
<a name="allocation-strategies"></a>

Lorsque vous utilisez plusieurs types d’instance, vous gérez la façon dont Amazon EC2 Auto Scaling satisfait vos capacités à la demande et Spot des types d’instance possibles. Pour ce faire, vous devez définir des stratégies d’allocation. 

Pour passer en revue les meilleures pratiques relatives à un groupe d'instances mixtes, consultez[Vue d'ensemble de la configuration pour la création d'un groupe d'instances mixtes](mixed-instances-groups-set-up-overview.md).

**Topics**
+ [Instances Spot](#spot-allocation-strategy)
+ [On-Demand instances](#on-demand-allocation-strategy)
+ [Comment les stratégies d'allocation fonctionnent avec les pondérations](#lowest-price-allocation-strategy)

## Instances Spot
<a name="spot-allocation-strategy"></a>

Amazon EC2 Auto Scaling fournit les stratégies d’allocation suivantes pour les instances Spot : 

`price-capacity-optimized` (recommandé)  
La stratégie d'allocation optimisée en termes de prix et de capacité prend en compte à la fois le prix et la capacité afin de sélectionner les groupes d'instances Spot les moins susceptibles d'être interrompus et dont le prix est le plus bas possible.  
Nous vous recommandons cette stratégie lorsque vous débutez. Pour plus d'informations, consultez la section [Présentation de la stratégie price-capacity-optimized d'allocation pour les instances Spot EC2](https://aws.amazon.com/blogs/compute/introducing-price-capacity-optimized-allocation-strategy-for-ec2-spot-instances/) AWS sur le blog.

`capacity-optimized`  
Amazon EC2 Auto Scaling sollicite vos instances Spot du pool avec une capacité optimale pour le nombre d'instances qui sont lancées.   
Avec les instances Spot, la tarification change lentement au fil du temps en fonction des tendances à long terme en matière d’offre et de demande. Cependant, la capacité fluctue en temps réel. La stratégie `capacity-optimized` lance automatiquement des Instances Spot dans les pools les plus disponibles en examinant les données de capacité en temps réel et en prédisant les instances les plus disponibles. Cela permet de minimiser les interruptions pour les charges de travail de nature à entraîner des coûts plus élevés associés au redémarrage du travail et aux points de contrôle. Pour donner à certains types d'instance une plus grande chance de démarrer en premier, utilisez `capacity-optimized-prioritized`. 

`capacity-optimized-prioritized`  
Vous définissez l'ordre des types d'instance dans la liste des remplacements de modèle de lancement de la priorité la plus élevée à la plus basse (du premier au dernier de la liste). Amazon EC2 Auto Scaling respecte les priorités relatives aux types d'instances dans la mesure du possible, mais optimise d'abord la capacité. C’est une bonne option pour les charges de travail pour lesquelles la possibilité de perturbation doit être minimisée, mais la priorité de certains types d’instances est également importante. Notez que si la stratégie d'allocation à la demande est définie sur `prioritized`, la même priorité est appliquée lors de l'exécution de la capacité à la demande. 

`lowest-price` (non recommandé)  
Nous ne recommandons pas `lowest-price` cette stratégie car c'est elle qui présente le risque d'interruption le plus élevé pour vos instances Spot.
Amazon EC2 Auto Scaling sollicite vos instances Spot en utilisant les groupes de prix les plus bas au sein d’une zone de disponibilité, à travers le nombre N de groupes d’instances Spot que vous spécifiez pour le paramètre **Groupes de prix les plus bas**. Par exemple, si vous spécifiez quatre types d'instances et quatre zones de disponibilité, votre groupe Auto Scaling a accès à un maximum de 16 pools d'instances Spot. (Quatre dans chaque zone de disponibilité.) Si vous spécifiez deux pools d'instances Spot (N=2) pour la stratégie d'allocation, votre groupe Auto Scaling peut puiser dans les deux pools les moins chers de chaque zone de disponibilité afin de répondre à votre capacité Spot.  
La `lowest-price` stratégie n'est disponible que lorsque vous utilisez le AWS CLI.  
Notez qu’Amazon EC2 Auto Scaling s’efforce de puiser les Instances Spot dans le nombre N de groupes que vous spécifiez. Cependant, si un pool manque de capacité Spot pour répondre à la capacité souhaitée, Amazon EC2 Auto Scaling continue à satisfaire la demande en puisant dans le pool le moins cher suivant. Pour atteindre la capacité souhaitée, vous pouvez recevoir des instances Spot de plus de groupes que votre nombre N spécifié. De même, si la majorité des pools ne disposent d'aucune capacité Spot, la totalité de la capacité souhaitée sera peut-être puisée à partir d'un nombre N de groupes inférieur à celui que vous avez spécifié.

**Note**  
Si vous configurez vos instances Spot pour qu’elles soient lancées avec [AMD SEV-SNP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) activé, des frais d’utilisation horaires supplémentaires vous seront facturés, équivalant à 10 % du [taux horaire à la demande](https://aws.amazon.com/ec2/pricing/on-demand/) du type d’instance sélectionné. Si la stratégie d’allocation utilise le prix comme entrée, Amazon EC2 Auto Scaling n’inclut pas ces frais supplémentaires ; seul le prix Spot est utilisé.

## On-Demand instances
<a name="on-demand-allocation-strategy"></a>

Amazon EC2 Auto Scaling fournit les stratégies d'allocation suivantes pour les instances à la demande : 

`lowest-price`  
Amazon EC2 Auto Scaling déploie automatiquement le type d'instance le moins cher dans chaque zone de disponibilité en fonction du prix actuel des instances à la demande.  
Pour garantir que la capacité souhaitée est atteinte, vous pouvez recevoir des instances à la demande de plus d'un type d'instance dans chaque zone de disponibilité. Cela dépend de la capacité que vous demandez.

`prioritized`  
Pour satisfaire la capacité à la demande, Amazon EC2 Auto Scaling détermine quel type d'instance utiliser en premier en se fondant sur les types d’instance dans la liste des remplacements du modèle de lancement. Par exemple, vous avez spécifié trois remplacements de modèle de lancement dans l'ordre suivant : `c5.large`, `c4.large` et `c3.large`. Lors du lancement de vos instances à la demande, le groupe Auto Scaling satisfait la capacité à la demande dans l’ordre suivant : `c5.large`, puis `c4.large`, enfin `c3.large`.   
Tenez compte des éléments suivants lorsque vous gérez l'ordre de priorité de vos instances à la demande :  
+ Vous pouvez payer votre utilisation à l'avance et bénéficier de réductions importantes sur les instances à la demande en utilisant des Savings Plans ou des instances réservées. Pour plus d'informations, consultez la page [Amazon EC2 pricing](https://aws.amazon.com/ec2/pricing/) (Tarification Amazon EC2). 
+ Avec les instances réservées, la réduction par rapport à la tarification standard des instances à la demande s'applique si Amazon EC2 Auto Scaling lance les types d'instances correspondants. Cela signifie que si vous avez des instances réservées inutilisées pour `c4.large`, vous pouvez définir la priorité de vos types d'instance de manière à donner la priorité la plus élevée pour vos instances réservées à un type d'instance `c4.large`. Lorsqu'une instance `c4.large` est lancée, vous recevez la tarification des instances réservées. 
+ Avec les Savings Plans, la réduction par rapport à la tarification standard des instances à la demande s'applique lorsque vous utilisez Amazon EC2 Instance Savings Plans ou Compute Savings Plans. Avec Savings Plans, vous bénéficiez d'une plus grande flexibilité lors de la hiérarchisation de vos types d'instances. Tant que vous utilisez des types d'instances couverts par vos Savings Plans, vous pouvez les définir dans n'importe quel ordre de priorité. Vous pouvez également modifier occasionnellement l'ordre complet de vos types d'instances, tout en continuant à bénéficier du tarif réduit Savings Plans. Pour en savoir plus sur les Savings Plans, consultez le [Guide de l’utilisateur des Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/).

## Comment les stratégies d'allocation fonctionnent avec les pondérations
<a name="lowest-price-allocation-strategy"></a>

Lorsque vous spécifiez le `WeightedCapacity` paramètre dans vos overrides (`"DesiredCapacityType": "vcpu"`ou `"DesiredCapacityType": "memory-mib"` au niveau du groupe), les stratégies d'allocation fonctionnent exactement comme elles le font pour les autres groupes Auto Scaling. 

Supposons que vous disposiez d'un groupe Auto Scaling avec plusieurs types d'instances contenant des quantités variables de CPUs v. Vous `lowest-price` les utilisez pour vos stratégies d'allocation au comptant et à la demande. Si vous choisissez d'attribuer des pondérations basées sur le nombre de vCPU de chaque type d'instance, Amazon EC2 Auto Scaling lance les types d'instance ayant le prix le plus bas selon les valeurs de pondération que vous avez attribuées (par exemple, par vCPU) au moment de l'exécution. S'il s'agit d'une instance Spot, cela signifie le prix Spot le plus bas par vCPU. S'il s'agit d'une Instance à la demande, cela signifie le prix à la demande le plus bas par vCPU.

 Pour de plus amples informations, veuillez consulter [Configurer un groupe Auto Scaling pour utiliser les poids d'instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

# Création d'un groupe d'instances mixtes à l'aide de la sélection du type d'instance basée sur les attributs
<a name="create-mixed-instances-group-attribute-based-instance-type-selection"></a>

Au lieu de choisir manuellement les types d’instance pour votre groupe d’instances mixtes, vous pouvez spécifier un ensemble d’attributs d’instance qui décrivent vos besoins en calcul. Lorsque Amazon EC2 Auto Scaling lance des instances, tous les types d'instance utilisés par le groupe Auto Scaling doivent correspondre à vos attributs d'instance requis. C'est ce qu'on appelle la *sélection de type d'instance basée sur des attributs*.

Cette approche est idéale pour les charges de travail et les cadres qui peuvent être flexibles quant aux types d'instance qu'ils utilisent, comme les conteneurs, le big data et le CI/CD.

Voici les avantages de la sélection du type d'instance basée sur les attributs :
+ **Flexibilité optimale pour les instances Spot** : Amazon EC2 Auto Scaling peut choisir parmi un large éventail de types d'instances pour le lancement d'instances Spot. Cela répond à la bonne pratique Spot d'être flexible sur les types d'instance, ce qui donne au service Amazon EC2 Spot une meilleure chance de trouver et d'allouer votre quantité requise de capacité de calcul.
+ **Utiliser facilement les bons types d’instances** – Avec autant de types d’instances disponibles, la recherche des types d’instances appropriés pour votre charge de travail peut prendre beaucoup de temps. Lorsque vous spécifiez des attributs d’instance, les types d’instance auront automatiquement les attributs requis pour votre charge de travail.
+ **Utilisation automatique de nouveaux types d'instances** : vos groupes Auto Scaling peuvent utiliser des types d'instances de nouvelle génération au fur et à mesure de leur publication. Les types d'instance de nouvelle génération sont automatiquement utilisés lorsqu'ils correspondent à vos besoins et s'alignent sur les stratégies d'allocation que vous choisissez pour votre groupe Auto Scaling. 

**Topics**
+ [Fonctionnement de la sélection de type d’instance basée sur des attributs](#how-attribute-based-instance-type-selection-works)
+ [Protection des prix](#understand-price-protection)
+ [Protection des performances](#understand-performance-protection)
+ [Conditions préalables](#attribute-based-instance-type-selection-prerequisites)
+ [Création d'un groupe d'instances mixtes avec sélection du type d'instance basée sur les attributs (console)](#attribute-based-instance-type-selection-console)
+ [Création d'un groupe d'instances mixtes avec sélection du type d'instance basée sur les attributs ()AWS CLI](#attribute-based-instance-type-selection-aws-cli)
+ [Exemple de configuration](#attribute-based-instance-type-selection-example-configurations)
+ [Prévisualisez vos types d’instance](#attribute-based-instance-type-selection-preview)
+ [Ressources connexes](#attribute-based-instance-type-selection-related-resources)

## Fonctionnement de la sélection de type d’instance basée sur des attributs
<a name="how-attribute-based-instance-type-selection-works"></a>

Avec la sélection du type d'instance basée sur les attributs, au lieu de fournir une liste de types d'instances spécifiques, vous fournissez une liste des attributs d'instance dont vos instances ont besoin, tels que :
+ **Nombre de vCPU** : nombre minimum et maximum de v CPUs par instance.
+ **Mémoire : mémoire** minimale et maximale GiBs par instance.
+ **Stockage local** – S’il faut utiliser EBS ou des volumes de stockage d’instance pour le stockage local.
+ **Des performances de pointe** – S’il faut utiliser la famille d’instance T, y compris les types T4g, T3a, T3 et T2. 

De nombreuses options sont disponibles pour définir les exigences de votre instance. Pour une description de chaque option et des valeurs par défaut, consultez [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)le manuel *Amazon EC2 Auto Scaling API* Reference.

Lorsque votre groupe Auto Scaling doit lancer une instance, il recherche les types d'instances qui correspondent aux attributs que vous avez spécifiés et qui sont disponibles dans cette zone de disponibilité. La stratégie d'allocation détermine ensuite le type d'instance correspondant à lancer. Par défaut, la sélection du type d'instance basée sur les attributs comporte une fonctionnalité de protection des prix activée pour empêcher votre groupe Auto Scaling de lancer des types d'instances dépassant vos seuils budgétaires.

Par défaut, vous utilisez le nombre d'instances comme unité de mesure lorsque vous définissez la capacité souhaitée de votre groupe Auto Scaling, ce qui signifie que chaque instance compte pour une unité. 

Vous pouvez également définir la valeur de la capacité souhaitée sur le nombre de v CPUs ou sur la quantité de mémoire. Pour ce faire, utilisez le champ déroulant **Type de capacité souhaité** dans le champ AWS Management Console ou la `DesiredCapacityType` propriété dans l'opération `CreateAutoScalingGroup` ou `UpdateAutoScalingGroup` API. Amazon EC2 Auto Scaling lance ensuite le nombre d'instances nécessaires pour atteindre la capacité de vCPU ou de mémoire souhaitée. Par exemple, si vous utilisez v CPUs comme type de capacité souhaité et que vous utilisez des instances de 2 V CPUs chacune, une capacité souhaitée de 10 V CPUs lancera 5 instances. Il s’agit d’une alternative utile aux [pondérations d’instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

## Protection des prix
<a name="understand-price-protection"></a>

Grâce à la protection des prix, vous pouvez spécifier le prix maximum que vous êtes prêt à payer pour les instances EC2 lancées par votre groupe Auto Scaling. La protection des prix est une fonctionnalité qui empêche votre groupe Auto Scaling d'utiliser des types d'instances que vous jugeriez trop chers, même s'ils correspondent aux attributs que vous avez spécifiés. 

La protection des prix est activée par défaut et comporte des seuils de prix distincts pour les instances à la demande et les instances ponctuelles. Lorsqu'Amazon EC2 Auto Scaling doit lancer de nouvelles instances, aucun type d'instance dont le prix est supérieur au seuil pertinent n'est lancé.

**Topics**
+ [Protection des prix à la demande](#on-demand-price-price-protection)
+ [Protection des prix au comptant](#spot-price-price-protection)
+ [Personnalisez la protection des prix](#customize-price-price-protection)

### Protection des prix à la demande
<a name="on-demand-price-price-protection"></a>

Pour les instances à la demande, vous définissez le prix maximum à la demande que vous êtes prêt à payer sous forme de pourcentage supérieur au prix à la demande identifié. Le prix à la demande identifié est le prix du type d'instance C, M ou R de génération actuelle le moins cher avec les attributs que vous avez spécifiés. 

Si une valeur de protection des prix à la demande n'est pas explicitement définie, un prix à la demande maximum par défaut supérieur de 20 % au prix à la demande identifié sera utilisé.

### Protection des prix au comptant
<a name="spot-price-price-protection"></a>

Par défaut, Amazon EC2 Auto Scaling applique automatiquement une protection tarifaire optimale des instances Spot afin de sélectionner de manière cohérente un large éventail de types d'instances. Vous pouvez également définir vous-même la protection des prix manuellement. Toutefois, laisser Amazon EC2 Auto Scaling le faire à votre place peut améliorer les chances que votre capacité Spot soit atteinte.

Vous pouvez spécifier manuellement la protection des prix à l’aide de l’une des solutions suivantes. Si vous définissez manuellement la protection des prix, nous vous recommandons d’utiliser la première option.
+ **Pourcentage d'un *prix à la demande* identifié** : le prix à la demande identifié est le prix du type d'instance C, M ou R de génération actuelle le moins cher avec les attributs que vous avez spécifiés.
+ **Un pourcentage supérieur au *prix spot identifié : le prix*** spot identifié est le prix du type d'instance C, M ou R de génération actuelle le moins cher avec les attributs que vous avez spécifiés. Nous vous déconseillons d'utiliser cette option car les prix au comptant peuvent fluctuer et, par conséquent, votre seuil de protection contre les prix peut également fluctuer.

### Personnalisez la protection des prix
<a name="customize-price-price-protection"></a>

Vous pouvez personnaliser les seuils de protection des prix dans la console Amazon EC2 Auto Scaling ou à l'aide AWS CLI du SDKs ou. 
+ Dans la console, utilisez les paramètres de **protection des prix à la demande** et de **protection des prix au comptant** dans **Attributs d'instance supplémentaires**. 
+ Dans la [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)structure, pour spécifier le seuil de protection des prix des instances à la demande, utilisez la `OnDemandMaxPricePercentageOverLowestPrice` propriété. Pour spécifier le seuil de protection des prix de l'instance Spot, utilisez la propriété `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` ou la `SpotMaxPricePercentageOverLowestPrice` propriété. 

Si vous définissez le **type de capacité souhaité** (`DesiredCapacityType`) sur **v CPUs** ou sur **Memory GiB**, la protection tarifaire s'applique en fonction du prix par vCPU ou par mémoire plutôt que du prix par instance. 

Vous pouvez également désactiver la protection des prix. Pour indiquer qu’il n’y a aucun seuil de protection des prix, spécifiez une valeur de pourcentage élevée, telle que `999999`.

**Note**  
Si aucun type d'instance C, M ou R de génération actuelle ne correspond aux attributs que vous avez spécifiés, la protection des prix reste applicable. Si aucune correspondance n'est trouvée, le prix identifié provient des types d'instances de la génération actuelle les moins chers ou, à défaut, des types d'instances de la génération précédente les moins chers, qui correspondent à vos attributs. 

## Protection des performances
<a name="understand-performance-protection"></a>

La *protection des performances* est une fonctionnalité qui garantit que votre groupe Auto Scaling utilise des types d'instances similaires ou supérieurs à une référence de performance spécifiée. Pour utiliser la protection des performances, vous devez spécifier une famille d’instances comme référence de référence. Les capacités de la famille d’instances spécifiée établissent le niveau de performance acceptable le plus bas. Lorsque Auto Scaling sélectionne des types d'instances, il prend en compte les attributs que vous avez spécifiés et la référence de performance. Les types d’instances inférieurs à la référence de performance sont automatiquement exclus de la sélection, même s’ils correspondent aux autres attributs que vous avez spécifiés. Cela garantit que tous les types d’instances sélectionnés offrent des performances similaires ou supérieures à la base de référence établie par la famille d’instances spécifiée. Auto Scaling utilise cette ligne de base pour guider la sélection du type d'instance, mais rien ne garantit que les types d'instance sélectionnés dépasseront toujours la référence pour chaque application.

Actuellement, cette fonctionnalité prend uniquement en charge les performances du processeur en tant que facteur de performance de référence. Les performances du processeur de la famille d'instances spécifiée servent de référence en matière de performances, garantissant que les types d'instances sélectionnés sont similaires ou supérieurs à cette référence. Les familles d’instances dotées des mêmes processeurs produisent les mêmes résultats de filtrage, même si les performances de leur réseau ou de leur disque sont différentes. Par exemple, si vous spécifiez l’une `c6in` ou l’autre `c6i` comme référence de référence, vous obtiendrez des résultats de filtrage basés sur les performances identiques, car les deux familles d’instances utilisent le même processeur CPU.

**Familles d’instances non prises en charge**  
Les familles d’instances suivantes ne sont pas prises en charge pour la protection des performances :
+ `c1`
+ `g3` \$1 `g3s`
+ `hpc7g`
+ `m1` \$1 `m2`
+ `mac1` \$1 `mac2` \$1 `mac2-m1ultra` \$1 `mac2-m2` \$1 `mac2-m2pro`
+ `p3dn` \$1 `p4d` \$1 `p5`
+ `t1`
+ `u-12tb1` \$1 `u-18tb1` \$1 `u-24tb1` \$1 `u-3tb1` \$1 `u-6tb1` \$1 `u-9tb1` \$1 `u7i-12tb` \$1 `u7in-16tb` \$1 `u7in-24tb` \$1 `u7in-32tb`

Si vous activez la protection des performances en spécifiant une famille d’instances prise en charge, les types d’instances renvoyés excluront les familles d’instances non prises en charge ci-dessus.

**Exemple : définir une référence de performance du processeur**  
Dans l’exemple suivant, l’instance doit être lancée avec des types d’instance dotés de cœurs de processeur aussi performants que la famille d’instances `c6i`. Cela filtrera les types d'instances dotés de processeurs moins performants, même s'ils répondent aux autres exigences d'instance que vous avez spécifiées, telles que le nombre de CPUs v. Par exemple, si les attributs d'instance que vous avez spécifiés incluent 4 V CPUs et 16 Go de mémoire, un type d'instance possédant ces attributs mais présentant des performances du processeur inférieures à celles `c6i` qui sera exclu de la sélection.

```
"BaselinePerformanceFactors": {
        "Cpu": {
            "References": [
                {
                    "InstanceFamily": "c6i"
                }
            ]
        }
```

**Considérations**  
Lorsque vous utilisez la protection des performances, tenez compte des points suivants :
+ Vous pouvez spécifier des types d'instance ou des attributs d'instance, mais pas les deux en même temps.
+ Vous pouvez spécifier un maximum de quatre structures `InstanceRequirements` dans une configuration de demande.

## Conditions préalables
<a name="attribute-based-instance-type-selection-prerequisites"></a>
+ Créer un modèle de lancement. Pour de plus amples informations, veuillez consulter [Créer un modèle de lancement pour un groupe Auto Scaling](create-launch-template.md).
+ Vérifiez que le modèle de lancement ne demande pas déjà des instances Spot. 

## Création d'un groupe d'instances mixtes avec sélection du type d'instance basée sur les attributs (console)
<a name="attribute-based-instance-type-selection-console"></a>

Utilisez la procédure suivante pour créer un groupe d’instances mixtes à l’aide de la sélection de type d’instance basée sur des attributs. Pour vous aider à suivre les étapes de manière efficace, certaines sections facultatives sont ignorées.

Pour la plupart des charges de travail à usage général, il suffit de spécifier le nombre de v CPUs et de mémoire dont vous avez besoin. Pour les cas d'utilisation avancés, vous pouvez spécifier des attributs tels que le type de stockage, les interfaces réseau, le fabricant du CPU et le type d'accélérateur.

Pour consulter les meilleures pratiques relatives à un groupe d'instances mixtes, consultez[Vue d'ensemble de la configuration pour la création d'un groupe d'instances mixtes](mixed-instances-groups-set-up-overview.md).

**Pour créer un groupe d’instances mixtes**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Dans la barre de navigation en haut de l'écran, choisissez la même région Région AWS que celle utilisée lors de la création du modèle de lancement.

1. Choisissez **Create an Auto Scaling group** (Créer un groupe Auto Scaling). 

1. Dans la page **Choisir un modèle de lancement ou une configuration**, dans **Nom du groupe Auto Scaling**, entrez un nom pour le groupe Auto Scaling.

1. Pour choisir votre modèle de lancement, procédez comme suit :

   1. Dans **Launch template** (Modèle de lancement), choisissez un modèle de lancement existant.

   1. Pour **Version du modèle de lancement**, indiquez si le groupe Auto Scaling utilise la version par défaut, la version la plus récente ou une version spécifique du modèle de lancement lors de l'évolutivité horizontale. 

   1. Vérifiez que votre modèle de lancement prend en charge toutes les options que vous envisagez d'utiliser, puis choisissez **Next** (Suivant).

1. Sur la page **Choisir les options de lancement d’instance**, procédez comme suit :

   1. Pour **Instance type requirements** (Exigences en matière de type d'instance), sélectionnez **Override launch template** (Remplacer le modèle de lancement).
**Note**  
Si vous avez choisi un modèle de lancement qui contient déjà un ensemble d’attributs d’instance, tels que des vCPU et de la mémoire, les attributs d’instance sont affichés. Ces attributs sont ajoutés aux propriétés du groupe Auto Scaling, que vous pouvez mettre à jour à tout moment sur la console Amazon EC2 Auto Scaling.

   1. Sous **Spécifier les attributs de l'instance**, commencez par saisir votre v CPUs et vos besoins en mémoire.
      + Pour **v CPUs**, entrez le nombre minimum et maximum de v souhaitésCPUs. Pour ne définir aucune limite, sélectionnez **Aucun minimum**, **Aucun maximum**, ou les deux.
      + Pour **Memory (GiB)** (Mémoire (Gio)), saisissez la quantité minimale et maximale de mémoire souhaitée. Pour ne spécifier aucune limite, sélectionnez **No minimum** (Pas de minimum), **No maximum** (Pas de maximum), ou les deux.

   1. (Facultatif) Pour **Additional instance attributes** (Attributs d’instance supplémentaires), vous pouvez éventuellement spécifier un ou plusieurs attributs pour exprimer vos exigences de calcul plus en détail. Chaque attribut supplémentaire ajoute des contraintes supplémentaires à votre demande.

   1. Développez **Aperçu des types d'instances correspondants** pour afficher les types d'instance dotés des attributs que vous avez spécifiés.

   1. Dans **Options d’achat d’instance**, pour **Distribution des instances**, spécifiez les pourcentages du groupe à lancer en tant qu’instances à la demande et en tant qu’instances Spot. Si votre application est sans état, tolérante aux pannes et peut gérer l’interruption d’une instance, vous pouvez spécifier un pourcentage plus élevé d’Instances Spot.

   1. (Facultatif) Lorsque vous spécifiez un pourcentage pour les instances Spot, sélectionnez **Inclure la capacité de base à la demande**, puis spécifiez la quantité minimale de la capacité initiale du groupe Auto Scaling qui doit être remplie par des instances à la demande. Tout ce qui dépasse la capacité de base utilise les paramètres de **distribution des instances** pour déterminer le nombre d'instances à la demande et d'instances Spot à lancer. 

   1. Sous **Allocation strategies** (Stratégies d'allocation), le **Lowest price** (Prix le plus bas) est automatiquement sélectionné pour la **On-Demand allocation strategy** (Stratégie d'allocation à la demande) et ne peut pas être modifié.

   1. Pour **Spot allocation strategy** (Stratégie d'allocation d'instances Spot), choisissez une stratégie d'allocation. **Price capacity optimized** (Capacité de prix optimisée) est sélectionné par défaut.

   1. Dans **Rééquilibrage de la capacité**, choisissez d’activer ou de désactiver le Rééquilibrage de la capacité. Utiliser le rééquilibrage de la capacité pour répondre automatiquement quand vos instances Spot sont sur le point de se résilier à cause d’une interruption des instances Spot. Pour de plus amples informations, veuillez consulter [Rééquilibrage des capacités dans Auto Scaling pour remplacer les instances ponctuelles à risque](ec2-auto-scaling-capacity-rebalancing.md). 

   1. Sous **Network** (Réseau), pour **VPC**, choisissez un VPC. Le groupe Auto Scaling doit être créé dans le même VPC que le groupe de sécurité que vous avez spécifié dans votre modèle de lancement.

   1. Pour **Availability Zones and subnets** (Zones de disponibilité et sous-réseaux), choisissez un ou plusieurs sous-réseaux dans le VPC spécifié. Utilisez les sous-réseaux dans plusieurs zones de disponibilité pour une haute disponibilité. Pour de plus amples informations, veuillez consulter [Considérations à prendre en compte lors du choix des sous-réseaux VPC](asg-in-vpc.md#as-vpc-considerations).

   1. Appuyez sur **Suivant**, **Suivant**.

1. Pour l'étape **Configure group size and scaling policies** (Configurer la taille du groupe et les politiques de mise à l'échelle), procédez comme suit :

   1. Si vous voulez que la capacité souhaitée soit mesurée en unités autres que des instances, choisissez l’option appropriée pour **Taille du groupe** et **Type de capacité souhaité**. **Les unités**CPUs, **v** et les **GiB de mémoire** sont pris en charge. Par défaut, Amazon EC2 Auto Scaling spécifie **Units** (Unités), ce qui se traduit par le nombre d'instances.

   1. Définissez la **capacité souhaitée** en fonction de la taille initiale de votre groupe Auto Scaling. 

   1. Dans la section **Mise à l’échelle**, sous **Limites de mise à l’échelle**, si votre nouvelle valeur pour la **capacité souhaitée** est supérieure à la **capacité minimale souhaitée** et à la **capacité maximale souhaitée**, la **capacité maximale souhaitée** est automatiquement augmentée à la nouvelle valeur de capacité souhaitée. Vous pouvez modifier ces limites si nécessaire. Pour de plus amples informations, veuillez consulter [Définissez des limites de mise à l’échelle pour votre groupe Auto Scaling](asg-capacity-limits.md).

1. Choisissez **Skip to review** (Passer à la révision).

1. Sur la page **Vérifier**, sélectionnez **Créer un groupe Auto Scaling**.

## Création d'un groupe d'instances mixtes avec sélection du type d'instance basée sur les attributs ()AWS CLI
<a name="attribute-based-instance-type-selection-aws-cli"></a>

**Pour créer un groupe d’instances mixtes avec la ligne de commande**  
Utilisez l’une des commandes suivantes :
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [Nouveau- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Exemple de configuration
<a name="attribute-based-instance-type-selection-example-configurations"></a>

Pour créer un groupe Auto Scaling avec sélection du type d'instance basée sur les attributs à l'aide de AWS CLI, utilisez la commande suivante [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). 

Les attributs d'instance suivants sont spécifiés :
+ `VCpuCount`— Les types d'instance doivent avoir un minimum de quatre v CPUs et un maximum de huit CPUs v. 
+ `MemoryMiB` : les types d'instance doivent avoir un minimum de 16 384 Mio de mémoire. 
+ `CpuManufacturers` : les types d'instance doivent avoir un processeur fabriqué par Intel. 

### JSON
<a name="attribute-based-instance-type-selection-aws-cli-json"></a>

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

Voici un exemple de fichier `config.json`. 

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredCapacityType": "units",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "$Default"
            },
            "Overrides": [{
                "InstanceRequirements": {
                    "VCpuCount": {"Min": 4, "Max": 8},
                    "MemoryMiB": {"Min": 16384},
                    "CpuManufacturers": ["intel"]
                }
            }]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 50,
            "SpotAllocationStrategy": "price-capacity-optimized"
        }
    },
    "MinSize": 0,
    "MaxSize": 100,
    "DesiredCapacity": 4,
    "DesiredCapacityType": "units",
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

Pour définir la valeur de la capacité souhaitée sous la forme du nombre de v CPUs ou de la quantité de mémoire, spécifiez `"DesiredCapacityType": "vcpu"` ou `"DesiredCapacityType": "memory-mib"` dans le fichier. Le type de capacité souhaitée par défaut est `units`, qui définit la valeur de la capacité souhaitée comme le nombre d'instances.

### YAML
<a name="attribute-based-instance-type-selection-aws-cli-yaml"></a>

Vous pouvez également utiliser la [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante pour créer le groupe Auto Scaling. Cela fait référence à un fichier YAML comme seul paramètre de votre groupe Auto Scaling.

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

Voici un exemple de fichier `config.yaml`. 

```
---
AutoScalingGroupName: my-asg
DesiredCapacityType: units
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceRequirements:
         VCpuCount:
           Min: 2
           Max: 4
         MemoryMiB:
           Min: 2048
         CpuManufacturers:
         - intel
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 50
    SpotAllocationStrategy: price-capacity-optimized
MinSize: 0
MaxSize: 100
DesiredCapacity: 4
DesiredCapacityType: units
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

Pour définir la valeur de la capacité souhaitée sous la forme du nombre de v CPUs ou de la quantité de mémoire, spécifiez `DesiredCapacityType: vcpu` ou `DesiredCapacityType: memory-mib` dans le fichier. Le type de capacité souhaitée par défaut est `units`, qui définit la valeur de la capacité souhaitée comme le nombre d'instances.

Pour un exemple d'utilisation de plusieurs modèles de lancement avec une sélection de type d'instance basée sur les attributs, consultez. [Utiliser plusieurs modèles de lancement](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md)

## Prévisualisez vos types d’instance
<a name="attribute-based-instance-type-selection-preview"></a>

Vous pouvez prévisualiser les types d'instance qui correspondent à vos besoins de calcul sans les lancer et ajuster vos besoins si nécessaire. Lors de la création de votre groupe Auto Scaling dans la console Amazon EC2 Auto Scaling, une prévisualisation des types d'instance apparaît dans la section **Preview matching instance types** (Prévisualisation des types d'instance correspondants) sur la page **Choose instance launch options** (Choisir des options de lancement d'instance).

Vous pouvez également prévisualiser les types d'instances en effectuant un appel d'[GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html)API Amazon EC2 à l'aide du AWS CLI ou d'un SDK. Passez les paramètres `InstanceRequirements` dans la demande dans le format exact que vous utiliseriez pour créer ou mettre à jour un groupe Auto Scaling. Pour plus d'informations, consultez la section [Aperçu des types d'instances avec des attributs spécifiés](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) dans le guide de l'*utilisateur Amazon EC2*.

## Ressources connexes
<a name="attribute-based-instance-type-selection-related-resources"></a>

Pour en savoir plus sur la sélection du type d'instance basée sur les attributs, consultez la section Sélection du type d'[instance basée sur les attributs pour EC2 Auto Scaling et EC2 Fleet sur le blog](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/). AWS 

Vous pouvez déclarer une sélection de type d’instance basée sur les attributs lorsque vous créez un groupe Auto Scaling avec CloudFormation. Pour plus d’informations, consultez l’exemple d’extrait dans la section [Extraits de modèle de mise à l’échelle automatique](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.html#scenario-mixed-instances-group-template-examples) du *Guide de l’utilisateur CloudFormation *.

# Créer un groupe d’instances mixtes en choisissant manuellement les types d’instances
<a name="create-mixed-instances-group-manual-instance-type-selection"></a>

Cette rubrique explique comment lancer plusieurs types d’instances dans un seul groupe Auto Scaling en choisissant manuellement vos types d’instances. 

Si vous préférez utiliser des attributs d’instance comme critères de sélection des types d’instance, consultez [Création d'un groupe d'instances mixtes à l'aide de la sélection du type d'instance basée sur les attributs](create-mixed-instances-group-attribute-based-instance-type-selection.md).

**Topics**
+ [Conditions préalables](#manual-instance-type-selection-prerequisites)
+ [Créer un groupe d’instances mixtes (console)](#manual-instance-type-selection-console)
+ [Créer un groupe d’instances mixtes (AWS CLI)](#manual-instance-type-selection-aws-cli)
+ [Exemples de configuration](#manual-instance-type-selection-example-configurations)

## Conditions préalables
<a name="manual-instance-type-selection-prerequisites"></a>
+ Créer un modèle de lancement. Pour de plus amples informations, veuillez consulter [Créer un modèle de lancement pour un groupe Auto Scaling](create-launch-template.md).
+ Vérifiez que le modèle de lancement ne demande pas déjà des instances Spot. 

## Créer un groupe d’instances mixtes (console)
<a name="manual-instance-type-selection-console"></a>

Utilisez la procédure suivante pour créer un groupe d’instances mixtes en choisissant manuellement les types d’instance que votre groupe peut lancer. Pour vous aider à suivre les étapes de manière efficace, certaines sections facultatives sont ignorées.

Pour passer en revue les meilleures pratiques relatives à un groupe d'instances mixtes, consultez[Vue d'ensemble de la configuration pour la création d'un groupe d'instances mixtes](mixed-instances-groups-set-up-overview.md).

**Pour créer un groupe d’instances mixtes**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Dans la barre de navigation en haut de l'écran, choisissez la même région Région AWS que celle utilisée lors de la création du modèle de lancement.

1. Choisissez **Create an Auto Scaling group** (Créer un groupe Auto Scaling). 

1. Dans la page **Choisir un modèle de lancement ou une configuration**, dans **Nom du groupe Auto Scaling**, entrez un nom pour le groupe Auto Scaling.

1. Pour choisir votre modèle de lancement, procédez comme suit :

   1. Dans **Launch template** (Modèle de lancement), choisissez un modèle de lancement existant.

   1. Pour **Version du modèle de lancement**, indiquez si le groupe Auto Scaling utilise la version par défaut, la version la plus récente ou une version spécifique du modèle de lancement lors de l'évolutivité horizontale. 

   1. Vérifiez que votre modèle de lancement prend en charge toutes les options que vous envisagez d'utiliser, puis choisissez **Next** (Suivant).

1. Sur la page **Choisir les options de lancement d’instance**, procédez comme suit :

   1. Pour les **Exigences relatives au type d'instance**, choisissez **Override launch template** (Remplacer le modèle de lancement), puis **Manually add instance types** (Ajouter manuellement les types d'instance). 

   1. Choisissez vos types d'instance. Vous pouvez utiliser nos recommandations comme point de départ. **Family and generation flexible** (Famille et génération flexibles) est sélectionnée par défaut.
      + (Facultatif) Pour modifier l'ordre des types d'instances, utilisez les flèches. Si vous choisissez une stratégie d'allocation qui prend en charge la priorisation, l'ordre des types d'instance définit leur priorité de lancement.
      + Pour supprimer un type d'instance, choisissez **X**.
      + (Facultatif) Pour les cases de la colonne **Poids**, attribuez une pondération relative à chaque type d’instance. Pour ce faire, entrez le nombre d'unités qu'une instance de ce type compte par rapport à la capacité souhaitée du groupe. Cela peut s'avérer notamment utile si les types d'instance offrent des capacités différentes de vCPU, de mémoire, de stockage ou de bande passante du réseau. Pour de plus amples informations, veuillez consulter [Configurer un groupe Auto Scaling pour utiliser les poids d'instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md). 

        Notez que si vous choisissez d’utiliser les recommandations de **Taille flexible**, tous les types d’instance qui font partie de cette section ont automatiquement une valeur de pondération. Si vous ne souhaitez pas spécifier de pondération, décochez les cases de la colonne **Weight** (Poids) pour tous les types d'instances.

   1. Dans **Instance purchase options** (Options d'achat d'instance), pour **Instance distribution** (Distribution des instances), spécifiez les pourcentages du groupe à lancer en tant qu'instances à la demande et en tant qu'instances Spot, respectivement. Si votre application est sans état, tolérante aux pannes et peut gérer l’interruption d’une instance, vous pouvez spécifier un pourcentage plus élevé d’Instances Spot.

   1. (Facultatif) Lorsque vous spécifiez un pourcentage pour les instances Spot, sélectionnez **Inclure la capacité de base à la demande**, puis spécifiez la quantité minimale de la capacité initiale du groupe Auto Scaling qui doit être remplie par des instances à la demande. Tout ce qui dépasse la capacité de base utilise les paramètres de **distribution des instances** pour déterminer le nombre d'instances à la demande et d'instances Spot à lancer. 

   1. Sous **Allocation strategies** (Stratégies d'allocation), pour **On-Demand allocation strategy** (Stratégie d'allocation à la demande), choisissez une stratégie d'allocation. Lorsque vous choisissez manuellement vos types d'instances, **Prioritized** (Priorisé) est sélectionné par défaut.

   1. Pour **Spot allocation strategy** (Stratégie d'allocation d'instances Spot), choisissez une stratégie d'allocation. **Price capacity optimized** (Capacité de prix optimisée) est sélectionné par défaut.

      Si vous choisissez **Capacité optimisée**, vous pouvez éventuellement cocher la case **Prioriser les types d’instances** pour permettre à Amazon EC2 Auto Scaling de choisir le type d’instance à lancer en premier en fonction de l’ordre dans lequel vos types d’instances sont répertoriés. 

   1. Dans **Rééquilibrage de la capacité**, choisissez d’activer ou de désactiver le Rééquilibrage de la capacité. Utiliser le rééquilibrage de la capacité pour répondre automatiquement quand vos instances Spot sont sur le point de se résilier à cause d’une interruption des instances Spot. Pour de plus amples informations, veuillez consulter [Rééquilibrage des capacités dans Auto Scaling pour remplacer les instances ponctuelles à risque](ec2-auto-scaling-capacity-rebalancing.md). 

   1. Sous **Network** (Réseau), pour **VPC**, choisissez un VPC. Le groupe Auto Scaling doit être créé dans le même VPC que le groupe de sécurité que vous avez spécifié dans votre modèle de lancement.

   1. Pour **Availability Zones and subnets** (Zones de disponibilité et sous-réseaux), choisissez un ou plusieurs sous-réseaux dans le VPC spécifié. Utilisez les sous-réseaux dans plusieurs zones de disponibilité pour une haute disponibilité. Pour de plus amples informations, veuillez consulter [Considérations à prendre en compte lors du choix des sous-réseaux VPC](asg-in-vpc.md#as-vpc-considerations).

   1. Appuyez sur **Suivant**, **Suivant**.

1. Pour l'étape **Configure group size and scaling policies** (Configurer la taille du groupe et les politiques de mise à l'échelle), procédez comme suit :

   1. Dans **Taille du groupe**, pour la **Capacité souhaitée**, entrez le nombre initial d’instances à lancer. 

      Par défaut, la capacité souhaitée est exprimée en nombre d’instances. Si vous avez attribué des poids à vos types d'instances, vous devez convertir cette valeur dans la même unité de mesure que celle que vous avez utilisée pour attribuer des poids, telle que le nombre de CPUs v. 

   1. Dans la section **Mise à l’échelle**, sous **Limites de mise à l’échelle**, si votre nouvelle valeur pour la **capacité souhaitée** est supérieure à la **capacité minimale souhaitée** et à la **capacité maximale souhaitée**, la **capacité maximale souhaitée** est automatiquement augmentée à la nouvelle valeur de capacité souhaitée. Vous pouvez modifier ces limites si nécessaire. Pour de plus amples informations, veuillez consulter [Définissez des limites de mise à l’échelle pour votre groupe Auto Scaling](asg-capacity-limits.md).

1. Choisissez **Skip to review** (Passer à la révision).

1. Sur la page **Vérifier**, sélectionnez **Créer un groupe Auto Scaling**.

## Créer un groupe d’instances mixtes (AWS CLI)
<a name="manual-instance-type-selection-aws-cli"></a>

**Pour créer un groupe d’instances mixtes avec la ligne de commande**  
Utilisez l’une des commandes suivantes :
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [Nouveau- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Exemples de configuration
<a name="manual-instance-type-selection-example-configurations"></a>

Les exemples de configuration suivants montrent comment créer des instances mixtes à l’aide des différentes stratégies d’allocation Spot.

**Note**  
Ces exemples montrent comment utiliser un fichier de configuration au format JSON ou YAML. Si vous utilisez AWS CLI la version 1, vous devez spécifier un fichier de configuration au format JSON. Si vous utilisez AWS CLI la version 2, vous pouvez spécifier un fichier de configuration au format YAML ou JSON.

**Topics**
+ [Exemple 1 : lancer des instances Spot à l'aide de la stratégie d'allocation `capacity-optimized`](#capacity-optimized-aws-cli)
+ [Exemple 2 : lancer des instances Spot à l'aide de la stratégie d'allocation `capacity-optimized-prioritized`](#capacity-optimized-prioritized-aws-cli)
+ [Exemple 3 : lancer des instances Spot à l'aide de la stratégie d'allocation `lowest-price` diversifiée sur deux pools](#lowest-price-aws-cli)
+ [Exemple 4 : Lancer instances Spot à l’aide de la stratégie d’allocation `price-capacity-optimized`](#price-capacity-optimized-aws-cli)

### Exemple 1 : lancer des instances Spot à l'aide de la stratégie d'allocation `capacity-optimized`
<a name="capacity-optimized-aws-cli"></a>

La [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante crée un groupe Auto Scaling qui spécifie les éléments suivants :
+ Pourcentage du groupe à lancer en tant qu'instances à la demande (`0`) et nombre de base d'instances à la demande (`1`)
+ Types d'instance à lancer par ordre de priorité (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`)
+ Les sous-réseaux dans lesquels lancer les instances (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Chacun d'eux correspond à une zone de disponibilité différente.
+ Modèle de lancement (`my-launch-template`) et version du modèle de lancement (`$Default`)

Lorsqu'Amazon EC2 Auto Scaling tente de satisfaire votre capacité à la demande, il lance d'abord le type d'instance `c5.large`. Les instances Spot proviennent du pool d'instances Spot optimal de chaque zone de disponibilité en fonction de la capacité d'instances Spot.

#### JSON
<a name="capacity-optimized-aws-cli-json"></a>

```
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",
                "Version": "$Default"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandBaseCapacity": 1,
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="capacity-optimized-aws-cli-yaml"></a>

Vous pouvez également utiliser la [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante pour créer le groupe Auto Scaling. Cela fait référence à un fichier YAML comme seul paramètre de votre groupe Auto Scaling.

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

Le fichier `config.yaml` contient le contenu suivant.

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandBaseCapacity: 1
    OnDemandPercentageAboveBaseCapacity: 0
    SpotAllocationStrategy: capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Exemple 2 : lancer des instances Spot à l'aide de la stratégie d'allocation `capacity-optimized-prioritized`
<a name="capacity-optimized-prioritized-aws-cli"></a>

La [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante crée un groupe Auto Scaling qui spécifie les éléments suivants :
+ Pourcentage du groupe à lancer en tant qu'instances à la demande (`0`) et nombre de base d'instances à la demande (`1`)
+ Types d'instance à lancer par ordre de priorité (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`)
+ Les sous-réseaux dans lesquels lancer les instances (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Chacun d'eux correspond à une zone de disponibilité différente.
+ Modèle de lancement (`my-launch-template`) et version du modèle de lancement (`$Latest`)

Lorsqu'Amazon EC2 Auto Scaling tente de satisfaire votre capacité à la demande, il lance d'abord le type d'instance `c5.large`. Lorsqu'Amazon EC2 Auto Scaling tente de satisfaire votre capacité Spot, il implémente au mieux les priorités relatives aux types d'instances sur la base du meilleur effort. Cependant, il optimise d'abord la capacité.

#### JSON
<a name="capacity-optimized-prioritized-aws-cli-json"></a>

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandBaseCapacity": 1,
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized-prioritized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="capacity-optimized-prioritized-aws-cli-yaml"></a>

Vous pouvez également utiliser la [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante pour créer le groupe Auto Scaling. Cela fait référence à un fichier YAML comme seul paramètre de votre groupe Auto Scaling. 

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

Le fichier `config.yaml` contient le contenu suivant. 

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandBaseCapacity: 1
    OnDemandPercentageAboveBaseCapacity: 0
    SpotAllocationStrategy: capacity-optimized-prioritized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Exemple 3 : lancer des instances Spot à l'aide de la stratégie d'allocation `lowest-price` diversifiée sur deux pools
<a name="lowest-price-aws-cli"></a>

La [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante crée un groupe Auto Scaling qui spécifie les éléments suivants :
+ Pourcentage du groupe à lancer en tant qu'instances à la demande (`50`). (Cela ne spécifie pas de nombre de base d'instances à la demande pour commencer.)
+ Types d'instance à lancer par ordre de priorité (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`) 
+ Les sous-réseaux dans lesquels lancer les instances (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Chacun d'eux correspond à une zone de disponibilité différente.
+ Modèle de lancement (`my-launch-template`) et version du modèle de lancement (`$Latest`)

Lorsqu'Amazon EC2 Auto Scaling tente de satisfaire votre capacité à la demande, il lance d'abord le type d'instance `c5.large`. Pour votre capacité Spot, Amazon EC2 Auto Scaling tente de lancer les instances Spot uniformément sur les deux pools les moins chers de chaque zone de disponibilité. 

#### JSON
<a name="lowest-price-aws-cli-json"></a>

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 50,
            "SpotAllocationStrategy": "lowest-price",
            "SpotInstancePools": 2
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="lowest-price-aws-cli-yaml"></a>

Vous pouvez également utiliser la [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante pour créer le groupe Auto Scaling. Cela fait référence à un fichier YAML comme seul paramètre de votre groupe Auto Scaling. 

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

Le fichier `config.yaml` contient le contenu suivant. 

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 50
    SpotAllocationStrategy: lowest-price
    SpotInstancePools: 2
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Exemple 4 : Lancer instances Spot à l’aide de la stratégie d’allocation `price-capacity-optimized`
<a name="price-capacity-optimized-aws-cli"></a>

La [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante crée un groupe Auto Scaling qui spécifie les éléments suivants :
+ Pourcentage du groupe à lancer en tant qu'instances à la demande (`30`). (Cela ne spécifie pas de nombre de base d'instances à la demande pour commencer.)
+ Types d'instance à lancer par ordre de priorité (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`) 
+ Les sous-réseaux dans lesquels lancer les instances (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) Chacun d'eux correspond à une zone de disponibilité différente.
+ Modèle de lancement (`my-launch-template`) et version du modèle de lancement (`$Latest`)

Lorsqu'Amazon EC2 Auto Scaling tente de satisfaire votre capacité à la demande, il lance d'abord le type d'instance `c5.large`. Pour votre capacité Spot, Amazon EC2 Auto Scaling tente de lancer les instances Spot à partir des groupes d’instances Spot au prix le plus bas possible, mais également avec une capacité optimale pour le nombre d’instances que vous lancez.

#### JSON
<a name="price-capacity-optimized-aws-cli-json"></a>

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 30,
            "SpotAllocationStrategy": "price-capacity-optimized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="price-capacity-optimized-aws-cli-yaml"></a>

Vous pouvez également utiliser la [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)commande suivante pour créer le groupe Auto Scaling. Cela fait référence à un fichier YAML comme seul paramètre de votre groupe Auto Scaling. 

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

Le fichier `config.yaml` contient le contenu suivant. 

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceType: c5.large
    - InstanceType: c5a.large
    - InstanceType: m5.large
    - InstanceType: m5a.large
    - InstanceType: c4.large
    - InstanceType: m4.large
    - InstanceType: c3.large
    - InstanceType: m3.large
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 30
    SpotAllocationStrategy: price-capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

# Configurer un groupe Auto Scaling pour utiliser les poids d'instance
<a name="ec2-auto-scaling-mixed-instances-groups-instance-weighting"></a>

Lorsque vous utilisez plusieurs types d'instances, vous pouvez spécifier le nombre d'unités à associer à chaque type d'instance, puis spécifier la capacité de votre groupe avec la même unité de mesure. Cette option de spécification de capacité est connue sous le nom de poids.

Supposons, par exemple, que vous exécutiez une application gourmande en ressources informatiques qui fonctionne le mieux avec au moins 8 V CPUs et 15 GiB de RAM. Si vous utilisez `c5.2xlarge` comme unité de base, l'un des types d'instance EC2 suivants répondrait aux besoins de votre application. 


**Exemple de types d'instances**  

| Type d’instance | vCPU | Mémoire (Gio) | 
| --- | --- | --- | 
| c5.2xlarge  |  8  | 16 | 
| c5.4xlarge | 16 | 32 | 
| c5.12xlarge | 48 | 96 | 
| c5.18xlarge  | 72 | 144 | 
| c5.24xlarge | 96 | 192 | 

Par défaut, tous les types d’instances ont le même poids, quelle que soit leur taille. En d’autres termes, quelle que soit la taille du type d’instance lancé par Amazon EC2 Auto Scaling, chaque instance est comptabilisée de la même façon dans la capacité souhaitée du groupe Auto Scaling.

Cependant, avec les pondérations, vous attribuez une valeur numérique qui indique le nombre d'unités à associer à chaque type d'instance. Par exemple, si les instances sont de tailles différentes, une instance `c5.2xlarge` peut avoir un poids de 2, et une `c5.4xlarge` (qui est deux fois plus grande) peut avoir un poids de 4, et ainsi de suite. Ensuite, lorsqu’Amazon EC2 Auto Scaling redimensionne le groupe, ces pondérations se traduisent par le nombre d’unités que chaque instance compte pour votre capacité souhaitée. 

Les pondérations ne changent pas les types d’instance qu’Amazon EC2 Auto Scaling choisit de lancer ; ce choix revient aux stratégies d’allocation. Pour de plus amples informations, veuillez consulter [Stratégies d’allocation pour plusieurs types d’instances](allocation-strategies.md).

**Important**  
Pour configurer un groupe Auto Scaling afin qu'il atteigne la capacité souhaitée en utilisant le nombre de v CPUs ou la quantité de mémoire de chaque type d'instance, nous vous recommandons d'utiliser la sélection du type d'instance basée sur les attributs. La définition du `DesiredCapacityType` paramètre indique automatiquement le nombre d'unités à associer à chaque type d'instance en fonction de la valeur que vous avez définie pour ce paramètre. Pour de plus amples informations, veuillez consulter [Création d'un groupe d'instances mixtes à l'aide de la sélection du type d'instance basée sur les attributs](create-mixed-instances-group-attribute-based-instance-type-selection.md).

**Topics**
+ [Considérations](#weights-considerations)
+ [Comportements de poids des instances](#instance-weighting-behaviors)
+ [Configurer un groupe Auto Scaling pour utiliser des pondérations](configue-auto-scaling-group-to-use-weights.md)
+ [Exemple de prix Spot par heure d’unité](weights-spot-price-per-unit-hour-example.md)

## Considérations
<a name="weights-considerations"></a>

Cette section aborde les principales considérations relatives à la mise en œuvre efficace des pondérations.
+ Choisissez quelques types d'instances qui répondent aux besoins de performance de votre application. Déterminez le poids que chaque type d'instance doit prendre en compte dans la capacité souhaitée de votre groupe Auto Scaling en fonction de ses capacités. Ces pondérations s'appliquent aux instances actuelles et futures.
+ Évitez les grandes plages de poids. Par exemple, ne spécifiez pas un poids de 1 pour un type d'instance lorsque le type d'instance le plus important suivant a un poids de 200. La différence entre les pondérations des plus petites et des plus grandes ne doit pas non plus être extrême. Les différences de poids extrêmes peuvent avoir un impact négatif sur l'optimisation des coûts et des performances.
+ Spécifiez la capacité souhaitée du groupe en unités et non en instances. Par exemple, si vous utilisez des pondérations basées sur le processeur virtuel, définissez le nombre de cœurs souhaité ainsi que le minimum et le maximum.
+ Définissez vos pondérations et la capacité souhaitée de sorte que cette dernière soit au moins deux à trois fois supérieure à votre pondération la plus importante.

Lorsque vous mettez à jour des groupes existants, tenez compte des points suivants :
+ Lorsque vous ajoutez des pondérations à un groupe existant, incluez des pondérations pour tous les types d'instances actuellement utilisés.
+ Lorsque vous ajoutez ou modifiez des poids, Amazon EC2 Auto Scaling lance ou arrête des instances pour atteindre la capacité souhaitée en fonction des nouvelles valeurs de pondération.
+ Si vous supprimez un type d'instance, les instances de ce type en cours d'exécution conservent leur dernier poids, même si elles ne sont plus définies.

## Comportements de poids des instances
<a name="instance-weighting-behaviors"></a>

Lorsque vous utilisez des pondérations d’instance, Amazon EC2 Auto Scaling se comporte de la manière suivante :
+ La capacité actuelle sera soit à la capacité désirée, soit au-dessus. La capacité actuelle peut dépasser la capacité souhaitée si les instances lancées dépassent les unités de capacité souhaitées restantes. Supposons que vous spécifiez deux types d'instance `c5.2xlarge` et `c5.12xlarge`, et que vous affectez des pondérations d'instance de 2 pour `c5.2xlarge` et de 12 pour `c5.12xlarge`. S’il reste cinq unités pour satisfaire la capacité souhaitée, et qu’Amazon EC2 Auto Scaling approvisionne une instance `c5.12xlarge`, la capacité souhaitée est dépassée de sept unités. 
+ Lors du lancement d'instances, Amazon EC2 Auto Scaling donne la priorité à la distribution de la capacité entre les zones de disponibilité et au respect des stratégies d'allocation plutôt qu'au dépassement de la capacité souhaitée.
+ Amazon EC2 Auto Scaling peut dépasser la limite de capacité maximale afin de maintenir l'équilibre entre les zones de disponibilité, en utilisant vos stratégies d'allocation préférées. La limite stricte imposée par Amazon EC2 Auto Scaling est la capacité souhaitée plus votre poids le plus élevé.

# Configurer un groupe Auto Scaling pour utiliser des pondérations
<a name="configue-auto-scaling-group-to-use-weights"></a>

Vous pouvez configurer un groupe Auto Scaling afin d’utiliser des pondérations, comme indiqué dans les exemples AWS CLI suivants. Pour des instructions sur l'utilisation de la console, consultez [Créer un groupe d’instances mixtes en choisissant manuellement les types d’instances](create-mixed-instances-group-manual-instance-type-selection.md).

**Pour configurer un nouveau groupe Auto Scaling afin d’utiliser des pondérations (AWS CLI)**  
Utilisez la commande [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). Par exemple, la commande suivante crée un nouveau groupe Auto Scaling et attribue des pondérations en spécifiant ce qui suit :
+ Pourcentage du groupe à lancer en tant qu'instances à la demande (`0`) 
+ Stratégie d'allocation des instances Spot dans chaque zone de disponibilité (`capacity-optimized`)
+ Types d'instance à lancer par ordre de priorité (`m4.16xlarge`, `m5.24xlarge`)
+ Les poids d'instance qui correspondent à la différence de taille relative (vCPUs) entre les types d'instance (`16`,`24`)
+ Sous-réseaux dans lesquels lancer les instances (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`) chacun correspondant à une zone de disponibilité différente
+ Modèle de lancement (`my-launch-template`) et version du modèle de lancement (`$Latest`)

```
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",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "m4.16xlarge",
                    "WeightedCapacity": "16"
                },
                {
                    "InstanceType": "m5.24xlarge",
                    "WeightedCapacity": "24"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized"
        }
    },
    "MinSize": 160,
    "MaxSize": 720,
    "DesiredCapacity": 480,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
    "Tags": []
}
```

**Pour configurer un groupe Auto Scaling existant afin d’utiliser des pondérations (AWS CLI)**  
Utilisez la commande [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html). Par exemple, la commande suivante attribue des pondérations aux types d’instances d’un groupe Auto Scaling existant en spécifiant ce qui suit :
+ Types d'instance à lancer par ordre de priorité (`c5.18xlarge`, `c5.24xlarge`, `c5.2xlarge`, `c5.4xlarge`)
+ Les poids d'instance qui correspondent à la différence de taille relative (vCPUs) entre les types d'instances (`18`,`24`,`2`,`4`)
+ Le nouveau, augmentation de la capacité désirée, qui est plus important que le pondération la plus importante

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

Le fichier `config.json` contient le contenu suivant.

```
{
    "AutoScalingGroupName": "my-existing-asg",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "Overrides": [
                {
                    "InstanceType": "c5.18xlarge",
                    "WeightedCapacity": "18"
                },
                {
                    "InstanceType": "c5.24xlarge",
                    "WeightedCapacity": "24"
                },
                {
                    "InstanceType": "c5.2xlarge",
                    "WeightedCapacity": "2"
                },
                {
                    "InstanceType": "c5.4xlarge",
                    "WeightedCapacity": "4"
                }
            ]
        }
    },
    "MinSize": 0,
    "MaxSize": 100,
    "DesiredCapacity": 100
}
```

**Pour vérifier les pondérations à l’aide de la ligne de commande**  
Utilisez l’une des commandes suivantes :
+ [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) (AWS CLI)
+ [Obtenez- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

# Exemple de prix Spot par heure d’unité
<a name="weights-spot-price-per-unit-hour-example"></a>

Le tableau suivant compare le prix horaire des instances Spot dans différentes zones de disponibilité de la région USA Est (Virginie du Nord) avec le prix des instances à la demande dans la même région. Les prix affichés sont des exemples de prix et non des prix en réels. Ce sont vos coûts *par heure d'instance*. 


**Exemple : prix Spot par heure d'instance**  

| Type d’instance | us-east-1a | us-east-1b | us-east-1c | Tarification à la demande | 
| --- | --- | --- | --- | --- | 
| c5.2xlarge  | \$10.180 | \$10.191 | \$10.170 | \$10.34  | 
| c5.4xlarge | \$10.341 | \$10.361 | \$10.318 | \$10.68 | 
| c5.12xlarge  | \$10.779 | \$10.777  | \$10.777  | \$12.04 | 
| c5.18xlarge  | \$11.207 | \$11.475 | \$11.357 | \$13.06 | 
| c5.24xlarge | \$11.555 | \$11.555 | \$11.555 | \$14.08 | 

Avec les pondérations d’instance, vous pouvez évaluer vos coûts en fonction de ce que vous utilisez *par heure d’unité*. Vous pouvez déterminer le prix par heure d'unité en divisant le prix pour un type d'instance par le nombre d'unités qu'il représente. Pour les instances à la demande, le prix par heure d'unité est le même lors du déploiement d'un type d'instance que lors du déploiement d'une taille différente du même type d'instance. Par contre, le prix Spot par heure d'unité varie en fonction du groupe d'instances Spot. 

L’exemple suivant montre comment le calcul du prix Spot par unité d’heure fonctionne avec les pondérations d’instance. Pour faciliter le calcul, supposons que vous souhaitez lancer des instances Spot uniquement dans la région `us-east-1a`. Le prix par heure unitaire est indiqué dans le tableau suivant.


**Exemple : prix au comptant par unité d'heure**  

| Type d’instance | us-east-1a | Pondération de l’instance | Prix par heure d’unité  | 
| --- | --- | --- | --- | 
| c5.2xlarge  | \$10.180 | 2 | \$10.090 | 
| c5.4xlarge | \$10.341 | 4 | \$10.085 | 
| c5.12xlarge  | \$10.779 | 12 | \$10.065 | 
| c5.18xlarge  | \$11.207 | 18 | \$10.067 | 
| c5.24xlarge | \$11.555 | 24 | \$10.065 | 

# Utiliser plusieurs modèles de lancement
<a name="ec2-auto-scaling-mixed-instances-groups-launch-template-overrides"></a>

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 instances AMIs for C5 et C5a fonctionnent toutes les deux sur chacune de ces instances, 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. 

**Topics**
+ [Configurer un groupe Auto Scaling afin d’utiliser plusieurs modèles de lancement](#configue-auto-scaling-group-to-use-multiple-launch-templates)
+ [Ressources connexes](#multiple-launch-templates-related-resources)

## Configurer un groupe Auto Scaling afin d’utiliser plusieurs modèles de lancement
<a name="configue-auto-scaling-group-to-use-multiple-launch-templates"></a>

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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html). 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 configurer un nouveau groupe Auto Scaling afin d'utiliser plusieurs modèles de lancement avec sélection du type d'instance basée sur les attributs ()AWS CLI**  
Utilisez la commande [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). Par exemple, la commande suivante crée un nouveau groupe Auto Scaling en spécifiant un modèle de lancement pour les instances AWS Graviton avec une AMI ARM et un modèle de lancement supplémentaire pour les instances basées sur AMD ou Intel avec une AMI x86. Il utilise ensuite deux fois la [sélection d'instance basée sur les attributs](create-mixed-instances-group-attribute-based-instance-type-selection.md) pour sélectionner un large éventail de types d'instances pour chaque architecture de processeur. Vous pouvez ajouter une configuration similaire à un groupe Auto Scaling existant à l'aide de la [update-autoscaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html)commande.

```
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-arm",
        "Version":"$Latest"
      },
      "Overrides":[
        {
          "InstanceRequirements": {
            "VCpuCount": {"Min": 2},
            "MemoryMiB": {"Min": 2048},
            "CpuManufacturers": ["amazon-web-services"]
          }
         },
         {
           "InstanceRequirements": {
            "VCpuCount": {"Min": 2},
            "MemoryMiB": {"Min": 2048},
            "CpuManufacturers": ["intel", "amd"]
          },
          "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template-for-x86",
            "Version": "$Latest"
          }
         }
      ]
    },
    "InstancesDistribution":{
      "OnDemandPercentageAboveBaseCapacity": 0, 
      "SpotAllocationStrategy": "price-capacity-optimized"
    }
  },
  "MinSize":1,
  "MaxSize":10,
  "DesiredCapacity":6,
  "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
  "Tags":[ ]
}
```

**Pour vérifier les modèles de lancement d'un groupe Auto Scaling**  
Utilisez l’une des commandes suivantes :
+ [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) (AWS CLI)
+ [Obtenez- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Ressources connexes
<a name="multiple-launch-templates-related-resources"></a>

[Vous pouvez trouver 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 CloudFormation modèle sur AWS re:Post.](https://repost.aws/articles/ARQeKDQX68TcqipYaaisl6bA/cloudformation-auto-scaling-group-sample-template-for-mixed-x86-intel-amd-and-aws-graviton-instances)