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.
Création d'un groupe d'instances mixtes à l'aide de la sélection du type d'instance basée sur les attributs
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. Lorsqu'Amazon EC2 Auto Scaling lance des instances, tous les types d'instances 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 aux bonnes pratiques de Spot qui consistent à faire preuve de flexibilité en ce qui concerne les types d'instances, ce qui donne au service Amazon EC2 Spot de meilleures chances de trouver et d'allouer la capacité de calcul requise.
-
Utilisez facilement les bons types d'instances : compte tenu du grand nombre de types d'instances disponibles, la recherche des types d'instances adaptés à 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.
Rubriques
- Fonctionnement de la sélection de type d’instance basée sur des attributs
- Protection des prix
- Protection des performances
- Prérequis
- Création d'un groupe d'instances mixtes avec sélection du type d'instance basée sur les attributs (console)
- Création d'un groupe d'instances mixtes avec sélection du type d'instance basée sur les attributs ()AWS CLI
- Exemple de configuration
- Prévisualisez vos types d’instance
- Ressources connexes
Fonctionnement de la sélection de type d’instance basée sur des attributs
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 :
-
v CPU count — Le nombre minimum et maximum de vCPUs par instance.
-
Mémoire : mémoire minimale et maximale GiBs par instance.
-
Stockage local : s'il faut utiliser EBS ou instancier des volumes de stockage pour le stockage local.
-
Performances éclatantes : s'il faut utiliser la famille d'instances 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 InstanceRequirementsl'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 en fonction du nombre vCPUs ou de 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'UpdateAutoScalingGroup
APIopération CreateAutoScalingGroup
or. Amazon EC2 Auto Scaling lance ensuite le nombre d'instances nécessaires pour atteindre le v CPU ou la capacité de mémoire souhaités. Par exemple, si vous utilisez le type de capacité souhaité et vCPUs que vous utilisez des instances de 2 vCPUs chacune, une capacité souhaitée de 10 vCPUs lancera 5 instances. Il s’agit d’une alternative utile aux pondérations d’instance.
Protection des prix
Grâce à la protection des prix, vous pouvez spécifier le prix maximum que vous êtes prêt à payer pour les EC2 instances 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 correspondant n'est lancé.
Rubriques
Protection des prix à la demande
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
Par défaut, Amazon EC2 Auto Scaling applique automatiquement une protection optimale du prix 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 définir manuellement la protection des prix à l'aide de l'une des options 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
Vous pouvez personnaliser les seuils de protection des prix dans la console Amazon EC2 Auto Scaling ou à l'aide du AWS CLI ouSDKs.
-
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 InstanceRequirementsstructure, 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 laSpotMaxPricePercentageOverLowestPrice
propriété.
Si vous définissez le type de capacité souhaité (DesiredCapacityType
) sur vCPUsou Gio de mémoire, la protection tarifaire s'applique sur la base du prix par v CPU ou par mémoire plutôt que sur le prix par instance.
Vous pouvez également désactiver la protection des prix. Pour n'indiquer aucun seuil de protection des prix, spécifiez une valeur en pourcentage élevée, telle que999999
.
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
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 à celles de référence établies 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 CPU performances en tant que facteur de performance de référence. Les CPU performances 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 CPU 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 CPU processeur.
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
|g3s
-
hpc7g
-
m1
|m2
-
mac1
|mac2
|mac2-m1ultra
|mac2-m2
|mac2-m2pro
-
p3dn
|p4d
|p5
-
t1
-
u-12tb1
|u-18tb1
|u-24tb1
|u-3tb1
|u-6tb1
|u-9tb1
|u7i-12tb
|u7in-16tb
|u7in-24tb
|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 CPU performance
Dans l'exemple suivant, l'instance doit être lancée avec des types d'instance dont les CPU cœurs sont aussi performants que la famille d'c6i
instances. Cela filtrera les types d'instances dotés de CPU processeurs moins performants, même s'ils répondent aux autres exigences d'instance que vous avez spécifiées, telles que le nombre devCPUs. Par exemple, si les attributs d'instance que vous avez spécifiés incluent 4 vCPUs et 16 Go de mémoire, un type d'instance possédant ces attributs mais présentant des CPU performances inférieures à celles-ci c6i
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.
Prérequis
-
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.
-
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)
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 vCPUs et la 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 CPU fabricant et le type d'accélérateur.
Pour consulter les meilleures pratiques relatives à un groupe d'instances mixtes, consultezVue d'ensemble de la configuration pour créer un groupe d'instances mixtes.
Pour créer un groupe d’instances mixtes
Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/
et choisissez Auto Scaling Groups dans le volet de navigation. -
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.
-
Choisissez Create an Auto Scaling group (Créer un groupe Auto Scaling).
-
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.
-
Pour choisir votre modèle de lancement, procédez comme suit :
-
Dans Launch template (Modèle de lancement), choisissez un modèle de lancement existant.
-
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.
-
Vérifiez que votre modèle de lancement prend en charge toutes les options que vous envisagez d'utiliser, puis choisissez Next (Suivant).
-
-
Sur la page Choisir les options de lancement d’instance, procédez comme suit :
-
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 vCPUs la mémoire, les attributs d'instance sont affichés. Ces attributs sont ajoutés aux propriétés du groupe Auto Scaling, où vous pouvez les mettre à jour à tout moment depuis la console Amazon EC2 Auto Scaling.
-
Sous Spécifier les attributs de l'instance, commencez par saisir vos besoins vCPUs et ceux de la mémoire nécessaires.
-
Pour vCPUs, entrez le nombre minimum et maximum souhaités devCPUs. Pour ne spécifier aucune limite, sélectionnez No minimum (Pas de minimum), No maximum (Pas de 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.
-
-
(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.
-
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.
-
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.
-
(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.
-
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é.
-
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. Lowest price (Tarif le plus bas) est masqué par défaut et n'apparaît que lorsque vous choisissez Show all strategies (Afficher toutes les stratégies). Si vous choisissez Tarif le plus bas, saisissez le nombre de groupes de prix les plus bas pour diversifier les offres pour les Groupes de prix les plus bas.
-
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 Utiliser le rééquilibrage de la capacité pour gérer les interruptions Spot Amazon EC2.
-
Sous Réseau, pour VPC, choisissez unVPC. Le groupe Auto Scaling doit être créé de la même manière VPC que le groupe de sécurité que vous avez spécifié dans votre modèle de lancement.
-
Pour les zones de disponibilité et les sous-réseaux, choisissez un ou plusieurs sous-réseaux dans la zone spécifiée. VPC Utilisez les sous-réseaux dans plusieurs zones de disponibilité pour une haute disponibilité. Pour de plus amples informations, veuillez consulter Considérations relatives au choix des VPC sous-réseaux.
-
Appuyez sur Suivant, Suivant.
-
-
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 :
-
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 et vCPUsles GiB de mémoire sont pris en charge. Par défaut, Amazon EC2 Auto Scaling spécifie les unités, ce qui se traduit par le nombre d'instances.
-
Définissez la capacité souhaitée en fonction de la taille initiale de votre groupe Auto Scaling.
-
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.
-
-
Choisissez Skip to review (Passer à la révision).
-
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
Pour créer un groupe d’instances mixtes avec la ligne de commande
Utilisez l’une des commandes suivantes :
-
create-auto-scaling-group (AWS CLI)
-
Nouveau- ASAutoScalingGroup (AWS Tools for Windows PowerShell)
Exemple de configuration
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.
Les attributs d'instance suivants sont spécifiés :
-
VCpuCount
— Les types d'instances doivent avoir un minimum de quatre vCPUs et un maximum de huitvCPUs. -
MemoryMiB
: les types d'instance doivent avoir un minimum de 16 384 Mio de mémoire. -
CpuManufacturers
— Les types d'instances doivent être fabriqués par IntelCPU.
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":, "MaxSize":
0
, "DesiredCapacity":
100
, "DesiredCapacityType": "units", "VPCZoneIdentifier": "
4
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Pour définir la valeur de la capacité souhaitée sous la forme du nombre vCPUs 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.
Vous pouvez également utiliser la create-auto-scaling-group
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 vCPUs 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.
Prévisualisez vos types d’instance
Vous pouvez prévisualiser les types d'instance qui correspondent à vos besoins de calcul sans les lancer et ajuster vos besoins si nécessaire. Lorsque vous créez votre groupe Auto Scaling dans la console Amazon EC2 Auto Scaling, un aperçu des types d'instances apparaît dans la section Aperçu des types d'instances correspondants sur la page Choisir les options de lancement de l'instance.
Vous pouvez également prévisualiser les types d'instances en passant un EC2 GetInstanceTypesFromInstanceRequirementsAPIappel Amazon à l'aide du AWS CLI ou d'unSDK. 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 dans le guide de EC2 l'utilisateur Amazon.
Ressources connexes
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
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 AWS CloudFormation. Pour plus d’informations, consultez l’exemple d’extrait dans la section Extraits de modèle de mise à l’échelle automatique du Guide de l’utilisateur AWS CloudFormation .