

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.

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