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.
Exemple de configurations CLI pour la flotte EC2
Vous pouvez définir la configuration de votre flotte EC2 dans un fichier JSON, puis référencer ce fichier à l’aide de la commande create-fleet pour créer votre flotte, comme suit :
aws ec2 create-fleet --cli-input-json file://file_name.json
Les exemples suivants illustrent les configurations de lancement pour différents cas d’utilisation d’EC2 Fleet. Pour plus d’informations sur les paramètres de configuration, consultez la section create-fleet.
Exemples
Exemple 1 : Lancer instances Spot en tant qu’option d’achat par défaut
Exemple 2 : lancer On-Demand des instances comme option d'achat par défaut
Exemple 3 : Lancer On-Demand des instances en tant que capacité principale
Exemple 4 : Lancer On-Demand des instances à l'aide de plusieurs réservations de capacité
Exemple 6 : Lancer On-Demand des instances à l'aide de réservations de capacité ciblées
Exemple 7 : Configurer le rééquilibrage de capacité pour lancer les instances Spot de remplacement
Exemple 8 : lancer des instances Spot dans une flotte optimisée pour la capacité
Exemple 9 : lancer des instances Spot dans une flotte optimisée pour la capacité avec des priorités
Exemple 10 : lancer des instances Spot dans une flotte optimisée pour le prix et la capacité
Exemple 11 : configurer la sélection de type d’instance basée sur des attributs
Pour plus d’exemples de CLI pour des flottes de typesinstant, consultezConfigurer une flotte EC2 de type instant.
Exemple 1 : Lancer instances Spot en tant qu’option d’achat par défaut
L’exemple suivant spécifie les paramètres minimum requis dans une flotte EC2 : un modèle de lancement, une capacité cible et une option d’achat par défaut. Le modèle de lancement est identifié par son ID de modèle de lancement et son numéro de version. La capacité cible du parc d’instances est de 2 instances et l’option d’achat par défaut est spot, ce qui entraîne le lancement par le parc d’instances de 2 Instances Spot.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }
Exemple 2 : lancer On-Demand des instances comme option d'achat par défaut
L’exemple suivant spécifie les paramètres minimum requis dans une flotte EC2 : un modèle de lancement, une capacité cible et une option d’achat par défaut. Le modèle de lancement est identifié par son ID de modèle de lancement et son numéro de version. La capacité cible de la flotte est de 2 instances, et l'option d'achat par défaut eston-demand, ce qui entraîne le lancement de 2 On-Demand instances par la flotte.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }
Exemple 3 : Lancer On-Demand des instances en tant que capacité principale
L'exemple suivant spécifie la capacité cible totale de 2 instances pour la flotte et une capacité cible de 1 On-Demand instance. L’option d’achat par défaut est spot. La flotte lance 1 On-Demand instance comme spécifié, mais doit en lancer une de plus pour atteindre la capacité cible totale. L’option d’achat pour la différence est calculée comme TotalTargetCapacity - OnDemandTargetCapacity = DefaultTargetCapacityType, ce qui entraîne le lancement d’1 instance Spot par la flotte.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "OnDemandTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } }
Exemple 4 : Lancer On-Demand des instances à l'aide de plusieurs réservations de capacité
Vous pouvez configurer une flotte pour qu'elle utilise d'abord les réservations de On-Demand capacité lors du lancement d' On-Demand instances en définissant la stratégie d'utilisation des réservations de capacité suruse-capacity-reservations-first. Cet exemple montre comment la flotte sélectionne les réservations de capacité à utiliser lorsqu’il y a plus de réservations de capacité que nécessaire pour atteindre la capacité cible.
Dans cet exemple, la configuration de la flotte est la suivante :
-
Capacité cible : 12 On-Demand instances
-
Nombre total de réservations de capacité non utilisées : 15 (plus que la capacité cible de la flotte de 12 On-Demand instances)
-
Nombre de groupes de réservations de capacité : 3 (
m5.large,m4.xlarge, etm4.2xlarge) -
Nombre de réservations de capacité par groupe : 5
-
On-Demand stratégie d'allocation :
lowest-price(Lorsqu'il existe plusieurs réservations de capacité inutilisées dans plusieurs pools d'instances, la flotte détermine les pools dans lesquels lancer les On-Demand instances en fonction de la stratégie On-Demand d'allocation.)Notez que vous pouvez également utiliser la stratégie d’allocation
prioritizedau lieu de la stratégie d’allocationlowest-price.
Réserve de capacité
Le compte a les 15 réservations de capacité suivants inutilisés dans 3 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": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }
Fleet configuration (Configuration de la flotte)
La configuration de flotte suivante affiche uniquement les configurations pertinentes pour cet exemple. La capacité totale cible est 12 et le type de capacité cible par défaut est on-demand. La stratégie On-Demand d'allocation estlowest-price. La stratégie d’utilisation des réservations de capacité est use-capacity-reservations-first.
Dans cet exemple, le prix de l' On-Demand instance est le suivant :
-
m5.large– 0,096 dollars par heure -
m4.xlarge– 0,20 dollars par heure -
m4.2xlarge– 0,40 dollars par heure
Note
Le type de flotte doit être instant. Les autres types de flotte ne prennent pas en charge use-capacity-reservations-first.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-abc1234567example", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant" }
Après avoir créé la flotte instant à l’aide de la configuration précédente, les 12 instances suivantes sont lancées pour atteindre la capacité cible :
-
5
m5.largeOn-Demand instances entrantesus-east-1acorrespondentm5.largeau prixus-east-1ale plus bas, et il y a 5 réservations dem5.largecapacité non utilisées disponibles -
5
m4.xlargeOn-Demand instances dans us-east-1a —m4.xlargeinus-east-1acorrespond au prix le plus bas suivant, et 5 réservations de capacité non utilisées sont disponiblesm4.xlarge -
2
m4.2xlargeOn-Demand instances dans us-east-1a —m4.2xlargeinus-east-1acorrespond au troisième prix le plus bas, et 5 réservations dem4.2xlargecapacité inutilisées sont disponibles, dont 2 seulement sont nécessaires pour atteindre la capacité cible
Une fois la flotte lancée, vous pouvez exécuter describe-capacity-reservations pour voir combien il reste de Réservations de capacité inutilisés. Dans cet exemple, vous devriez voir la réponse suivante, qui montre que tous les réservations de capacité m5.large et m4.xlarge ont été utilisés, avec 3 réservations de capacité m4.2xlarge restants inutilisés.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 3 }
Exemple 5 : Lancer On-Demand des instances à l'aide de réservations de capacité lorsque la capacité cible totale dépasse le nombre de réservations de capacité non utilisées
Vous pouvez configurer une flotte pour qu'elle utilise d'abord les réservations de On-Demand capacité lors du lancement d' On-Demand instances en définissant la stratégie d'utilisation des réservations de capacité suruse-capacity-reservations-first. Cet exemple montre comment la flotte sélectionne les pools d'instances dans lesquels lancer des On-Demand instances lorsque la capacité cible totale dépasse le nombre de réservations de capacité non utilisées disponibles.
Dans cet exemple, la configuration de la flotte est la suivante :
-
Capacité cible : 16 On-Demand instances
-
Nombre total de réservations de capacité non utilisées : 15 (moins que la capacité cible de la flotte de 16 On-Demand instances)
-
Nombre de groupes de réservations de capacité : 3 (
m5.large,m4.xlarge, etm4.2xlarge) -
Nombre de réservations de capacité par groupe : 5
-
On-Demand stratégie d'allocation :
lowest-price(Lorsque le nombre de réservations de capacité inutilisées est inférieur à la capacité On-Demand cible, la flotte détermine les pools dans lesquels lancer la On-Demand capacité restante en fonction de la stratégie On-Demand d'allocation.)Notez que vous pouvez également utiliser la stratégie d’allocation
prioritizedau lieu de la stratégie d’allocationlowest-price.
Réserve de capacité
Le compte a les 15 réservations de capacité suivants inutilisés dans 3 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": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }
Fleet configuration (Configuration de la flotte)
La configuration de flotte suivante affiche uniquement les configurations pertinentes pour cet exemple. La capacité cible totale est 16 et le type de capacité cible par défaut est on-demand. La stratégie On-Demand d'allocation estlowest-price. La stratégie d’utilisation des réservations de capacité est use-capacity-reservations-first.
Dans cet exemple, le prix de l' On-Demand instance est le suivant :
-
m5.large – 0,096 USD par heure
-
m4.xlarge – 0,20 USD par heure
-
m4.2xlarge – 0,40 USD par heure
Note
Le type de flotte doit être instant. Les autres types de flotte ne prennent pas en charge use-capacity-reservations-first.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }
Après avoir créé la flotte instant à l’aide de la configuration précédente, les 16 instances suivantes sont lancées pour atteindre la capacité cible :
-
6
m5.largeOn-Demand instancesus-east-1aentrantesm5.largecorrespondent auus-east-1aprix le plus bas, et 5 réservations dem5.largecapacité non utilisées sont disponibles. Les réservations de capacité sont d'abord utilisées pour lancer 5 On-Demand instances. Une fois les réservations restantesm4.xlargeet les réservations dem4.2xlargecapacité utilisées, pour atteindre la capacité cible, une On-Demand instance supplémentaire est lancée conformément à la stratégie d' On-Demand allocation, présentéelowest-pricedans cet exemple. -
5
m4.xlargeOn-Demand instances entrantesus-east-1acorrespondentm4.xlargeau prixus-east-1ale plus bas suivant, et il y a 5 réservations dem4.xlargecapacité non utilisées disponibles -
5
m4.2xlargeOn-Demand instances entrantesus-east-1aus-east-1aconstituentm4.2xlargele troisième prix le plus bas, et il y a 5 réservations dem4.2xlargecapacité non utilisées disponibles
Une fois la flotte lancée, vous pouvez exécuter describe-capacity-reservations pour voir combien il reste de Réservations de capacité inutilisés. Dans cet exemple, vous devriez voir la réponse suivante, qui montre que tous les Réservations de capacité de tous les groupes ont été utilisés.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 0 }
Exemple 6 : Lancer On-Demand des instances à l'aide de réservations de capacité ciblées
Vous pouvez configurer une flotte pour qu'elle utilise d'abord les réservations de targeted On-Demand capacité lors du lancement d' On-Demand instances en définissant la stratégie d'utilisation des réservations de capacité suruse-capacity-reservations-first. Cet exemple montre comment lancer des On-Demand instances dans des réservations de targeted capacité, où les attributs des réservations de capacité sont les mêmes à l'exception de leurs zones de disponibilité (us-east-1aetus-east-1b). Il montre également comment la flotte sélectionne les pools d'instances dans lesquels lancer des On-Demand instances lorsque la capacité cible totale dépasse le nombre de réservations de capacité non utilisées disponibles.
Dans cet exemple, la configuration de la flotte est la suivante :
-
Capacité cible : 10 On-Demand instances
-
Nombre total
targetedde réservations de capacité non utilisées : 6 (moins que la capacité On-Demand cible de 10 On-Demand instances de la flotte) -
Nombre de groupes de réservations de capacité : 2 (
us-east-1aetus-east-1b) -
Nombre de réservations de capacité par groupe : 3
-
On-Demand stratégie d'allocation :
lowest-price(Lorsque le nombre de réservations de capacité inutilisées est inférieur à la capacité On-Demand cible, la flotte détermine les pools dans lesquels lancer la On-Demand capacité restante en fonction de la stratégie On-Demand d'allocation.)Notez que vous pouvez également utiliser la stratégie d’allocation
prioritizedau lieu de la stratégie d’allocationlowest-price.
Pour obtenir une démonstration pas à pas des procédures que vous devez effectuer pour exécuter cet exemple, veuillez consulter Tutoriel : configurer EC2 Fleet pour lancer des On-Demand instances à l'aide de réservations de capacité ciblées.
Réserve de capacité
Le compte a les 6 réservations de capacité suivants inutilisés dans 2 groupes différents. Dans cet exemple, les groupes diffèrent selon leurs zones de disponibilité. Le nombre de Réservations de capacité dans chaque pool est indiqué par AvailableInstanceCount.
{ "CapacityReservationId": "cr-111", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1b", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" }
Fleet configuration (Configuration de la flotte)
La configuration de flotte suivante affiche uniquement les configurations pertinentes pour cet exemple. La capacité cible totale est 10 et le type de capacité cible par défaut est on-demand. La stratégie On-Demand d'allocation estlowest-price. La stratégie d’utilisation des réservations de capacité est use-capacity-reservations-first.
Dans cet exemple, le prix de l' On-Demand instance pour c5.xlarge in us-east-1 est de 0,17$ par heure.
Note
Le type de flotte doit être instant. Les autres types de flotte ne prennent pas en charge use-capacity-reservations-first.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "c5.xlarge", "AvailabilityZone": "us-east-1a" }, { "InstanceType": "c5.xlarge", "AvailabilityZone": "us-east-1b" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity":10, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant" }
Après avoir créé la flotte instant à l’aide de la configuration précédente, les 10 instances suivantes sont lancées pour atteindre la capacité cible :
-
Les réservations de capacité sont d'abord utilisées pour lancer 6 On-Demand instances comme suit :
-
3 On-Demand instances sont lancées dans les 3 réservations
c5.xlargetargetedde capacité dansus-east-1a -
3 On-Demand instances sont lancées dans les 3 réservations
c5.xlargetargetedde capacité dansus-east-1b
-
-
Pour atteindre la capacité cible, 4 On-Demand instances supplémentaires sont lancées à On-Demand capacité normale conformément à la stratégie On-Demand d'allocation, qui est présentée
lowest-pricedans cet exemple. Cependant, comme le prix des pools est le même (parce que le prix est par région et non par zone de disponibilité), la flotte lance les 4 On-Demand instances restantes dans l'un des pools.
Une fois la flotte lancée, vous pouvez exécuter describe-capacity-reservations pour voir combien il reste de Réservations de capacité inutilisés. Dans cet exemple, vous devriez voir la réponse suivante, qui montre que tous les Réservations de capacité de tous les groupes ont été utilisés.
{ "CapacityReservationId": "cr-111", "InstanceType": "c5.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c5.xlarge", "AvailableInstanceCount": 0 }
Exemple 7 : Configurer le rééquilibrage de capacité pour lancer les instances Spot de remplacement
L’exemple suivant configure la flotte EC2 pour lancer une instance Spot de remplacement lorsqu’Amazon EC2 émet une recommandation de rééquilibrage pour une instance Spot dans la flotte. Pour configurer le remplacement automatique de Instances Spot, pour ReplacementStrategy, spécifiez launch-before-terminate. Pour configurer le délai entre le lancement des nouvelles instances Spot de remplacement et le moment où les anciennes instances Spot sont automatiquement supprimées, pour termination-delay, spécifiez une valeur en secondes. Pour de plus amples informations, veuillez consulter Options de configuration.
Note
Nous vous recommandons d’utiliser launch-before-terminate uniquement si vous pouvez prédire en combien de temps les procédures d’arrêt de vos instances seront terminées, de sorte que les anciennes instances ne soient terminées qu’une fois ces procédures terminées. Toutes les instances en cours d’exécution vous sont facturées.
L’efficacité de la stratégie de rééquilibrage de capacité dépend du nombre de groupes de capacités Spot spécifiés dans la demande de flotte EC2. Nous vous recommandons de configurer le parc avec un ensemble diversifié de types d’instance et de zones de disponibilité, et pour AllocationStrategy, spécifiez capacity-optimized. Pour plus d’informations sur ce que vous devez prendre en compte lors de la configuration d’un Flotte EC2 pour le rééquilibrage de capacité, reportez-vous à la section Utilisez le rééquilibrage des capacités dans la flotte EC2 et le parc Spot pour remplacer les instances ponctuelles à risque.
{ "ExcessCapacityTerminationPolicy": "termination", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "c3.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c4.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 5, "DefaultTargetCapacityType": "spot" }, "SpotOptions": { "AllocationStrategy": "capacity-optimized", "MaintenanceStrategies": { "CapacityRebalance": { "ReplacementStrategy": "launch-before-terminate", "TerminationDelay": "720" } } } }
Exemple 8 : lancer des instances Spot dans une flotte optimisée pour la capacité
L’exemple suivant montre comment configurer une flotte EC2 avec une stratégie d’allocation Spot qui optimise la capacité. Pour optimiser la capacité, vous devez définir AllocationStrategy sur capacity-optimized.
Dans l’exemple suivant, les trois spécifications de lancement spécifient trois groupes de capacités Spot. La capacité cible est de 50 instances Spot. La flotte EC2 tente de lancer 50 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": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "DefaultTargetCapacityType": "spot" } }
Exemple 9 : lancer des instances Spot dans une flotte optimisée pour la capacité avec des priorités
L’exemple suivant montre comment configurer une flotte EC2 avec une stratégie d’allocation Spot qui optimise la capacité tout en utilisant la priorité sur la base du meilleur effort.
Lors de l’utilisation de la stratégie d’allocation capacity-optimized-prioritized, vous pouvez utiliser le paramètre Priority pour spécifier les priorités des groupes de capacités Spot, où plus le nombre est faible, plus la priorité est élevée. Vous pouvez également définir la même priorité pour plusieurs groupes de capacités Spot si vous les privilégiez également. Si vous ne définissez pas de priorité pour un groupe, le groupe sera considéré comme le dernier en termes de priorité.
Pour hiérarchiser les groupes de capacités Spot, vous devez définir AllocationStrategy sur capacity-optimized-prioritized. La flotte EC2 optimisera d’abord la capacité, mais respectera les priorités sur la base du meilleur effort (par exemple, si le respect des priorités n’affecte pas de manière significative la capacité de la flotte EC2 à fournir une capacité optimale). C’est une bonne option pour les charges de travail pour lesquelles la possibilité de perturbation doit être minimisée, mais la priorité de certains types d’instances est également importante.
Dans l’exemple suivant, les trois spécifications de lancement spécifient trois groupes de capacités Spot. Chaque groupe est classé par ordre de priorité, où plus le nombre est faible, plus la priorité est élevée. La capacité cible est de 50 instances Spot. La flotte EC2 tente de lancer 50 instances Spot dans le groupe de capacités Spot avec la priorité la plus élevée sur la base du meilleur effort, mais optimise d’abord la capacité.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized-prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Priority": 1, "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Priority": 2, "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Priority": 3, "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "DefaultTargetCapacityType": "spot" }
Exemple 10 : lancer des instances Spot dans une flotte optimisée pour le prix et la capacité
L’exemple suivant montre comment configurer une flotte EC2 avec une stratégie d’allocation Spot qui optimise la capacité et le prix le plus bas. Pour optimiser la capacité tout en tenant compte du prix, vous devez définir le Spot AllocationStrategy sur price-capacity-optimized.
Dans l’exemple suivant, les trois spécifications de lancement spécifient trois groupes de capacités Spot. La capacité cible est de 50 instances Spot. La flotte EC2 tente de lancer 50 instances Spot dans le groupe de capacités Spot avec une capacité optimale pour le nombre d’instances qui sont lancées, tout en choisissant également le groupe le moins cher.
{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized", "MinTargetCapacity": 2, "SingleInstanceType": true }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "OnDemandTargetCapacity":0, "SpotTargetCapacity":50, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Exemple 11 : configurer la sélection de type d’instance basée sur des attributs
L’exemple suivant montre comment configurer une flotte EC2 pour qu’elle utilise la sélection de type d’instance basée sur des attributs pour identifier les types d’instance. Pour spécifier les attributs d’instance requis, vous devez les spécifier dans la structure InstanceRequirements.
Dans l’exemple suivant, deux attributs d’instance sont spécifiés :
-
VCpuCount: au moins 2 vCPU sont spécifiés. 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.
Tout type d’instance doté d’au moins 2 vCPU et d’au moins 4 Mio de mémoire sera identifié. Toutefois, la protection des prix et la stratégie d’allocation peuvent exclure certains types d’instances lorsque la flotte EC2 alloue la flotte.
Pour obtenir une liste et une description de tous les attributs possibles que vous pouvez spécifier, consultez le InstanceRequirements manuel Amazon EC2 API Reference.
{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized" }, "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min":12}, "MemoryMiB": { "Min":4} } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity":20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }