Utilisez une flotte EC2 de type ’instantané’ - 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.

Utilisez une flotte EC2 de type ’instantané’

La flotte EC2 de type instantané est une demande synchrone unique qui ne réalise qu’une seule tentative de lancement de la capacité souhaitée. La réponse de l’API liste les instances qui ont été lancées, ainsi que les erreurs liées aux instances qui n’ont pas pu être lancées. Il y a plusieurs bénéfices à utiliser une flotte EC2 de type instantané, qui sont décrits dans cet article. Des exemples de configurations sont fournis à la fin de l’article.

Pour les charges de travail qui nécessitent une API de lancement uniquement pour lancer des instances EC2, vous pouvez utiliser l'API. RunInstances 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 l' 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 flotte EC2 peut lancer des instances à la demande et/ou des instances Spot. 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 flotte EC2 de type instant, vous pouvez lancer des instances Spot en suivant les Spot best practices (Bonnes pratiques en matière d’instances Spot) avec les avantages qui en résultent :

    • 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. Une bonne pratique consiste à être flexible et à choisir au moins 10 types d’instances pour chaque charge de travail et à s’assurer que toutes les zones de disponibilité sont configurées pour être utilisées dans votre VPC.

    • 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. Étant donné que votre capacité d’instance Spot provient de groupes avec une capacité optimale, cela réduit la possibilité que vos instances Spot soient arrêtées pour être récupérées par Amazon EC2.

  • Get access to a wider set of capabilities. (Accédez à un ensemble plus large de fonctionnalités). Pour les charges de travail qui nécessitent une API de lancement uniquement et 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 instant de flotte EC2 plutôt que l'API. RunInstances EC2 Fleet fournit un ensemble de fonctionnalité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 ressources plus complet pour une plus grande variété de charges de travail, telles que les charges de travail basées sur ELB, les charges de travail conteneurisées et les tâches de traitement de file d’attente.

Vous pouvez utiliser la flotte d’EC2 de type instantané pour lancer des instances dans des blocs de capacité. Pour plus d’informations, consultez Tutoriel : Lancer des instances dans des blocs de capacité.

AWS des services tels qu'Amazon EC2 Auto Scaling et Amazon EMR utilisent EC2 Fleet de type instantané pour lancer des instances EC2.

Conditions préalables pour les flottes EC2 de type instantané

Pour connaître les conditions préalables à la création d’une flotte EC2, veuillez consulter Conditions préalables requises flotte EC2.

Comment fonctionne une flotte EC2 instantanée

Lorsque vous travaillez avec une flotte EC2 de type instant, la séquence d’événements est la suivante :

  1. Configurez le type de CreateFleetdemande commeinstant. Pour plus d’informations, consultez Créer une flotte EC2. Notez qu’après avoir effectué l’appel d’API, vous ne pouvez plus le modifier.

  2. Lorsque vous effectuez l’appel d’API, la flotte EC2 passe une demande unique synchrone de la capacité souhaitée.

  3. La réponse de l’API liste les instances qui ont été lancées, ainsi que les erreurs liées aux instances qui n’ont pas pu être lancées.

  4. Vous pouvez décrire votre flotte EC2, répertorier les instances associées à votre flotte EC2 et consulter l’historique de votre flotte EC2.

  5. 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.

  6. Vous pouvez résilier les instances à tout moment.

Exemples

Les exemples suivants montrent comment utiliser une flotte EC2 de type instant pour différents cas d’utilisation. Pour plus d'informations sur l'utilisation des paramètres de l' CreateFleet API EC2, consultez le CreateFleetmanuel Amazon EC2 API Reference.

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 une flotte EC2 de type instant : un modèle de lancement, une capacité cible, une option d’achat par défaut et des remplacements du modèle 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 appels d'API EC2 instant Fleet de type 1. TotalTargetCapacity

L’exemple suivant spécifie les paramètres requis dans une flotte EC2 de type instant : un modèle de lancement, une capacité cible, une option d’achat par défaut et des remplacements de modèle 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 du lancement répertorie un type d’instance différent et un poids différent en fonction du nombre d’unités de la charge de travail pouvant s’exécuter sur l’instance en supposant qu’une unité de la charge de travail nécessite 15 Go de mémoire et 4 vCPU. Par exemple, une instance m5.xlarge (4 vCPUs et 16 Go de mémoire) peut exécuter une unité et est pondérée 1, une instance m5.2xlarge (8 vCPUs et 32 Go de mémoire) peut exécuter 2 unités et est pondérée 2, et ainsi de suite. 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 plus d’informations, consultez Pondération d’instance flotte EC2.

{ "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 Spot 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 flotte EC2 lance 20 instances Spot, le toutes dans une seule AZ, à partir du ou des groupes de capacités Spot avec une capacité optimale en utilisant les 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 flotte EC2 lance 20 instances Spot du même type d’instance, le tout dans une seule AZ à partir du groupe d’instances Spot avec une capacité optimale en utilisant les 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 flotte EC2 lance 20 instances Spot à partir du groupe de capacités Spot avec une capacité optimale à l’aide des 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 flotte EC2 lance 20 instances Spot du même type d’instance, le tout dans une seule AZ à partir du groupe d’instances Spot avec une capacité optimale en utilisant les spécifications de lancement, mais uniquement si 20 instances peuvent être lancées 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 différentes tailles de volume EBS pour différents types d’instance et nous les avons configurées 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écification de lancement sur tous les modèles de lancement utilisent des pondérations d’instance basées sur les vCPU du 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 flotte EC2 peut soit lancer 9 c5n.4xlarge (144 divisé par 16) en utilisant le modèle de lancement ec2-fleet-4xl ou 4 c5n.9xlarge (144 divisé par 36) en utilisant le modèle de lancement ec2-fleet-9xl, ou 2 c5n.18xlarge (144 divisé par 72) en utilisant le modèle de lancement ec2-fleet-18xl, ou un mélange des types d’instances avec des pondérations totalisant la capacité souhaitée sur la base de la stratégie d’allocation optimisée pour la 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 qu'il utilise d'abord les réservations de capacité à la demande 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é à 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 flotte EC2 de type instant : un modèle de lancement, une capacité cible, une option d’achat par défaut et des remplacements de modèle 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" }