Exemples de CLI configurations pour EC2 Fleet - Amazon Elastic Compute Cloud

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.

Exemples de CLI configurations pour EC2 Fleet

Vous pouvez définir la configuration de votre EC2 flotte dans un JSON fichier, puis référencer ce fichier à l'aide de la commande create-fleet AWS CLI commande 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 de EC2 Fleet. Pour plus d'informations sur les paramètres de configuration, voir create-fleet dans le AWS CLI Référence de commande.

Pour plus d'CLIexemples de flottes de typesinstant, voirConfigurer un type de EC2 flotte instant.

Exemple 1 : Lancer instances Spot en tant qu’option d’achat par défaut

L'exemple suivant indique les paramètres minimaux requis dans une EC2 flotte : 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 instances à la demande en tant qu’option d’achat par défaut

L'exemple suivant indique les paramètres minimaux requis dans une EC2 flotte : 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 on-demand, ce qui entraîne le lancement par le parc d’instances de 2 Instances à la demande.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }

Exemple 3 : Lancer instances à la demande en tant que capacité principale

L’exemple suivant spécifie la capacité cible totale de 2 instances pour la flotte d’instances et une capacité cible de 1 instance à la demande. L’option d’achat par défaut est spot. Le flotte d’instances lance 1 instance à la demande comme spécifié, mais a besoin de lancer une instance supplémentaire pour assurer 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 des instances à la demande à l'aide de plusieurs réservations de capacité

Vous pouvez configurer une flotte pour qu’elle utilise d’abord Réservations de capacité à la demande lors du lancement d’Instances à la demande en définissant la stratégie d’utilisation des réservations de capacité sur use-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 instances à la demande

  • Total de réservations de capacité non utilisé : 15 (supérieur à la capacité cible à la demande de la flotte de 12 instances à la demande)

  • Nombre de groupes de réservations de capacité : 3 (m5.large, m4.xlarge, et m4.2xlarge)

  • Nombre de réservations de capacité par groupe : 5

  • Stratégie d’allocation à la demande : lowest-price (Lorsqu’il y a plusieurs réservations de capacité inutilisées dans plusieurs groupes d’instances, la flotte détermine les groupes dans lesquels lancer les instances à la demande en fonction de la stratégie d’allocation à la demande.)

    Notez que vous pouvez également utiliser la stratégie d’allocation prioritized au lieu de la stratégie d’allocation lowest-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 d’allocation à la demande est lowest-price. La stratégie d’utilisation des réservations de capacité est use-capacity-reservations-first.

Dans cet exemple, le prix des instance à la demande est :

  • 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 instances à la demande m5.large dans us-east-1am5.large dans us-east-1a est le prix le plus bas, et il y a 5 réservations de capacité m5.large disponibles inutilisés

  • 5 instances à la demande m4.xlarge dans us-east-1a – m4.xlarge dans us-east-1a est le prix suivant le plus bas, et il y a 5 réservations de capacité m4.xlarge disponibles inutilisés

  • 2 instances à la demande m4.2xlarge dans us-est-1a – m4.2xlarge dans us-east-1a est le troisième prix le plus bas, et il y a 5 réservations de capacité m4.2xlarge disponibles inutilisés dont seulement 2 sont nécessaires pour atteindre la capacité cible

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 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 des instances à la demande à 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 Réservations de capacité à la demande lors du lancement d’Instances à la demande en définissant la stratégie d’utilisation des réservations de capacité sur use-capacity-reservations-first. Cet exemple illustre comment la flotte sélectionne les grouesp d’instances dans lesquels lancer des instances à la demande 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 instances à la demande

  • Total de réservations de capacité non utilisé : 15 (inférieur à la capacité cible à la demande de la flotte de 16 instances à la demande)

  • Nombre de groupes de réservations de capacité : 3 (m5.large, m4.xlarge, et m4.2xlarge)

  • Nombre de réservations de capacité par groupe : 5

  • Stratégie d’allocation à la demande :lowest-price( Lorsque le nombre de réservations de capacité inutilisées est inférieur à la capacité cible à la demande, la flotte détermine les groupes dans lesquels lancer la capacité à la demande restante en fonction de la stratégie d’allocation à la demande.)

    Notez que vous pouvez également utiliser la stratégie d’allocation prioritized au lieu de la stratégie d’allocation lowest-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 d’allocation à la demande est lowest-price. La stratégie d’utilisation des réservations de capacité est use-capacity-reservations-first.

Dans cet exemple, le prix des instance à la demande est :

  • 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 instances à la demande m5.large dans us-east-1am5.large dans us-east-1a est le prix le plus bas, et il y a 5 réservations de capacité m5.large disponibles inutilisés Les réservations de capacité sont utilisées en premier afin de lancer 5 instances à la demande. Après l’utilisation des réservations de capacité m4.xlarge and m4.2xlarge restantes, une instance à la demande supplémentaire est lancée pour atteindre la capacité cible, conformément à la stratégie d’allocation à la demande, qui est lowest-price dans cet exemple.

  • 5 instances à la demande m4.xlarge dans us-east-1am4.xlarge dans us-east-1a est le prix suivant le plus bas, et il y a 5 réservations de capacité m4.xlarge disponibles inutilisés

  • 5 instances à la demande m4.2xlarge dans us-east-1am4.2xlarge dans us-east-1a est le troisième prix le plus bas, et il y a 5 réservations de capacité m4.2xlarge disponibles inutilisés

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 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 des instances à la demande à l'aide de réservations de capacité ciblées

Vous pouvez configurer une flotte pour qu’elle utilise targeted d’abord les réservations de capacité à la demande lors du lancement d’instances à la demande en paramétrant la stratégie d’utilisation des réservations de capacité sur use-capacity-reservations-first. Cet exemple illustre comment lancer des instances à la demande dans réservations de capacité targeted, où les attributs des réservations de capacité sont les mêmes, à l’exception de leurs zones de disponibilité (us-east-1a et us-east-1b). Il illustre également comment la flotte sélectionne les groupes d’instances dans lesquels lancer des instances à la demande 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 instances à la demande

  • Total de réservations de capacité targeted non utilisé : 6 (inférieur à la capacité cible à la demande de la flotte de 10 instances à la demande)

  • Nombre de groupes de réservations de capacité : 2 (us-east-1a et us-east-1b)

  • Nombre de réservations de capacité par groupe : 3

  • Stratégie d’allocation à la demande :lowest-price( Lorsque le nombre de réservations de capacité inutilisées est inférieur à la capacité cible à la demande, la flotte détermine les groupes dans lesquels lancer la capacité à la demande restante en fonction de la stratégie d’allocation à la demande.)

    Notez que vous pouvez également utiliser la stratégie d’allocation prioritized au lieu de la stratégie d’allocation lowest-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 instances à la demande à 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 d’allocation à la demande est lowest-price. La stratégie d’utilisation des réservations de capacité est use-capacity-reservations-first.

Dans cet exemple, le prix des instance à la demande pour c5.xlarge dans us-east-1 est 0,17 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": { "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 utilisées en premier lieu pour lancer 6 instances à la demande comme suit :

    • 3 instances à la demande sont lancées dans les 3 réservations de capacité c5.xlarge targeted dans us-east-1a

    • 3 instances à la demande sont lancées dans les 3 réservations de capacité c5.xlarge targeted dans us-east-1b

  • Pour atteindre la capacité cible, 4 instances à la demande supplémentaires sont lancées dans la capacité à la demande régulière selon la stratégie d’allocation à la demande, qui est lowest-price dans cet exemple. Toutefois, étant donné que les groupes ont le même prix (car le prix est défini par Région et non par zone de disponibilité), la flotte lance les 4 instances à la demande restantes dans l’un ou l’autre des groupes.

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 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 des instances Spot de remplacement

L'exemple suivant configure le EC2 parc pour lancer une instance ponctuelle de remplacement lorsqu'Amazon EC2 émet une recommandation de rééquilibrage pour une instance ponctuelle du parc. 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 des capacités dépend du nombre de pools de capacités ponctuels spécifiés dans la demande de EC2 flotte. 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 les éléments à prendre en compte lors de la configuration d'un EC2 parc pour le rééquilibrage des capacités, consultezUtilisez le rééquilibrage des capacités dans le EC2 parc et le parc ponctuel 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 ponctuelles dans un parc à capacité optimisée

L'exemple suivant montre comment configurer une EC2 flotte avec une stratégie d'allocation ponctuelle 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 EC2 flotte tente de lancer 50 instances ponctuelles dans le pool de capacités ponctuelles avec une capacité optimale compte tenu du nombre d'instances en cours de lancement.

{ "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 ponctuelles dans un parc à capacité optimisée avec des priorités

L'exemple suivant montre comment configurer une EC2 flotte avec une stratégie d'allocation ponctuelle qui optimise la capacité tout en utilisant la priorité au mieux.

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. EC2La flotte optimisera d'abord la capacité, mais respectera les priorités dans la mesure du possible (par exemple, si le respect des priorités n'affecte pas de manière significative la capacité de la EC2 flotte à 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 EC2 flotte tente de lancer 50 instances ponctuelles dans le pool de capacités ponctuelles avec la priorité la plus élevée, dans la mesure du possible, 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 ponctuelles dans une price-capacity-optimized flotte

L'exemple suivant montre comment configurer une EC2 flotte avec une stratégie d'allocation ponctuelle qui optimise à la fois 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 EC2 flotte tente de lancer 50 instances ponctuelles dans le pool de capacités ponctuelles avec une capacité optimale compte tenu du nombre d'instances lancées, tout en choisissant le pool 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 : Configuration de la sélection du type d'instance basée sur les attributs

L'exemple suivant montre comment configurer un EC2 parc de manière à utiliser la sélection de type d'instance basée sur les 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— 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.

{ "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" }