Exemples de configuration de Flotte EC2 - Amazon Elastic Compute Cloud

Exemples de configuration de Flotte EC2

Les exemples suivants montrent les configurations de lancement que vous pouvez utiliser avec la commande create-fleet pour créer une Flotte EC2. Pour plus d'informations sur les paramètres create-fleet consultez Référence du fichier de configuration JSON de Flotte EC2.

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 Instances à la demande 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 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 le parc d'instances et une capacité cible de 1 instance à la demande. L'option d'achat par défaut est spot. Le parc 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é comme TotalTargetCapacityOnDemandTargetCapacity = DefaultTargetCapacityType, ce qui entraîne le lancement par le parc d'instances de 1 instance Spot.

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

Exemple 4 : Lancer Instances Spot à l'aide de la stratégie d'attribution lowest-price

Si la stratégie d'allocation pour les Instances Spot n'est pas spécifiée, la stratégie d'allocation par défaut, à savoir lowest-price, est utilisée. L'exemple suivant utilise la stratégie d'attribution lowest-price. Les trois spécifications de lancement, qui remplacent le modèle de lancement, ont des types d'instance différents mais la même capacité pondérée et le même sous-réseau. La capacité cible totale est de 2 instances et l'option d'achat par défaut est spot. Le Flotte EC2 lance 2 Instances Spot en utilisant le type d'instance de la spécification de lancement au prix le plus bas.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c3.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

Exemple 5 : Lancer Instances à la demande en utilisant Réservations de capacité et la stratégie d'attribution prioritized

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 pour 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 prioritized.

Dans cet exemple, il y a 15 Réservations de capacité inutilisés disponibles. Ce chiffre est supérieur à la capacité à la demande cible de la flotte de 12 Instances à la demande.

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": "c4.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "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 prioritized, et la stratégie d'utilisation pour Réservations de capacité est use-capacity-reservations-first. La capacité totale cible est 12 et le type de capacité cible par défaut est on-demand.

Note

Le type de flotte doit être instant. Les Réservations de capacité ne sont pas pris en charge pour les autres types de flotte.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-1234567890abcdefg", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 1.0 }, { "InstanceType": "c3.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 2.0 }, { "InstanceType": "c5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 3.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "prioritized" "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 c4.large Instances à la demande dans us-east-1a – c4.large dans us-east-1a est priorisé en premier, et il y a 5 Réservations de capacité c4.large disponibles inutilisés

  • 5 c3.large Instances à la demande dans us-east-1a – c3.large dans us-east-1a est priorisé en second, et il y a 5 Réservations de capacité c3.large disponibles inutilisés

  • 2 c5.large Instances à la demande dans us-east-1a – c5.large dans us-east-1a est priorisé en troisième, et il y a 5 Réservations de capacité c5.large disponibles inutilisés, dont seulement 2 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é c4.large et c3.large ont été utilisés, avec 3 Réservations de capacité c5.large restants inutilisés.

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "AvailableInstanceCount": 3 }

Exemple 6 : Lancer Instances à la demande en utilisant Réservations de capacité et la stratégie d'attribution prioritized lorsque la capacité cible totale est supérieure au nombre de Réservations de capacité inutilisés

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 pour Réservations de capacité sur use-capacity-reservations-first. Et si le nombre de Réservations de capacité inutilisés est inférieur à la capacité cible à la demande, la capacité cible à la demande restante est lancée en fonction de la stratégie d'allocation à la demande choisie. Dans cet exemple, la stratégie d'allocation à la demande est prioritized.

Dans cet exemple, il y a 15 Réservations de capacité inutilisés disponibles. Cette capacité est inférieure à la capacité cible à la demande de la flotte de 16 Instances à la demande.

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": "c4.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-111", "InstanceType": "c3.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-111", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "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 prioritized, et la stratégie d'utilisation pour Réservations de capacité est use-capacity-reservations-first. La capacité cible totale est 16 et le type de capacité cible par défaut est on-demand.

Note

Le type de flotte doit être instant. Les Réservations de capacité ne sont pas pris en charge pour les autres types de flotte.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 1.0 }, { "InstanceType": "c3.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 2.0 }, { "InstanceType": "c5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 3.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "prioritized" "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 c4.large Instances à la demande dans us-east-1a – c4.large dans us-east-1a est priorisé en premier, et il y a 5 Réservations de capacité c4.large disponibles inutilisés. Les Réservations de capacité sont d’abord utilisés pour lancer 5 Instances à la demande, puis un instance à la demande supplémentaire est lancé selon la stratégie d'allocation à la demande, qui est prioritized dans cet exemple.

  • 5 c3.large Instances à la demande dans us-east-1a – c3.large dans us-east-1a est priorisé en second, et il y a 5 Réservations de capacité c3.large disponibles inutilisés

  • 5 c5.large Instances à la demande dans us-east-1a – c5.large dans us-east-1a est priorisé en troisième, et il y a 5 Réservations de capacité c5.large disponibles inutilisés

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": "c4.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "AvailableInstanceCount": 0 }

Exemple 7 : Lancer Instances à la demande en utilisant Réservations de capacité et la stratégie d'attribution lowest-price

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 pour 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 lowest-price.

Dans cet exemple, il y a 15 Réservations de capacité inutilisés disponibles. Ce chiffre est supérieur à la capacité à la demande cible de la flotte de 12 Instances à la demande.

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

La configuration de flotte suivante affiche uniquement les configurations pertinentes pour cet exemple. La stratégie d'allocation à la demande est lowest-price, et la stratégie d'utilisation pour Réservations de capacité est use-capacity-reservations-first. La capacité totale cible est 12 et le type de capacité cible par défaut est on-demand.

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

  • m5.large – 0,096 $par heure

  • m4.xlarge – 0,20 $par heure

  • m4.2xlarge – 0,40 $par heure

Note

Le type de flotte doit être instant. Les Réservations de capacité ne sont pas pris en charge pour les autres types de flotte.

{ "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": 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.large Instances à la demande dans us-east-1a – m5.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 m4.xlarge Instances à la demande dans us-east-1a – m4.xlarge dans us-east-1a est le prix le plus bas suivant, et il y a 5 Réservations de capacité m4.xlarge disponibles inutilisés

  • 2 m4.2xlarge Instances à la demande dans us-est-1a – m4.2xlarge en us-est-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 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 8 : Lancer Instances à la demande en utilisant Réservations de capacité et la stratégie d'attribution lowest-price lorsque la capacité cible totale est supérieure au nombre de Réservations de capacité inutilisés

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 pour Réservations de capacité sur use-capacity-reservations-first. Et si le nombre de Réservations de capacité inutilisés est inférieur à la capacité cible à la demande, la capacité cible à la demande restante est lancée en fonction de la stratégie d'allocation à la demande choisie. Dans cet exemple, la stratégie d'allocation à la demande est lowest-price.

Dans cet exemple, il y a 15 Réservations de capacité inutilisés disponibles. Cette capacité est inférieure à la capacité cible à la demande de la flotte de 16 Instances à la demande.

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

La configuration de flotte suivante affiche uniquement les configurations pertinentes pour cet exemple. La stratégie d'allocation à la demande est lowest-price, et la stratégie d'utilisation pour Réservations de capacité est use-capacity-reservations-first. La capacité cible totale est 16 et le type de capacité cible par défaut est on-demand.

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

  • m5.large – 0,096 $par heure

  • m4.xlarge – 0,20 $par heure

  • m4.2xlarge – 0,40 $par heure

Note

Le type de flotte doit être instant. Les Réservations de capacité ne sont pas pris en charge pour les autres types de flotte.

{ "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.large Instances à la demande dans us-east-1a – m5.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 d’abord utilisés pour lancer 5 Instances à la demande, puis un instance à la demande supplémentaire est lancé selon la stratégie d'allocation à la demande, qui est lowest-price dans cet exemple.

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

  • 5 m4.2xlarge Instances à la demande dans us-east-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 inutilisés 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 }