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 type de EC2 flotte instant
La EC2 flotte de type instantané est une demande unique synchrone qui ne fait qu'une seule tentative pour lancer la capacité souhaitée. La API réponse répertorie les instances qui ont été lancées, ainsi que les erreurs relatives aux instances qui n'ont pas pu être lancées. L'utilisation d'une EC2 flotte de type instantané présente plusieurs avantages, décrits dans cet article. Des exemples de configurations sont fournis à la fin de l’article.
Pour les charges de travail qui nécessitent un lancement uniquement API pour lancer des EC2 instances, vous pouvez utiliser le. RunInstances API Toutefois, avec RunInstances, vous ne pouvez lancer que des instances à la demande ou des instances ponctuelles, mais pas les deux dans la même demande. En outre, lorsque vous lancez RunInstances des instances Spot, votre demande d'instance Spot est limitée à un type d'instance et à une zone de disponibilité. Ceci cible un seul groupe de capacité Spot (ensemble d’instances inutilisées ayant le même type d’instance et la même zone de disponibilité). Si le pool de capacité Spot ne dispose pas d'une capacité d'instance Spot suffisante pour votre demande, l' RunInstances appel échoue.
Au lieu de l'utiliser RunInstances pour lancer des instances Spot, nous vous recommandons d'utiliser le CreateFleet API avec le type
paramètre défini sur instant
pour bénéficier des avantages suivants :
-
Launch On-Demand instances and Spot instances in one request. (Lancez des instances à la demande et des instances Spot en une seule demande.) Une EC2 flotte peut lancer des instances à la demande, des instances ponctuelles ou les deux. La demande des instances Spot est satisfaite si la capacité disponible et le prix maximum par heure que vous avez spécifié pour la demande dépassent le prix spot actuel.
-
Increase the availability of Spot instances. (Augmentez la disponibilité des instances Spot.). En utilisant une EC2 flotte de types
instant
, vous pouvez lancer des instances Spot en suivant les meilleures pratiques Spot avec les avantages qui en découlent :-
Bonnes pratiques en matière d’instances Spot : Soyez flexible en ce qui concerne les types d’instance et les zones de disponibilité.
Bénéfices : en spécifiant plusieurs types d’instance et zones de disponibilité, vous augmentez le nombre de groupes de capacités Spot. Cela donne au service Spot une meilleure chance de trouver et d’allouer la capacité de calcul Spot souhaitée. En règle générale, faites preuve de flexibilité sur au moins 10 types d'instances pour chaque charge de travail et assurez-vous que toutes les zones de disponibilité sont configurées pour être utilisées dans votreVPC.
-
Repérez les meilleures pratiques : utilisez la stratégie price-capacity-optimized d'allocation.
Avantage : la stratégie
price-capacity-optimized
d'allocation identifie les instances parmi les pools de capacité ponctuels les plus disponibles, puis provisionne automatiquement les instances à partir des pools les moins chers de ces pools. Comme la capacité de vos instances Spot provient de pools dotés d'une capacité optimale, cela réduit le risque que vos instances Spot soient interrompues lorsqu'Amazon aura EC2 besoin de récupérer la capacité.
-
-
Get access to a wider set of capabilities. (Accédez à un ensemble plus large de fonctionnalités). Pour les charges de travail nécessitant uniquement un lancement et API pour lesquelles vous préférez gérer le cycle de vie de votre instance plutôt que de laisser EC2 Fleet le gérer à votre place, utilisez le type EC2 Fleet
instant
au lieu de. RunInstancesAPI EC2Fleet fournit un ensemble de capacités plus RunInstances large que ce que montrent les exemples suivants. Pour toutes les autres charges de travail, vous devez utiliser Amazon EC2 Auto Scaling car il fournit un ensemble de fonctionnalités plus complet pour une grande variété de charges de travail, telles que les applications ELB sauvegardées, les charges de travail conteneurisées et les tâches de traitement de files d'attente.
Vous pouvez utiliser EC2 Fleet de type instantané pour lancer des instances dans des blocs de capacité. Pour de plus amples informations, veuillez consulter Tutoriel : configurez votre EC2 flotte pour lancer des instances dans des blocs de capacité.
AWS des services tels qu'Amazon EC2 Auto Scaling et Amazon EMR utilisent EC2 Fleet of type instant pour lancer EC2 des instances.
Prérequis pour une EC2 flotte de type instantané
Pour connaître les conditions préalables à la création d'une EC2 flotte, consultezEC2Prérequis relatifs à la flotte.
Comment fonctionne Instant EC2 Fleet
Lorsque vous travaillez avec un type de EC2 flotteinstant
, la séquence des événements est la suivante :
-
Configurez le type de CreateFleetdemande comme
instant
. Pour de plus amples informations, veuillez consulter Création d'une EC2 flotte. Notez qu'une fois l'APIappel passé, vous ne pouvez pas le modifier. -
Lorsque vous passez l'APIappel, EC2 Fleet fait une demande unique synchrone pour la capacité souhaitée.
-
La API réponse répertorie les instances qui ont été lancées, ainsi que les erreurs relatives aux instances qui n'ont pas pu être lancées.
-
Vous pouvez décrire votre EC2 flotte, répertorier les instances associées à votre EC2 flotte et consulter l'historique de votre EC2 flotte.
-
Après le lancement de vos instances, vous pouvez supprimer la demande de flotte. Lorsque vous supprimez la demande de flotte, vous pouvez également choisir de résilier les instances associées ou de les laisser en cours d’exécution.
-
Vous pouvez résilier les instances à tout moment.
Exemples
Les exemples suivants montrent comment utiliser EC2 Fleet of type instant
pour différents cas d'utilisation. Pour plus d'informations sur l'utilisation EC2 CreateFleet API des paramètres, consultez CreateFleetla EC2APIréférence Amazon.
Exemples
- Exemple 1 : Lancer des instances Spot avec la stratégie d’allocation optimisée pour la capacité
- Exemple 2 : Lancer une unique instance Spot avec la stratégie d’allocation optimisée pour la capacité
- Exemple 3 : Lancer des instances Spot en utilisant la pondération d’instance
- Exemple 4 : Lancer des instances ponctuelles dans une seule zone de disponibilité
- Exemple 5 : Lancer des instances Spot de type d’instance unique dans une seule zone de disponibilité
- Exemple 6 : Lancer des instances Spot uniquement si une capacité cible minimale peut être lancée
- Exemple 7 : Lancer des instances Spot uniquement si une capacité cible minimale du même type d’instance et dans une seule zone de disponibilité peut être lancée
- Exemple 8 : Lancer des instances avec plusieurs modèles de lancement
- Exemple 9 : Lancer des instances Spot avec une base d’instances à la demande
- Exemple 10 : Lancer des instances Spot à l’aide d’une stratégie d’allocation optimisée pour la capacité avec une base d’instances à la demande en utilisant des réservations de capacité et la stratégie d’allocation prioritaire
- Exemple 11 : Lancer des instances ponctuelles à l'aide d' capacity-optimized-prioritized une stratégie d'allocation
- Exemple 12 : Spécifier un paramètre de Systems Manager au lieu d'un AMI ID
Exemple 1 : Lancer des instances Spot avec la stratégie d’allocation optimisée pour la capacité
L'exemple suivant spécifie les paramètres requis dans un type de EC2 flotte instant
: un modèle de lancement, une capacité cible, une option d'achat par défaut et des remplacements de modèles de lancement.
-
Le modèle de lancement est identifié par son nom de modèle de lancement et son numéro de version.
-
Les 12 remplacements de modèle de lancement spécifient 4 types d’instance différents et 3 sous-réseaux différents, chacun dans une zone de disponibilité distincte. Chaque combinaison de type d’instance et de sous-réseau définit un groupe de capacités Spot, ce qui donne un total de 12 groupes de capacités Spot.
-
La capacité cible pour la flotte est de 20 instances.
-
L’option d’achat par défaut est
spot
, ce qui fait que la flotte tente de lancer 20 instances Spot dans le groupe de capacités Spot avec une capacité optimale pour le nombre d’instances qui sont lancées.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 2 : Lancer une unique instance Spot avec la stratégie d’allocation optimisée pour la capacité
Vous pouvez lancer de manière optimale une instance Spot à la fois en effectuant plusieurs API appels EC2 Fleet de type instant
1. TotalTargetCapacity
L'exemple suivant spécifie les paramètres requis dans une EC2 flotte de type instantané : un modèle de lancement, une capacité cible, une option d'achat par défaut et des remplacements de modèles de lancement. Le modèle de lancement est identifié par son nom de modèle de lancement et son numéro de version. Les 12 remplacements de modèle de lancement ont 4 types d’instance différents et 3 sous-réseaux différents, chacun dans une zone de disponibilité distincte. La capacité cible de la flotte est de 1 instance, et l’option d’achat par défaut est Spot, ce qui fait que la flotte tente de lancer une instance Spot à partir de l’un des 12 groupes de capacités Spot en fonction de la stratégie d’allocation optimisée pour la capacité, pour lancer une instance Spot à partir du groupe de capacités le plus disponible.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 3 : Lancer des instances Spot en utilisant la pondération d’instance
Les exemples suivants utilisent la pondération d’instance, ce qui signifie que le prix est déterminé par heure d’unité, et non par heure d’instance. Chaque configuration de lancement répertorie un type d'instance différent et un poids différent en fonction du nombre d'unités de charge de travail pouvant être exécutées sur l'instance en supposant qu'une unité de charge de travail nécessite 15 Go de mémoire et 4 GovCPUs. Par exemple, un m5.xlarge (4 vCPUs et 16 Go de mémoire) peut exécuter une unité et est pondéré 1, un m5.2xlarge (8 vCPUs et 32 Go de mémoire) peut exécuter 2 unités et est pondéré 2, etc. La capacité cible totale est définie sur 40 unités. L’option d’achat par défaut est Spot et la stratégie d’allocation est optimisée pour la capacité, ce qui se traduit par 40 m5.xlarge (40 divisé par 1), 20 m5.2xlarge (40 divisé par 2), 10 m5.4xlarge (40 divisé par 4), 5 m5.8xlarge (40 divisé par 8) ou un mélange de types d’instances avec des pondérations totalisant la capacité désirée, sur la base de la stratégie d’allocation optimisée pour les capacités.
Pour de plus amples informations, veuillez consulter Utilisez la pondération des instances pour gérer les coûts et les performances de votre EC2 flotte ou de votre flotte ponctuelle.
{ "SpotOptions":{ "AllocationStrategy":"capacity-optimized" }, "LaunchTemplateConfigs":[ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"m5.xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":1 }, { "InstanceType":"m5.xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":1 }, { "InstanceType":"m5.xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":1 }, { "InstanceType":"m5.2xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":2 }, { "InstanceType":"m5.2xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":2 }, { "InstanceType":"m5.2xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":2 }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":4 }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":4 }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":4 }, { "InstanceType":"m5.8xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":8 }, { "InstanceType":"m5.8xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":8 }, { "InstanceType":"m5.8xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":8 } ] } ], "TargetCapacitySpecification":{ "TotalTargetCapacity":40, "DefaultTargetCapacityType":"spot" }, "Type":"instant" }
Exemple 4 : Lancer des instances ponctuelles dans une seule zone de disponibilité
Vous pouvez configurer un parc pour lancer toutes les instances dans une seule zone de disponibilité en définissant les options Spot SingleAvailabilityZone sur true.
Les 12 remplacements de modèle de lancement ont des types d’instance et des sous-réseaux différents (chacun dans une zone de disponibilité distincte), mais la même capacité pondérée. La capacité cible totale est de 20 instances, l’option d’achat par défaut est Spot et la stratégie d’allocation Spot est optimisée pour la capacité. La EC2 flotte lance 20 instances Spot toutes dans une seule AZ, à partir du ou des pools de capacités Spot avec une capacité optimale conformément aux spécifications de lancement.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "SingleAvailabilityZone": true }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 5 : Lancer des instances Spot de type d’instance unique dans une seule zone de disponibilité
Vous pouvez configurer un parc pour lancer toutes les instances du même type et dans une seule zone de disponibilité en définissant SpotOptions SingleInstanceType les valeurs true et SingleAvailabilityZone true.
Les 12 remplacements de modèle de lancement ont des types d’instance et des sous-réseaux différents (chacun dans une zone de disponibilité distincte), mais la même capacité pondérée. La capacité cible totale est de 20 instances, l’option d’achat par défaut est Spot et la stratégie d’allocation Spot est optimisée pour la capacité. La EC2 flotte lance 20 instances Spot du même type d'instance, toutes regroupées dans une seule AZ à partir du pool d'instances Spot avec une capacité optimale conformément aux spécifications de lancement.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "SingleInstanceType": true, "SingleAvailabilityZone": true }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 6 : Lancer des instances Spot uniquement si une capacité cible minimale peut être lancée
Vous pouvez configurer une flotte pour lancer des instances uniquement si la capacité cible minimale peut être lancée en définissant les options MinTargetCapacity Spot sur la capacité cible minimale que vous souhaitez lancer ensemble.
Les 12 remplacements de modèle de lancement ont des types d’instance et des sous-réseaux différents (chacun dans une zone de disponibilité distincte), mais la même capacité pondérée. La capacité cible totale et la capacité cible minimum sont toutes deux de 20 instances, l’option d’achat par défaut est Spot et la stratégie d’allocation Spot est optimisée pour la capacité. La EC2 flotte lance 20 instances ponctuelles à partir du pool de capacités ponctuelles avec une capacité optimale en utilisant les remplacements du modèle de lancement, uniquement si elle peut lancer les 20 instances en même temps.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "MinTargetCapacity": 20 }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 7 : Lancer des instances Spot uniquement si une capacité cible minimale du même type d’instance et dans une seule zone de disponibilité peut être lancée
Vous pouvez configurer un parc pour lancer des instances uniquement si la capacité cible minimale peut être lancée avec un seul type d'instance dans une seule zone de disponibilité en définissant les options MinTargetCapacity Spot sur la capacité cible minimale que vous souhaitez lancer en même temps que SingleInstanceType les SingleAvailabilityZone options.
Les 12 spécifications de lancement, qui remplacent le modèle de lancement, ont des types et des sous-réseaux d’instances différents (chacun dans une AZ différentes), mais la même capacité pondérée. La capacité cible totale et la capacité cible minimale sont toutes deux fixées à 20 instances, l'option d'achat par défaut est au comptant, la stratégie d'allocation au comptant est optimisée en termes de capacité, SingleInstanceType c'est vrai et SingleAvailabilityZone vrai. La EC2 flotte lance 20 instances ponctuelles du même type, toutes regroupées dans une seule AZ à partir du pool de capacités ponctuelles avec une capacité optimale conformément aux spécifications de lancement, uniquement si elle peut lancer les 20 instances en même temps.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "SingleInstanceType": true, "SingleAvailabilityZone": true, "MinTargetCapacity": 20 }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 8 : Lancer des instances avec plusieurs modèles de lancement
Vous pouvez configurer une flotte pour lancer des instances avec des spécifications de lancement différentes pour différents types d’instance ou un groupe de types d’instance, en spécifiant plusieurs modèles de lancement. Dans cet exemple, nous voulons avoir des tailles de EBS volume différentes pour différents types d'instances et cela est configuré dans les modèles de lancement ec2-fleet-lt-4xl, ec2-fleet-lt-9xl et ec2-fleet-lt-18xl.
Dans cet exemple, nous utilisons 3 modèles de lancement différents pour les 3 types d’instance en fonction de leur taille. Les remplacements de spécifications de lancement sur tous les modèles de lancement utilisent des pondérations d'instance basées vCPUs sur le type d'instance. La capacité cible totale est de 144 unités, l’option d’achat par défaut est Spot et la stratégie d’allocation Spot est optimisée pour la capacité. La EC2 flotte peut soit lancer 9 c5n.4xlarge (144 divisés par 16) en utilisant le modèle de lancement ec2-fleet-4xl, soit 4 c5n.9xlarge (144 divisés par 36) en utilisant le modèle de lancement ec2-fleet-9xl, soit 2 c5n.18xlarge (144 divisés par 72) en utilisant le modèle de lancement ec2-fleet-18xl, ou une combinaison de types d'instances avec des poids s'ajoutant à la capacité souhaitée en fonction du stratégie d'allocation optimisée en termes de capacité.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt-18xl", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5n.18xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":72 }, { "InstanceType":"c5n.18xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":72 }, { "InstanceType":"c5n.18xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":72 } ] }, { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt-9xl", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5n.9xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":36 }, { "InstanceType":"c5n.9xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":36 }, { "InstanceType":"c5n.9xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":36 } ] }, { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt-4xl", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5n.4xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":16 }, { "InstanceType":"c5n.4xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":16 }, { "InstanceType":"c5n.4xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":16 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 144, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 9 : Lancer des instances Spot avec une base d’instances à la demande
L’exemple suivant spécifie la capacité cible totale de 20 instances pour la flotte et une capacité cible de 5 instances à la demande. L’option d’achat par défaut est Spot. La flotte d’instances lance 5 instances à la demande comme spécifié, mais a besoin de lancer 15 instances supplémentaires pour assurer la capacité cible totale. L'option d'achat correspondant à la différence est calculée sous la forme TotalTargetCapacity — OnDemandTargetCapacity = DefaultTargetCapacityType, ce qui permet à la flotte de lancer 15 instances ponctuelles qui constituent l'un des 12 pools de capacités ponctuelles sur la base de la stratégie d'allocation optimisée pour les capacités.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "OnDemandTargetCapacity": 5, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 10 : Lancer des instances Spot à l’aide d’une stratégie d’allocation optimisée pour la capacité avec une base d’instances à la demande en utilisant des réservations de capacité et la stratégie d’allocation prioritaire
Vous pouvez configurer un parc pour utiliser les réservations de capacité à la demande d'abord lorsque vous lancez une base d'instances à la demande avec le type de capacité cible par défaut comme emplacement en définissant la stratégie d'utilisation pour les réservations de capacité sur use-capacity-reservations-first. Et si plusieurs groupes d’instances n’utilisent pas réservations de capacité, la stratégie d’allocation à la demande choisie est appliquée. Dans cet exemple, la stratégie d’allocation à la demande est prioritaire..
Dans cet exemple, il y a 6 réservations de capacité inutilisées disponibles. Cette capacité est inférieure à la capacité cible à la demande de la flotte de 10 instances à la demande.
Le compte dispose des 6 réservations de capacité suivantes inutilisées dans 2 groupes différents. Le nombre de réservations de capacité dans chaque pool est indiqué par AvailableInstanceCount.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" }
La configuration de flotte suivante affiche uniquement les configurations pertinentes pour cet exemple. La stratégie d'allocation à la demande est priorisée, et la stratégie d'utilisation des réservations de capacité l'est use-capacity-reservations-first. La stratégie d’allocation Spot utilisée est optimisé au niveau de la capacité La capacité cible totale est 20, la capacité cible à la demande est 10 et le type de capacité cible par défaut est spot.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "OnDemandOptions":{ "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" }, "AllocationStrategy":"prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380", "Priority": 1.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab", "Priority": 2.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922", "Priority": 3.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380", "Priority": 4.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab", "Priority": 5.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922", "Priority": 6.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380", "Priority": 7.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab", "Priority": 8.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922", "Priority": 9.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380", "Priority": 10.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab", "Priority": 11.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922", "Priority": 12.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "OnDemandTargetCapacity": 10, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Après avoir créé la flotte instantanée à l’aide de la configuration précédente, les 20 instances suivantes sont lancées pour atteindre la capacité cible :
-
7 instances à la demande c5.large dans us-east-1a ; c5.large dans us-east-1a est priorisé en premier et il y a 3 réservations de capacité c5.large inutilisées disponibles. Les réservations de capacité sont d’abord utilisées pour lancer 3 instances à la demande, puis 4 instances à la demande supplémentaires sont lancées selon la stratégie d’allocation à la demande, qui est prioritized dans cet exemple.
-
3 instances à la demande m5.large dans us-east-1a – m5.large dans us-east-1a est priorisé en second, et il y a 3 réservations de capacité c3.large inutilisées disponibles.
-
10 instances Spot issues de l’un des 12 groupes de capacités Spot ayant la capacité optimale selon la stratégie d’allocation optimisée pour cette capacité.
Une fois la flotte lancée, vous pouvez courir describe-capacity-reservationspour voir combien de réservations de capacité inutilisées restent. Dans cet exemple, vous devriez obtenir la réponse suivante, qui montre que toutes les réservations de capacité c5.large et m5.large ont été utilisées.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c5.large", "AvailableInstanceCount": 0 }
Exemple 11 : Lancer des instances ponctuelles à l'aide d' capacity-optimized-prioritized une stratégie d'allocation
L'exemple suivant spécifie les paramètres requis dans une EC2 flotte de type instantané : un modèle de lancement, une capacité cible, une option d'achat par défaut et des remplacements de modèles de lancement. Le modèle de lancement est identifié par son nom de modèle de lancement et son numéro de version. Les 12 spécifications de lancement qui remplacent le modèle de lancement ont 4 types d’instance différents avec une priorité assigned, et 3 sous-réseaux différents, chacun dans une zone de disponibilité distincte. La capacité cible du parc est de 20 instances, et l'option d'achat par défaut est le spot, ce qui amène le parc à tenter de lancer 20 instances ponctuelles à partir de l'un des 12 pools de capacités ponctuelles sur la base de la stratégie d' capacity-optimized-prioritized allocation, qui met en œuvre les priorités au mieux, mais optimise d'abord la capacité.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized-prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380", "Priority": 1.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab", "Priority": 1.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922", "Priority": 1.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380", "Priority": 2.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab", "Priority": 2.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922", "Priority": 2.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380", "Priority": 3.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab", "Priority": 3.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922", "Priority": 3.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380", "Priority": 4.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab", "Priority": 4.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922", "Priority": 4.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 12 : Spécifier un paramètre de Systems Manager au lieu d'un AMI ID
L'exemple suivant utilise un modèle de lancement pour spécifier la configuration des instances de la flotte. Dans cet exempleImageId
, au lieu de spécifier un AMI identifiant, le AMI est référencé par un paramètre System Manager. Au lancement de l'instance, le paramètre Systems Manager devient un AMI ID.
Dans cet exemple, le paramètre Systems Manager est spécifié dans un format valide :resolve:ssm:golden-ami
. Il existe d'autres formats valides pour le paramètre Systems Manager. Pour de plus amples informations, veuillez consulter Utiliser un paramètre Systems Manager au lieu d'un AMI ID.
Note
Le type de flotte doit être instant
. Les autres types de flotte ne permettent pas de spécifier un paramètre System Manager au lieu d'un AMI ID.
{ "LaunchTemplateData": { "ImageId": "resolve:ssm:golden-ami", "InstanceType": "
m5.4xlarge
", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key": "Name
", "Value": "webserver
" }] }] } }