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.
Lorsque vous créez un EC2 parc ou un parc ponctuel, vous devez spécifier un ou plusieurs types d'instances pour configurer les instances à la demande et les instances ponctuelles du parc. Au lieu de spécifier manuellement les types d'instances, vous pouvez spécifier les attributs qu'une instance doit avoir, et Amazon EC2 identifiera tous les types d'instances avec ces attributs. C’est ce qu’on appelle la sélection de type d’instance basée sur des attributs. Par exemple, vous pouvez spécifier le nombre minimum et maximum d'instances vCPUs requises pour vos instances, et le parc lancera les instances en utilisant tous les types d'instances disponibles répondant à ces CPU exigences.
La sélection de type d’instance basée sur des attributs est idéale pour les charges de travail et les cadres qui peuvent être flexibles quant aux types d’instances qu’ils utilisent, par exemple lors de l’exécution de conteneurs ou de flottes web, du traitement de big data et de la mise en œuvre d’outils de CI/CD (intégration et déploiement continus).
Avantages
La sélection de type d’instance basée sur des attributs présente les avantages suivants :
-
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.
-
Configuration simplifiée – Pour spécifier manuellement plusieurs types d’instances pour une flotte, vous devez créer un modèle de lancement distinct pour chaque type d’instance. Toutefois, avec la sélection de type d’instance basée sur des attributs, pour fournir plusieurs types d’instance, il suffit de spécifier les attributs d’instance dans le modèle de lancement ou dans un remplacement de modèle de lancement.
-
Utilisation automatique de nouveaux types d’instances – Lorsque vous spécifiez des attributs d’instance plutôt que des types d’instance, votre flotte peut utiliser des types d’instance de nouvelle génération au fur et à mesure qu’ils sont publiés, « vérifiant ultérieurement » la configuration de la flotte.
-
Flexibilité du type d’instance – Lorsque vous spécifiez des attributs d’instance plutôt que des types d’instance, la flotte peut choisir parmi un large éventail de types d’instance pour lancer des instances Spot, ce qui est conforme aux bonnes pratiques Spot en matière de flexibilité des types d’instance.
Rubriques
- Fonctionnement de la sélection de type d’instance basée sur des attributs
- Protection des prix
- Protection des performances
- Considérations
- Création d'une EC2 flotte avec sélection du type d'instance basée sur les attributs
- Créer un parc d’instances Spot avec une sélection de type d’instance basée sur des attributs
- Exemples de configurations de EC2 flotte valides et non valides
- Exemples de configurations valides et non valides
- Aperçu des types d’instances avec des attributs spécifiés
Fonctionnement de la sélection de type d’instance basée sur des attributs
Pour utiliser la sélection du type d'instance basée sur les attributs dans la configuration de votre flotte, vous remplacez la liste des types d'instances par une liste des attributs d'instance dont vos instances ont besoin. EC2 Fleet ou Spot Fleet lancera des instances sur tous les types d'instances disponibles possédant les attributs d'instance spécifiés.
Rubriques
Types d’attributs d’instance
Il existe plusieurs attributs d’instance que vous pouvez spécifier pour exprimer vos besoins en matière de calcul, 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.
-
Des performances de pointe : s’il faut utiliser la famille d’instance T, y compris les types T4g, T3a, T3 et T2.
Pour une description de chaque attribut et des valeurs par défaut, consultez InstanceRequirementsle Amazon EC2 API Reference.
Où configurer la sélection de type d’instance basée sur des attributs
Selon que vous utilisez la console ou le AWS CLI, vous pouvez spécifier les attributs d'instance pour la sélection du type d'instance basée sur les attributs comme suit :
Dans la console, vous pouvez spécifier les attributs de l’instance dans les composants de configuration de la flotte suivants :
-
Dans un modèle de lancement, puis référencez le modèle de lancement dans la demande de flotte
-
(Spot Fleet uniquement) Dans la demande de flotte
Dans le AWS CLI, vous pouvez spécifier les attributs d'instance dans l'un ou l'ensemble des composants de configuration de flotte suivants :
-
Dans un modèle de lancement, puis référencez le modèle de lancement dans la demande de flotte
-
Dans un remplacement de modèle de lancement
Si vous souhaitez une combinaison d'instances utilisant différentes optionsAMIs, vous pouvez spécifier des attributs d'instance dans le cadre de plusieurs remplacements de modèles de lancement. Par exemple, différents types d’instance peuvent utiliser des processeurs x86 et Arm.
-
(Spot Fleet uniquement) Dans une spécification de lancement
Comment EC2 Fleet ou Spot Fleet utilise la sélection du type d'instance basée sur les attributs lors du provisionnement d'une flotte
EC2Fleet ou Spot Fleet approvisionne une flotte de la manière suivante :
-
Il identifie les types d’instances qui ont les attributs spécifiés.
-
Il utilise la protection des prix pour déterminer les types d’instance à exclure.
-
Il détermine les pools de capacité à partir desquels il envisagera de lancer les instances en fonction des AWS régions ou des zones de disponibilité ayant les types d'instances correspondants.
-
Le parc d’instances Spot applique la stratégie d’allocation spécifiée pour déterminer les groupes de capacités à partir desquels lancer les instances.
Notez que la sélection de type d’instance basée sur des attributs ne permet pas de sélectionner les groupes de capacités à partir desquels allouer la flotte ; c’est la tâche des stratégies d’allocations.
Si vous spécifiez une stratégie d’allocation, la flotte EC2 lance des instances conformément à la stratégie d’allocation spécifiée.
-
Pour les instances Spot, la sélection de type d’instance basée sur des attributs prend en charge les stratégies d’allocation price-capacity optimized, optimized optimized, lowest-price. Notez que nous ne recommandons pas la stratégie d’allocation ponctuelle au prix le plus bas, car c’est elle qui présente le risque d’interruption le plus élevé pour vos instances ponctuelles.
-
Pour les instances à la demande, la sélection du type d’instance basée sur les attributs prend en charge la stratégie d’attribution du prix le plus bas.
-
-
S’il n’y a pas de capacité pour les types d’instance avec des attributs d’instance spécifiés, aucune instance ne peut être lancée et la flotte renvoie une erreur.
Protection des prix
La protection des prix est une fonctionnalité qui empêche votre EC2 flotte ou votre flotte ponctuelle d'utiliser des types d'instances que vous jugeriez trop coûteux, même s'ils correspondent aux attributs que vous avez spécifiés. Pour utiliser la protection des prix, vous devez définir un seuil de prix. Ensuite, lorsqu'Amazon EC2 sélectionne des types d'instances avec vos attributs, il exclut les types d'instances dont le prix est supérieur à votre seuil.
Amazon EC2 calcule le seuil de prix de la manière suivante :
-
Amazon identifie EC2 d'abord le type d'instance le moins cher parmi ceux qui correspondent à vos attributs.
-
Amazon prend EC2 ensuite la valeur (exprimée en pourcentage) que vous avez spécifiée pour le paramètre de protection des prix et la multiplie par le prix du type d'instance identifié. Le résultat est le prix qui est utilisé comme seuil de prix.
Il existe des seuils de prix distincts pour les instances à la demande et pour les instances Spot.
Lorsque vous créez une flotte avec une sélection de type d’instance basée sur des attributs, la protection des prix est activée par défaut, avec des seuils distincts pour les instances à la demande et les instances Spot. Vous pouvez conserver les valeurs par défaut ou spécifier les vôtres.
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 que999999
.
Rubriques
Comment est identifié le type d’instance le moins cher
Amazon EC2 détermine le prix sur lequel baser le seuil de prix en identifiant le type d'instance dont le prix est le plus bas parmi celles qui correspondent aux attributs que vous avez spécifiés. Pour ce faire, il procède de la façon suivante :
-
Il examine d’abord les types d’instances C, M ou R de la génération actuelle qui correspondent à vos attributs. S’il trouve des correspondances, il identifie le type d’instance le moins cher.
-
S’il n’y a pas de correspondance, il examine ensuite tous les types d’instances de la génération actuelle qui correspondent à vos attributs. S’il trouve des correspondances, il identifie le type d’instance le moins cher.
-
S’il n’y a pas de correspondance, il examine ensuite tous les types d’instances de la génération précédente qui correspondent à vos attributs et identifie le type d’instance le moins cher.
Demand price protection
Le seuil de protection des prix pour les types d’instances à la demande est calculé sous la forme d’un pourcentage supérieur au type d’instance à la demande le moins cher identifié (OnDemandMaxPricePercentageOverLowestPrice
). Vous spécifiez le pourcentage supérieur que vous êtes prêt à payer. Si vous ne spécifiez pas ce paramètre, la valeur par défaut de 20
est utilisée pour calculer un seuil de protection des prix supérieur de 20 % au prix identifié.
Par exemple, si le prix de l’instance On-Demand identifié est0.4271
, et que vous le spécifiez25
, le seuil de prix est supérieur de 25 % à0.4271
. Il est calculé comme suit : 0.4271 * 1.25 =
0.533875
. Le prix calculé est le montant maximum que vous êtes prêt à payer pour les instances à la demande et, dans cet exemple, Amazon EC2 exclura tous les types d'instances à la demande dont le coût est supérieur à0.533875
.
Deletion price protection
Par défaut, Amazon EC2 appliquera 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, le fait de laisser Amazon EC2 s'en occuper à 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 du type d’instance à la demande le moins cher identifié [
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice
]Par exemple, si le prix du type d’instance On-Demand identifié est
0.4271
, et que vous le spécifiez60
, le seuil de prix est de 60 %0.4271
. Il est calculé comme suit :0.4271 * 0.60 = 0.25626
. Le prix calculé est le montant maximum que vous êtes prêt à payer pour les instances Spot et, dans cet exemple, Amazon EC2 exclura tous les types d'instances Spot dont le coût est supérieur à0.25626
. -
Un pourcentage supérieur au type d’instance Spot le moins cher identifié [
SpotMaxPricePercentageOverLowestPrice
]Par exemple, si le prix du type d’instance Spot identifié est
0.1808
, et que vous le spécifiez25
, le seuil de prix est supérieur de 25 % à0.1808
. Il est calculé comme suit :0.1808 * 1.25 = 0.226
. Le prix calculé est le montant maximum que vous êtes prêt à payer pour les instances Spot et, dans cet exemple, Amazon EC2 exclura tous les types d'instances Spot dont le coût est supérieur à0.266
. Il est déconseillé d’utiliser ce paramètre, car les prix Spot peuvent fluctuer, et par conséquent, votre seuil de protection des prix peut également fluctuer.
Spécifier le seuil de protection des prix
Pour définir le seuil de protection des prix à l'aide du AWS CLI
Lors de la création d'un EC2 parc ou d'un parc ponctuel à l'aide du AWS CLI, configurez le parc pour la sélection du type d'instance basé sur les attributs, puis procédez comme suit :
-
Pour spécifier le seuil de protection des prix des instances à la demande, dans le fichier de JSON configuration, dans la
InstanceRequirements
structure, pourOnDemandMaxPricePercentageOverLowestPrice
, entrez le seuil de protection des prix sous forme de pourcentage. -
Pour spécifier le seuil de protection des prix des instances Spot, dans le fichier de JSON configuration, dans la
InstanceRequirements
structure, spécifiez l'un des paramètres suivants :-
Pour
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice
, saisissez le seuil de protection des prix sous forme de pourcentage. -
Pour
SpotMaxPricePercentageOverLowestPrice
, saisissez le seuil de protection des prix sous forme de pourcentage.
-
Pour plus d’informations, consultez Création d'une EC2 flotte avec sélection du type d'instance basée sur les attributs ou Créer un parc d’instances Spot avec une sélection de type d’instance basée sur des attributs.
(Spot uniquement) Pour spécifier le seuil de protection des prix à l’aide de la console
Lors de la création du parc d’instances Spot, configurez la flotte pour la sélection du type d’instance basée sur des attributs, puis procédez comme suit :
-
Pour spécifier le seuil de protection des prix des instances à la demande, sous Additional instance attribute (Attribut d’instance supplémentaire), choisissez On-demand price protection (Protection des prix à la demande), puis Add attribute (Ajouter un attribut).
-
Pour spécifier le seuil de protection des prix de l’instance Spot, Attribut d’instance supplémentaire, choisissez Protection des prix Spot, choisissez une valeur de base sur laquelle baser votre prix, puis saisissez le seuil de protection des prix sous forme de pourcentage.
Note
Lors de la création du parc, si vous définissez TargetCapacityUnitType
vcpu
oumemory-mib
, le seuil de protection des prix est appliqué en fonction du prix par v CPU ou par mémoire plutôt que du prix par instance.
Protection des performances
La protection des performances est une fonctionnalité qui garantit que votre EC2 flotte ou votre flotte ponctuelle 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. Lorsqu'Amazon EC2 sélectionne des types d'instances pour votre flotte, il prend en compte les attributs que vous avez spécifiés et les performances de référence. 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. Amazon EC2 utilise cette référence 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 du CPU 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 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 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.
Si vous spécifiez une famille d'instances non prise en charge comme valeur pour les performances de référence, le API renvoie une réponse vide GetInstanceTypesFromInstanceRequirementset une exception pour CreateFleet, RequestSpotFleetModifyFleet, et ModifySpotFleetRequest.
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 présentant ces attributs mais présentant des CPU performances inférieures c6i
sera exclu de la sélection.
"BaselinePerformanceFactors": {
"Cpu": {
"References": [
{
"InstanceFamily": "c6i"
}
]
}
Considérations
-
Vous pouvez spécifier des types d'instances ou des attributs d'instance dans un EC2 parc ou un parc ponctuel, mais pas les deux en même temps.
Lorsque vous utilisez leCLI, les remplacements du modèle de lancement remplaceront le modèle de lancement. Par exemple, si le modèle de lancement contient un type d’instance et que le remplacement du modèle de lancement contient des attributs d’instance, les instances identifiées par les attributs d’instance remplaceront le type d’instance dans le modèle de lancement.
-
Lorsque vous utilisez leCLI, lorsque vous spécifiez des attributs d'instance en tant que remplacements, vous ne pouvez pas également spécifier de poids ou de priorités.
-
Vous pouvez spécifier un maximum de quatre structures
InstanceRequirements
dans une configuration de demande.
Création d'une EC2 flotte avec sélection du type d'instance basée sur les attributs
Vous pouvez configurer un EC2 parc pour utiliser la sélection du type d'instance basée sur les attributs à l'aide du. AWS CLI
Pour créer une EC2 flotte avec une sélection de type d'instance basée sur les attributs ()AWS CLI
Utilisez la commande create-fleet
aws ec2 create-fleet \ --region
us-east-1
\ --cli-input-json file://file_name
.json
Exemple de fichier file_name
.json
L'exemple suivant contient les paramètres qui configurent une EC2 flotte pour utiliser la sélection du type d'instance basée sur les attributs, et est suivi d'une explication textuelle.
{
"SpotOptions": {
"AllocationStrategy": "price-capacity-optimized
"
},
"LaunchTemplateConfigs": [{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template
",
"Version": "1
"
},
"Overrides": [{
"InstanceRequirements": {
"VCpuCount": {
"Min": 2
},
"MemoryMiB": {
"Min": 4
}
}
}]
}],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 20
,
"DefaultTargetCapacityType": "spot
"
},
"Type": "instant
"
}
Les attributs de sélection du type d’instance basé sur des attributs sont spécifiés dans la structure InstanceRequirements
. Dans cet exemple, deux attributs sont spécifiés :
-
VCpuCount
— Un minimum de 2 vCPUs est spécifié. Comme aucun maximum n’est spécifié, il n’y a pas de limite maximale. -
MemoryMiB
: au moins 4 Mio de mémoire sont spécifiés. Comme aucun maximum n’est spécifié, il n’y a pas de limite maximale.
Tous les types d'instance dotés de 2 ou plus vCPUs et de 4 Mo de mémoire ou plus seront identifiés. Cependant, la protection des prix et la stratégie d'allocation peuvent exclure certains types d'instances lorsque EC2Fleet approvisionne la flotte.
Pour obtenir une liste et une description de tous les attributs possibles que vous pouvez spécifier, consultez InstanceRequirementsla EC2APIréférence Amazon.
Note
Lorsque InstanceRequirements
est inclus dans la configuration de la flotte, InstanceType
et WeightedCapacity
doivent être exclus. Ils ne peuvent pas déterminer la configuration de la flotte en même temps que les attributs d’instance.
JSONIl contient également la configuration de flotte suivante :
-
"AllocationStrategy": "
: la stratégie d’allocation des instances Spot de la flotte.price-capacity-optimized
" -
"LaunchTemplateName": "
: le modèle de lancement contient certaines informations de configuration d’instance, mais si des types d’instance sont spécifiés, ils seront remplacés par les attributs spécifiés dansmy-launch-template
", "Version": "
"1
InstanceRequirements
. -
"TotalTargetCapacity":
: la capacité cible est de 20 instances Spot.20
-
"DefaultTargetCapacityType": "
: la capacité par défaut est celle des instances Spot.spot
" -
"Type": "
: le type de demande pour la flotte estinstant
"instant
.
Créer un parc d’instances Spot avec une sélection de type d’instance basée sur des attributs
Vous pouvez configurer un parc pour utiliser la sélection du type d'instance basée sur les attributs à l'aide de EC2 la console Amazon ou du. AWS CLI
Rubriques
Créer un parc d’instances Spot à l’aide de la console
Pour configurer un parc d’instances Spot pour la sélection de type d’instance basée sur des attributs (console)
Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/
. -
Dans le panneau de navigation, choisissez Spot Requests (Demandes Spot) et sélectionnez Request Spot Instances (Demander des instances Spot).
-
Suivez les étapes permettant de créer un parc d’instances Spot. Pour de plus amples informations, veuillez consulter Création d’une demande de parc d’instances Spot à l’aide des paramètres définis (console).
Lors de la création du parc d’instances Spot, configurez la flotte pour la sélection du type d’instance basée sur des attributs comme suit :
-
Pour Instance type requirements (Exigences de type d’instance), choisissez Specify instance attributes that match your compute requirements (Spécifiez les attributs d’instance qui correspondent à vos exigences de calcul).
-
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.
-
(Facultatif) Pour afficher les types d’instance avec vos attributs spécifiés, développez Preview matching instance types (Aperçu des types d’instance correspondants).
-
Créez un parc d'instances Spot à l'aide de AWS CLI
Pour configurer un parc de spots pour la sélection du type d'instance basée sur les attributs à l'aide du AWS CLI
Utilisez la request-spot-fleet
aws ec2 request-spot-fleet \ --region
us-east-1
\ --spot-fleet-request-config file://file_name
.json
Exemple de fichier file_name
.json
L’exemple suivant contient les paramètres qui configurent un parc d’instances Spot afin qu’il utilise la sélection de type d’instance basée sur des attributs et est suivi d’une explication textuelle.
{
"AllocationStrategy": "priceCapacityOptimized
",
"TargetCapacity": 20
,
"Type": "request
",
"LaunchTemplateConfigs": [{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "my-launch-template
",
"Version": "1
"
},
"Overrides": [{
"InstanceRequirements": {
"VCpuCount": {
"Min": 2
},
"MemoryMiB": {
"Min": 4
}
}
}]
}]
}
Les attributs de sélection du type d’instance basé sur des attributs sont spécifiés dans la structure InstanceRequirements
. Dans cet exemple, deux attributs sont spécifiés :
-
VCpuCount
— Un minimum de 2 vCPUs est spécifié. Comme aucun maximum n’est spécifié, il n’y a pas de limite maximale. -
MemoryMiB
: au moins 4 Mio de mémoire sont spécifiés. Comme aucun maximum n’est spécifié, il n’y a pas de limite maximale.
Tous les types d'instance dotés de 2 ou plus vCPUs et de 4 Mo de mémoire ou plus seront identifiés. Toutefois, la protection des prix et la stratégie d’allocation peuvent exclure certains types d’instances lorsque le parc d’instances Spot alloue la flotte.
Pour obtenir une liste et une description de tous les attributs possibles que vous pouvez spécifier, consultez InstanceRequirementsla EC2APIréférence Amazon.
Note
Lorsque InstanceRequirements
est inclus dans la configuration de la flotte, InstanceType
et WeightedCapacity
doivent être exclus. Ils ne peuvent pas déterminer la configuration de la flotte en même temps que les attributs d’instance.
JSONIl contient également la configuration de flotte suivante :
-
"AllocationStrategy": "
: la stratégie d’allocation des instances Spot de la flotte.priceCapacityOptimized
" -
"LaunchTemplateName": "
: le modèle de lancement contient certaines informations de configuration d’instance, mais si des types d’instance sont spécifiés, ils seront remplacés par les attributs spécifiés dansmy-launch-template
", "Version": "
"1
InstanceRequirements
. -
"TargetCapacity":
: la capacité cible est de 20 instances Spot.20
-
"Type": "
: le type de demande pour la flotte estrequest
"request
.
Exemples de configurations de EC2 flotte valides et non valides
Si vous utilisez le AWS CLI pour créer une EC2 flotte, vous devez vous assurer que la configuration de votre flotte est valide. Les exemples suivants illustrent les configurations valides et non valides.
Les configurations sont considérées comme non valides lorsqu’elles contiennent les éléments suivants :
-
Une seule structure
Overrides
avecInstanceRequirements
etInstanceType
-
Deux structures
Overrides
, l’une avecInstanceRequirements
et l’autre avecInstanceType
-
Deux structures
InstanceRequirements
avec des valeurs d’attributs qui se chevauchent au sein du mêmeLaunchTemplateSpecification
Exemples de configuration
- Configuration valide : modèle de lancement unique avec remplacements
- Configuration valide : modèle de lancement unique avec plusieurs InstanceRequirements
- Configuration valide : deux modèles de lancement, chacun avec des remplacements
- Configuration valide : uniquement InstanceRequirements est spécifié, les valeurs d’attribut ne se chevauchent pas
- Configuration non valide : les Overrides contiennent InstanceRequirements et InstanceType
- Configuration non valide : deux Overrides contiennent InstanceRequirements et InstanceType
- Configuration non valide : chevauchement des valeurs d’attribut
Configuration valide : modèle de lancement unique avec remplacements
La configuration suivante est valide. Elle contient un modèle de lancement et une structure Overrides
contenant une structure InstanceRequirements
. Vous trouverez ci-dessous une explication textuelle de l’exemple de configuration.
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "My-launch-template",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 2,
"Max": 8
},
"MemoryMib": {
"Min": 0,
"Max": 10240
},
"MemoryGiBPerVCpu": {
"Max": 10000
},
"RequireHibernateSupport": true
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 5000,
"DefaultTargetCapacityType": "spot",
"TargetCapacityUnitType": "vcpu"
}
}
}
InstanceRequirements
Pour utiliser la sélection d’instance basée sur les attributs, vous devez inclure la structure InstanceRequirements
dans votre configuration de flotte et spécifier les attributs souhaités pour les instances de la flotte.
Dans l’exemple précédent, les attributs d’instance suivants sont spécifiés :
-
VCpuCount
— Les types d'instances doivent en avoir un minimum de 2 et un maximum de 8vCPUs. -
MemoryMiB
: les types d’instance doivent disposer d’un maximum de 10 240 Mio de mémoire. Un minimum de 0 indique qu’il n’y a pas de limite minimale. -
MemoryGiBPerVCpu
— Les types d'instance doivent disposer d'un maximum de 10 000 GiB de mémoire par v. CPU LeMin
paramètre est facultatif. En l’omettant, vous n’indiquez aucune limite minimale.
TargetCapacityUnitType
Le paramètre TargetCapacityUnitType
spécifie l’unité de la capacité cible. Dans l'exemple, la capacité cible est 5000
et le type d'unité de capacité cible estvcpu
, ce qui définit ensemble une capacité cible souhaitée de 5 000vCPUs. EC2 Fleet lancera suffisamment d'instances pour que le nombre total d'instances vCPUs de la flotte soit de 5 000vCPUs.
Configuration valide : modèle de lancement unique avec plusieurs InstanceRequirements
La configuration suivante est valide. Elle contient un modèle de lancement et une structure Overrides
contenant deux structures InstanceRequirements
. Les attributs spécifiés dans InstanceRequirements
sont valides car les valeurs ne se chevauchent pas : la première InstanceRequirements
structure indique une VCpuCount
valeur comprise entre 0 et 2vCPUs, tandis que la seconde InstanceRequirements
indique 4 à 8. vCPUs
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
},
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 4,
"Max": 8
},
"MemoryMiB": {
"Min": 0
}
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 1,
"DefaultTargetCapacityType": "spot"
}
}
}
Configuration valide : deux modèles de lancement, chacun avec des remplacements
La configuration suivante est valide. Elle contient deux modèles de lancement, chacun contenant une structure Overrides
contenant une structure InstanceRequirements
. Cette configuration est utile pour la prise en charge des architectures arm
et x86
au sein de la même flotte.
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "armLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
},
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "x86LaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 1,
"DefaultTargetCapacityType": "spot"
}
}
}
Configuration valide : uniquement InstanceRequirements
est spécifié, les valeurs d’attribut ne se chevauchent pas
La configuration suivante est valide. Elle contient deux structures LaunchTemplateSpecification
, chacune avec un modèle de lancement et une structure Overrides
contenant une structure InstanceRequirements
. Les attributs spécifiés dans InstanceRequirements
sont valides car les valeurs ne se chevauchent pas : la première InstanceRequirements
structure indique une VCpuCount
valeur comprise entre 0 et 2vCPUs, tandis que la seconde InstanceRequirements
indique 4 à 8. vCPUs
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
]
},
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyOtherLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 4,
"Max": 8
},
"MemoryMiB": {
"Min": 0
}
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 1,
"DefaultTargetCapacityType": "spot"
}
}
}
Configuration non valide : les Overrides
contiennent InstanceRequirements
et InstanceType
La configuration suivante n’est pas valide. La structure Overrides
contient à la fois InstanceRequirements
et InstanceType
. Pour les Overrides
, vous pouvez spécifier InstanceRequirements
ou InstanceType
, mais pas les deux.
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
},
{
"InstanceType": "m5.large"
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 1,
"DefaultTargetCapacityType": "spot"
}
}
}
Configuration non valide : deux Overrides
contiennent InstanceRequirements
et InstanceType
La configuration suivante n’est pas valide. Les structures Overrides
contiennent à la fois InstanceRequirements
et InstanceType
. Vous pouvez spécifier InstanceRequirements
ou InstanceType
, mais pas les deux, même s’ils se trouvent dans différentes structures Overrides
.
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
]
},
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyOtherLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceType": "m5.large"
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 1,
"DefaultTargetCapacityType": "spot"
}
}
}
Configuration non valide : chevauchement des valeurs d’attribut
La configuration suivante n’est pas valide. Les deux structures InstanceRequirements
contiennent chacune "VCpuCount":
{"Min": 0, "Max": 2}
. Les valeurs de ces attributs se chevauchent, ce qui entraîne des groupes de capacités en double.
{
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
},
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 1,
"DefaultTargetCapacityType": "spot"
}
}
}
Exemples de configurations valides et non valides
Si vous utilisez le AWS CLI pour créer une flotte ponctuelle, vous devez vous assurer que la configuration de votre flotte est valide. Les exemples suivants illustrent les configurations valides et non valides.
Les configurations sont considérées comme non valides lorsqu’elles contiennent les éléments suivants :
-
Une seule structure
Overrides
avecInstanceRequirements
etInstanceType
-
Deux structures
Overrides
, l’une avecInstanceRequirements
et l’autre avecInstanceType
-
Deux structures
InstanceRequirements
avec des valeurs d’attributs qui se chevauchent au sein du mêmeLaunchTemplateSpecification
Exemples de configuration
- Configuration valide : modèle de lancement unique avec remplacements
- Configuration valide : modèle de lancement unique avec plusieurs InstanceRequirements
- Configuration valide : deux modèles de lancement, chacun avec des remplacements
- Configuration valide : uniquement InstanceRequirements est spécifié, les valeurs d’attribut ne se chevauchent pas
- Configuration non valide : les Overrides contiennent InstanceRequirements et InstanceType
- Configuration non valide : deux Overrides contiennent InstanceRequirements et InstanceType
- Configuration non valide : chevauchement des valeurs d’attribut
Configuration valide : modèle de lancement unique avec remplacements
La configuration suivante est valide. Elle contient un modèle de lancement et une structure Overrides
contenant une structure InstanceRequirements
. Vous trouverez ci-dessous une explication textuelle de l’exemple de configuration.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "My-launch-template",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 2,
"Max": 8
},
"MemoryMib": {
"Min": 0,
"Max": 10240
},
"MemoryGiBPerVCpu": {
"Max": 10000
},
"RequireHibernateSupport": true
}
}
]
}
],
"TargetCapacity": 5000,
"OnDemandTargetCapacity": 0,
"TargetCapacityUnitType": "vcpu"
}
}
InstanceRequirements
Pour utiliser la sélection d’instance basée sur les attributs, vous devez inclure la structure InstanceRequirements
dans votre configuration de flotte et spécifier les attributs souhaités pour les instances de la flotte.
Dans l’exemple précédent, les attributs d’instance suivants sont spécifiés :
-
VCpuCount
— Les types d'instances doivent en avoir un minimum de 2 et un maximum de 8vCPUs. -
MemoryMiB
: les types d’instance doivent disposer d’un maximum de 10 240 Mio de mémoire. Un minimum de 0 indique qu’il n’y a pas de limite minimale. -
MemoryGiBPerVCpu
— Les types d'instance doivent disposer d'un maximum de 10 000 GiB de mémoire par v. CPU LeMin
paramètre est facultatif. En l’omettant, vous n’indiquez aucune limite minimale.
TargetCapacityUnitType
Le paramètre TargetCapacityUnitType
spécifie l’unité de la capacité cible. Dans l'exemple, la capacité cible est 5000
et le type d'unité de capacité cible estvcpu
, ce qui définit ensemble une capacité cible souhaitée de 5 000vCPUs. Spot Fleet lancera suffisamment d'instances pour que le nombre total d'instances vCPUs de la flotte soit de 5 000vCPUs.
Configuration valide : modèle de lancement unique avec plusieurs InstanceRequirements
La configuration suivante est valide. Elle contient un modèle de lancement et une structure Overrides
contenant deux structures InstanceRequirements
. Les attributs spécifiés dans InstanceRequirements
sont valides car les valeurs ne se chevauchent pas : la première InstanceRequirements
structure indique une VCpuCount
valeur comprise entre 0 et 2vCPUs, tandis que la seconde InstanceRequirements
indique 4 à 8. vCPUs
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
},
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 4,
"Max": 8
},
"MemoryMiB": {
"Min": 0
}
}
}
]
}
],
"TargetCapacity": 1,
"OnDemandTargetCapacity": 0,
"Type": "maintain"
}
}
Configuration valide : deux modèles de lancement, chacun avec des remplacements
La configuration suivante est valide. Elle contient deux modèles de lancement, chacun contenant une structure Overrides
contenant une structure InstanceRequirements
. Cette configuration est utile pour la prise en charge des architectures arm
et x86
au sein de la même flotte.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "armLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
},
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "x86LaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
]
}
],
"TargetCapacity": 1,
"OnDemandTargetCapacity": 0,
"Type": "maintain"
}
}
Configuration valide : uniquement InstanceRequirements
est spécifié, les valeurs d’attribut ne se chevauchent pas
La configuration suivante est valide. Elle contient deux structures LaunchTemplateSpecification
, chacune avec un modèle de lancement et une structure Overrides
contenant une structure InstanceRequirements
. Les attributs spécifiés dans InstanceRequirements
sont valides car les valeurs ne se chevauchent pas : la première InstanceRequirements
structure indique une VCpuCount
valeur comprise entre 0 et 2vCPUs, tandis que la seconde InstanceRequirements
indique 4 à 8. vCPUs
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
]
},
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyOtherLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 4,
"Max": 8
},
"MemoryMiB": {
"Min": 0
}
}
}
]
}
],
"TargetCapacity": 1,
"OnDemandTargetCapacity": 0,
"Type": "maintain"
}
}
Configuration non valide : les Overrides
contiennent InstanceRequirements
et InstanceType
La configuration suivante n’est pas valide. La structure Overrides
contient à la fois InstanceRequirements
et InstanceType
. Pour les Overrides
, vous pouvez spécifier InstanceRequirements
ou InstanceType
, mais pas les deux.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
},
{
"InstanceType": "m5.large"
}
]
}
],
"TargetCapacity": 1,
"OnDemandTargetCapacity": 0,
"Type": "maintain"
}
}
Configuration non valide : deux Overrides
contiennent InstanceRequirements
et InstanceType
La configuration suivante n’est pas valide. Les structures Overrides
contiennent à la fois InstanceRequirements
et InstanceType
. Vous pouvez spécifier InstanceRequirements
ou InstanceType
, mais pas les deux, même s’ils se trouvent dans différentes structures Overrides
.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
]
},
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyOtherLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceType": "m5.large"
}
]
}
],
"TargetCapacity": 1,
"OnDemandTargetCapacity": 0,
"Type": "maintain"
}
}
Configuration non valide : chevauchement des valeurs d’attribut
La configuration suivante n’est pas valide. Les deux structures InstanceRequirements
contiennent chacune "VCpuCount":
{"Min": 0, "Max": 2}
. Les valeurs de ces attributs se chevauchent, ce qui entraîne des groupes de capacités en double.
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "priceCapacityOptimized",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateName": "MyLaunchTemplate",
"Version": "1"
},
"Overrides": [
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
},
{
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 2
},
"MemoryMiB": {
"Min": 0
}
}
}
}
]
}
],
"TargetCapacity": 1,
"OnDemandTargetCapacity": 0,
"Type": "maintain"
}
}
Aperçu des types d’instances avec des attributs spécifiés
Vous pouvez utiliser la commande get-instance-types-from-instance-requirements
Pour prévisualiser une liste de types d’instance en spécifiant des attributs à l’aide de la AWS CLI
-
(Facultatif) Pour générer tous les attributs possibles pouvant être spécifiés, utilisez la commande get-instance-types-from-instance-requirements
et le paramètre. --generate-cli-skeleton
Vous pouvez éventuellement rediriger la sortie vers un fichier pour l’enregistrer à l’aide deinput >
.attributes.json
aws ec2 get-instance-types-from-instance-requirements \ --region us-east-1 \ --generate-cli-skeleton input >
attributes.json
Sortie attendue
{ "DryRun": true, "ArchitectureTypes": [ "i386" ], "VirtualizationTypes": [ "hvm" ], "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 0 }, "MemoryMiB": { "Min": 0, "Max": 0 }, "CpuManufacturers": [ "intel" ], "MemoryGiBPerVCpu": { "Min": 0.0, "Max": 0.0 }, "ExcludedInstanceTypes": [ "" ], "InstanceGenerations": [ "current" ], "SpotMaxPricePercentageOverLowestPrice": 0, "OnDemandMaxPricePercentageOverLowestPrice": 0, "BareMetal": "included", "BurstablePerformance": "included", "RequireHibernateSupport": true, "NetworkInterfaceCount": { "Min": 0, "Max": 0 }, "LocalStorage": "included", "LocalStorageTypes": [ "hdd" ], "TotalLocalStorageGB": { "Min": 0.0, "Max": 0.0 }, "BaselineEbsBandwidthMbps": { "Min": 0, "Max": 0 }, "AcceleratorTypes": [ "gpu" ], "AcceleratorCount": { "Min": 0, "Max": 0 }, "AcceleratorManufacturers": [ "nvidia" ], "AcceleratorNames": [ "a100" ], "AcceleratorTotalMemoryMiB": { "Min": 0, "Max": 0 }, "NetworkBandwidthGbps": { "Min": 0.0, "Max": 0.0 }, "AllowedInstanceTypes": [ "" ] }, "MaxResults": 0, "NextToken": "" }
-
Créez un fichier JSON de configuration en utilisant le résultat de l'étape précédente et configurez-le comme suit :
Note
Vous devez fournir des valeurs pour
ArchitectureTypes
,VirtualizationTypes
,VCpuCount
etMemoryMiB
. Vous pouvez omettre les autres attributs. Lorsqu’ils sont omis, les valeurs par défaut sont utilisées.Pour une description de chaque attribut et de leurs valeurs par défaut, consultez get-instance-types-from-instance-requirements
. -
Pour
ArchitectureTypes
, spécifiez un ou plusieurs types d’architecture de processeur. -
Pour
VirtualizationTypes
, spécifiez un ou plusieurs types de virtualisation. -
Pour
VCpuCount
, spécifiez le nombre minimum et maximum devCPUs. Pour ne spécifier aucune limite minimale, pourMin
, spécifiez0
. Pour ne spécifier aucune limite maximale, omettez le paramètreMax
. -
Pour
MemoryMiB
, spécifiez la quantité minimale et maximale de mémoire en Mio. Pour ne spécifier aucune limite minimale, pourMin
, spécifiez0
. Pour ne spécifier aucune limite maximale, omettez le paramètreMax
. -
Vous pouvez éventuellement spécifier un ou plusieurs autres attributs pour limiter davantage la liste des types d’instance renvoyés.
-
-
Pour prévisualiser les types d'instances dotés des attributs que vous avez spécifiés dans le JSON fichier, utilisez la commande get-instance-types-from-instance-requirements
et spécifiez le nom et le chemin d'accès à votre JSON fichier à l'aide du paramètre. --cli-input-json
Vous pouvez éventuellement formater la sortie pour qu’elle apparaisse dans un format de tableau.aws ec2 get-instance-types-from-instance-requirements \ --cli-input-json file://
attributes.json
\ --output tableExemple de fichier
attributes.json
Dans cet exemple, les attributs requis sont inclus dans le JSON fichier. Ils sont
ArchitectureTypes
,VirtualizationTypes
,VCpuCount
etMemoryMiB
. En outre, l’attribut facultatifInstanceGenerations
est également inclus. Notez que pourMemoryMiB
, la valeurMax
peut être omise pour indiquer qu’aucune limite n’est applicable.{ "ArchitectureTypes": [ "x86_64" ], "VirtualizationTypes": [ "hvm" ], "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 6 }, "MemoryMiB": { "Min": 2048 }, "InstanceGenerations": [ "current" ] } }
Exemple de sortie
------------------------------------------ |GetInstanceTypesFromInstanceRequirements| +----------------------------------------+ || InstanceTypes || |+--------------------------------------+| || InstanceType || |+--------------------------------------+| || c4.xlarge || || c5.xlarge || || c5a.xlarge || || c5ad.xlarge || || c5d.xlarge || || c5n.xlarge || || d2.xlarge || ...
-
Après avoir identifié les types d’instance qui répondent à vos besoins, prenez note des attributs d’instance que vous avez utilisés afin que vous puissiez les utiliser lors de la configuration de votre demande de flotte.