

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.

# Spot instances
<a name="using-spot-instances"></a>

Une instance Spot est une instance qui utilise la capacité EC2 inutilisée disponible à un prix inférieur au prix d’une A la demande. Comme une instances Spot vous permet de demander des instances EC2 inutilisées avec de fortes remises, vous pouvez réduire considérablement vos coûts Amazon EC2. Le prix horaire d’une instance Spot est appelé prix spot. Le prix Spot de chaque type d’instance dans chaque zone de disponibilité est défini par Amazon EC2 et varie en fonction de l’offre et de la demande à long terme pour les instances Spot. Votre instance Spot s’exécute chaque fois que la capacité est disponible.

Les instances Spot constituent un choix économique si vous êtes flexible quant au moment où vos applications s’exécutent et à la possibilité de les interrompre. Par exemple, les instances Spot sont particulièrement adaptées à l’analyse de données, aux travaux par lots, au traitement en arrière-plan et aux tâches facultatives. Pour plus d’informations, consultez [Amazon EC2 Instances Spot](https://aws.amazon.com/ec2/spot/).

Pour une comparaison des différentes options d’achat des instances EC2, consultez [Modalités de facturation et d'achat de l'Amazon EC2](instance-purchasing-options.md).

## Concepts
<a name="spot-features"></a>

Avant de commencer à utiliser les instances Spot, vous devez connaître les concepts suivants :
+ *Groupe de capacités Spot* – Un ensemble d’instances EC2 inutilisées avec le même type d’instance (par exemple, `m5.large`) et la même zone de disponibilité.
+ *Prix Spot* – Prix horaire actuel d’une instance Spot.
+ *Demande d’instance Spot* – Demande d’une instance Spot. Lorsque la capacité est disponible, Amazon EC2 répond à votre demande. Une demande d’instance Spot est soit *One-time* (Unique) soit *Persistent* (Persistante). Amazon EC2 soumet à nouveau automatiquement une demande d’Instance Spot persistante après que l’Instance Spot associée à la demande soit interrompue.
+ *Recommandation de rééquilibrage d’instance EC2* – Amazon EC2 émet un signal de recommandation de rééquilibrage d’instance pour vous avertir qu’une instance Spot présente un risque élevé d’interruption. Ce signal vous donne la possibilité de rééquilibrer de manière proactive vos charges de travail entre les instances Spot existantes ou nouvelles sans avoir à attendre l’avis d’interruption d’instance Spot deux minutes avant celle-ci.
+ *Spot Instance interruption* (Interruption d’instance Spot) – Amazon EC2 résilie, arrête ou met en veille prolongée votre instance Spot lorsque Amazon EC2 a besoin de récupérer la capacité. Amazon EC2 communique un avis d’interruption d’instance Spot, qui donne à l’instance un avertissement deux minutes avant qu’elle soit interrompue.

## Différences entre les instances Spot et les instances à la demande
<a name="key-differences-spot-on-demand"></a>

Le tableau suivant répertorie les principales différences entre les instances Spot et les [instances à la demande](ec2-on-demand-instances.md).


|  | Spot instances | On-Demand instances | 
| --- | --- | --- | 
|  Heure de lancement  |  Ne peut être lancée immédiatement que si la demande d’instance Spot est active et la capacité disponible.  |  Peut uniquement être lancé immédiatement si vous émettez une demande de lancement manuel et que la capacité est disponible.  | 
|  Capacité disponible  |  Si la capacité n’est pas disponible, la demande d’instance Spot continue à effectuer automatiquement la demande de lancement jusqu’à ce que la capacité devienne disponible.  |  Si la capacité n’est pas disponible lorsque vous effectuez une demande de lancement, vous obtenez une erreur de capacité insuffisante (ICE).  | 
|  Tarif horaire  |  Le prix horaire pour les instances Spot varie en fonction de l’offre et de la demande à long terme.  |  Le prix horaire pour les instances à la demande est statique.  | 
| Recommandation de rééquilibrage | Le signal émis par Amazon EC2 pour une instance Spot exécutée lorsque l’instance présente un risque élevé d’interruption. | Vous déterminez le moment où une instance à la demande est interrompue (arrêtée, mise en veille prolongée ou résiliée). | 
|  Interruption d’instance  |  Vous pouvez arrêter et démarrer une instance Spot basée sur Amazon EBS. En outre, Amazon EC2 peut [interrompre](spot-interruptions.md) une instance Spot individuelle si la capacité n’est plus disponible.   |  Vous déterminez le moment où une instance à la demande est interrompue (arrêtée, mise en veille prolongée ou résiliée).  | 

## Tarification et économies
<a name="spot-pricing"></a>

Vous payez le prix spot des instances Spot qui est défini par Amazon EC2 et varie régulièrement en fonction de l’offre et de la demande à long terme pour les instances Spot. Vos Instances Spot sont exécutées jusqu’à ce que vous les résiliiez, dès que la capacité n’est plus disponible ou que votre groupe Amazon EC2 Auto Scaling les résilie durant la [mise à l’échelle horizontale](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in).

Si vous-même ou Amazon EC2 interrompez une instance Spot en cours d’exécution, vous serez facturé pour les secondes utilisées ou l’heure complète, ou vous ne serez pas facturé, selon le système d’exploitation utilisé et qui a interrompu l’instance Spot. Pour de plus amples informations, veuillez consulter [Facturation des instances Spot interrompues](billing-for-interrupted-spot-instances.md).

Les instances Spot sont exclues des Savings Plans. Si vous disposez d’un Savings Plans, il ne vous permet pas de réaliser des économies en plus de celles que vous réalisez déjà en utilisant les instances Spot. De plus, vos dépenses pour les instances Spot ne s’appliquent pas aux engagements de vos Compute Savings Plans.

### Consulter les tarifs
<a name="spot-pricing-view-prices"></a>

Pour connaître le prix spot le plus bas actuel (mis à jour toutes les cinq minutes) par type Région AWS d'instance, consultez la page de [tarification des instances ponctuelles Amazon EC2](https://aws.amazon.com/ec2/spot/pricing/).

Pour consulter l'historique des prix au comptant des trois derniers mois, utilisez la console Amazon EC2 ou la [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html)commande. Pour de plus amples informations, veuillez consulter [Affichez l’historique de tarification d’instance Spot](using-spot-instances-history.md).

Nous mappons indépendamment les zones de disponibilité aux codes de chacune d'entre elles Compte AWS. Par conséquent, vous pouvez obtenir des résultats variables pour un même code de zone de disponibilité (par exemple, `us-west-2a`) entre différents comptes.

### Consulter les économies
<a name="spot-pricing-view-savings"></a>

Vous pouvez afficher les économies réalisées grâce à l’utilisation d’instances Spot pour un seul [parc d’instances Spot](Fleets.md) ou pour toutes les instances Spot. Vous pouvez consulter les économies réalisées au cours de la dernière heure ou des trois derniers jours, ainsi que le coût moyen par heure vCPU et par heure de mémoire (Gio). Les économies sont des estimations et peuvent différer de vos économies réelles, car elles ne tiennent pas compte des ajustements de facturation en fonction de votre utilisation. Pour plus d’informations sur la consultation des informations sur les économies, consultez [Économies réalisées grâce à l’achat d’instances Spot](spot-savings.md).

### Consulter les factures
<a name="spot-pricing-view-billing"></a>

Votre facture fournit des détails sur votre utilisation du service. Pour plus d’informations, consultez la section [Viewing your bill](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html) (Affichage d’une facture) dans le *Guide de l’utilisateur AWS Billing *.

# Bonnes pratiques relatives à Amazon EC2 Spot
<a name="spot-best-practices"></a>

Amazon EC2 permet d'accéder à une capacité de calcul EC2 inutilisée AWS Cloud via des instances Spot, ce qui permet de réaliser des économies allant jusqu'à 90 % par rapport aux prix à la demande. La seule différence entre les instances à la demande et les instances Spot est que les instances Spot peuvent être interrompues par Amazon EC2, avec un préavis de deux minutes, si Amazon EC2 a besoin de récupérer la capacité. Pour garantir une expérience optimale avec les instances Spot, il est important de comprendre et d’appliquer les meilleures pratiques relatives à leur utilisation.

Les instances Spot sont recommandés pour les applications flexibles sans état, tolérantes aux pannes. Par exemple, instances Spot fonctionne bien pour le Big Data, les charges de travail conteneurisées, les CI/CD, les serveurs Web sans état, le calcul haute performance (HPC) et les charges de travail de rendu.

En cours d’exécution, les instances Spot sont exactement les mêmes que instances à la demande. Toutefois, Spot ne garantit pas que vous pouvez conserver vos instances en cours d’exécution suffisamment longtemps pour terminer vos charges de travail. Spot ne garantit pas non plus que vous pouvez obtenir la disponibilité immédiate des instances que vous recherchez, ou que vous pouvez toujours obtenir la capacité globale que vous avez demandée. De plus, les interruptions et la capacité des instances Spot peuvent changer au fil du temps, car leur disponibilité varie en fonction de l’offre et de la demande, et les performances passées ne sont pas une garantie de résultats futurs.

Les instances Spot ne conviennent pas aux charges de travail inflexibles, dynamiques, intolérantes aux pannes ou étroitement couplées entre des nœuds d’instance. Nous ne recommandons pas les instances Spot pour les charges de travail qui ne tolèrent pas les périodes occasionnelles pendant lesquelles la capacité cible n’est pas entièrement disponible. Bien que le respect des meilleures pratiques Spot en matière de flexibilité des types d’instances et des zones de disponibilité donne toutes les chances d’obtenir une haute disponibilité, rien ne garantit que la capacité sera disponible, car l’augmentation de la demande d’instances à la demande peut perturber les charges de travail sur les instances Spot.

Il est fortement déconseillé d’utiliser des instances Spot pour ces charges de travail ou d’essayer de basculer sur des instances à la demande pour gérer les interruptions ou les périodes d’indisponibilité. Le passage à des instances à la demande peut entraîner des interruptions accidentelles de vos autres instances Spot. En outre, si des instances Spot correspondant à une combinaison spécifique de type d’instance et de zone de disponibilité sont interrompues, il peut s’avérer difficile d’obtenir des instances à la demande ayant cette même combinaison.

Que vous soyez un utilisateur Spot expérimenté ou un nouvel utilisateur des instances Spot, si vous rencontrez actuellement des problèmes avec les interruptions ou la disponibilité des instances Spot, nous vous recommandons de suivre ces bonnes pratiques pour bénéficier de la meilleure expérience d’utilisation du service Spot.

**Topics**
+ [Préparer des instances individuelles pour les interruptions](#prep-instances-for-interruptions)
+ [Soyez flexible en ce qui concerne les types d’instance et les zones de disponibilité](#be-instance-type-flexible)
+ [Utilisation d’une sélection de type d’instance basée sur des attributs](#use-attribute-based-instance-type-selection)
+ [Utiliser les scores de placement Spot pour identifier les régions et les zones de disponibilité optimales](#use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones)
+ [Utiliser les groupes Auto Scaling EC2 ou la flotte d’EC2 pour gérer votre capacité agrégée](#use-sf-asg-for-aggregate-capacity)
+ [Utiliser la stratégie d’allocation optimisée pour le prix et la capacité](#use-capacity-optimized-allocation-strategy)
+ [Utilisez AWS des services intégrés pour gérer vos instances Spot](#use-integrated-aws-services)
+ [Quelle est la meilleure méthode de demande Spot à utiliser ?](#which-spot-request-method-to-use)

## Préparer des instances individuelles pour les interruptions
<a name="prep-instances-for-interruptions"></a>

La meilleure façon pour vous de gérer fluidement les interruptions d’instance Spot consiste à concevoir votre application pour qu’elle soit tolérante aux pannes. Pour ce faire, vous pouvez tirer parti des recommandations de rééquilibrage d’instance EC2 et des avis d’interruption d’instance Spot.

Le signal de recommandation de rééquilibrage d’instance EC2 vous permet d’être averti lorsqu’une instance Spot présente un risque élevé d’interruption. Le signal vous donne la possibilité de gérer de manière proactive l’instance Spot avant son avis d’interruption à deux minutes. Vous pouvez décider de rééquilibrer votre charge de travail en une instances Spot nouvelle ou existante qui ne présente pas un risque élevé d’interruption. Nous vous avons facilité l’utilisation de ce signal en utilisant la fonctionnalité de rééquilibrage de capacité dans les groupes Auto Scaling et la flotte d’EC2. 

Un avis d’interruption d’instance Spot est un avertissement émis deux minutes avant qu’Amazon EC2 l’interrompe. Si votre charge de travail est « flexible dans le temps », vous pouvez configurer vos instances Spot pour qu’elles soient arrêtées ou mises en veille prolongée plutôt que résiliées lorsqu’elles sont interrompues. Amazon EC2 arrête ou met en veille automatiquement vos instances Spot lors de l’interruption et reprend automatiquement les instances lorsque nous disposons de la capacité disponible.

Nous vous recommandons de créer une règle dans [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/index.html) qui capture les recommandations de rééquilibrage et les notifications d'interruption, puis déclenche un point de contrôle pour suivre l'évolution de votre charge de travail ou gère correctement l'interruption. Pour de plus amples informations, veuillez consulter [Surveiller les signaux de recommandation de rééquilibrage](rebalance-recommendations.md#monitor-rebalance-recommendations). Pour obtenir un exemple détaillé qui vous explique comment créer et utiliser des règles d’événement, consultez [Tirer parti des avis d’interruption d’instance Spot Amazon EC2](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/).

Pour plus d’informations, consultez [Recommandations de rééquilibrage des instances EC2](rebalance-recommendations.md) et [Interruptions d’instance Spot](spot-interruptions.md).

## Soyez flexible en ce qui concerne les types d’instance et les zones de disponibilité
<a name="be-instance-type-flexible"></a>

Un groupe de capacités Spot est un ensemble d’instances EC2 inutilisées avec le même type d’instance (par exemple, `m5.large`) et la même zone de disponibilité (par exemple, us-east-1a). Vous devez être flexible quant aux types d’instance que vous demandez et aux zones de disponibilité dans lesquelles vous pouvez déployer votre charge de travail. Cela donne à Spot une meilleure chance de trouver et d’allouer la quantité requise de capacité de calcul. Par exemple, ne demandez pas simplement `c5.large` si vous seriez prêt à utiliser des larges des familles c4, m5 et m4.

En fonction de vos besoins spécifiques, vous pouvez évaluer les types d’instance que vous pouvez utiliser pour répondre à vos besoins de calcul. Si une charge de travail peut être redimensionnée verticalement, vous devez inclure des types d'instances plus importants (plus de v CPUs et de mémoire) dans vos demandes. Si vous ne pouvez évoluer qu’horizontalement, vous devez inclure des types d’instance de génération plus ancienne car ils sont moins demandés par les clients à la demande.

Une bonne règle générale est d’être flexible sur au moins 10 types d’instance pour chaque charge de travail. En outre, assurez-vous que toutes les zones de disponibilité sont configurées pour être utilisées dans votre VPC et sélectionnées pour votre charge de travail.

## Utilisation d’une sélection de type d’instance basée sur des attributs
<a name="use-attribute-based-instance-type-selection"></a>

Grâce à la sélection de type d’instance basée sur les attributs, vous pouvez préciser les attributs de l’instance, tels que les vCPU, la mémoire et le stockage, pour la charge de travail que vous souhaitez exécuter. EC2 Auto Scaling ou la flotte EC2 identifiera et lancera automatiquement les instances qui correspondent aux attributs que vous avez précisés. Cela élimine l’effort de sélection manuelle des types d’instance spécifiques, ce qui nécessite une compréhension approfondie de l’offre de chaque type d’instance.

En outre, la sélection des types d’instance basée sur les attributs vous permet d’utiliser automatiquement les nouveaux types d’instance dès qu’ils sont disponibles. Cela garantit un accès sans faille à une gamme de plus en plus large de capacités d’instances Spot.

La sélection de type d’instance basée sur les attributs est idéale pour les charges de travail et les cadres qui peuvent être flexibles quant aux types d’instance sur lesquels ils s’exécutent, tels que les charges de travail de calcul haute performance (HPC) et de big data.

Pour plus d’informations, consultez la section [Créer un groupe d’instances mixtes à l’aide de la sélection de type d’instance basée sur les attributs](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html) dans le *Guide de l’utilisateur Amazon EC2 Auto Scaling* et [Spécifiez des attributs pour la sélection de type d’instance pour la flotte EC2](ec2-fleet-attribute-based-instance-type-selection.md) dans ce guide.

## Utiliser les scores de placement Spot pour identifier les régions et les zones de disponibilité optimales
<a name="use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones"></a>

Les instances Spot sont des capacités EC2 inutilisées, qui varient en fonction de l’offre et de la demande EC2. Par conséquent, il se peut que vous n’obteniez pas toujours la capacité Spot exacte dont vous avez besoin à un endroit et à un moment précis. Pour atténuer cette imprévisibilité, vous pouvez utiliser la fonctionnalité de score de placement Spot. Cette fonctionnalité fournit des recommandations pour les régions ou les zones de disponibilité les plus susceptibles de disposer d’une capacité suffisante pour répondre à vos besoins en matière de capacité Spot, sans que vous ayez à lancer d’abord des instances Spot dans ces zones.

Il est préférable d’utiliser le score de placement Spot pour les charges de travail qui peuvent être flexibles quant aux types d’instances et à la région ou à la zone de disponibilité qu’elles peuvent utiliser. Il vous suffit de préciser la capacité Spot dont vous avez besoin, les exigences relatives au type d’instance et si vous souhaitez recevoir des recommandations de régions ou de zones de disponibilité. Vous recevez une note allant de 1 à 10 pour chaque région ou zone de disponibilité, indiquant la probabilité de provisionner avec succès la capacité Spot que vous avez demandée dans cet endroit. Un score de 10 indique que votre demande de Spot a de fortes chances d’aboutir.

Il est important de noter qu'un score de placement Spot est une point-in-time recommandation, car la capacité peut varier au fil du temps. La capacité disponible n’est pas garantie et le risque d’interruption n’est pas prévisible.

Vous pouvez utiliser la fonctionnalité Spot placement score de la console Amazon EC2 ou un SDK. AWS CLI Pour de plus amples informations, veuillez consulter [Score de placement Spot](spot-placement-score.md). 

## Utiliser les groupes Auto Scaling EC2 ou la flotte d’EC2 pour gérer votre capacité agrégée
<a name="use-sf-asg-for-aggregate-capacity"></a>

Spot vous permet de penser en termes de capacité agrégée, dans des unités comprenant des vCPUs, de la mémoire, du stockage ou du débit réseau, plutôt que de penser en termes d’instances individuelles. Les groupes Auto Scaling et la flotte d’EC2 vous permettent de lancer et de gérer une capacité cible, et de demander automatiquement des ressources pour remplacer celles qui sont interrompues ou résiliées manuellement. Lorsque vous configurez un groupe Auto Scaling ou une flotte d’EC2, il vous suffit de spécifier les types d’instance et la capacité cible en fonction des besoins de votre application. Pour plus d’informations, consultez la section [Groupes Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html) du *Amazon EC2 Auto Scaling Guide de l’utilisateur* et la section [Créer une flotte EC2](create-ec2-fleet.md) de ce guide de l’utilisateur.

## Utiliser la stratégie d’allocation optimisée pour le prix et la capacité
<a name="use-capacity-optimized-allocation-strategy"></a>

Les stratégies d’allocation dans les groupes Auto Scaling vous aident à provisionner votre capacité cible sans avoir à rechercher manuellement des groupes de capacités Spot avec une capacité de réserve. Nous vous recommandons d’utiliser la stratégie `price-capacity-optimized`, car elle alloue automatiquement les instances des groupes de capacités Spot les plus disponibles qui présentent également le prix le plus bas. Vous pouvez également profiter de la stratégie d’allocation `price-capacity-optimized` dans la flotte d’EC2. Étant donné que votre capacité d’instance Spot provient de pools avec une capacité optimale, cela réduit la possibilité que vos instances Spot soient demandées. Pour plus d’informations, consultez les sections [Stratégies d’allocation pour plusieurs types d’instance](https://docs.aws.amazon.com/autoscaling/ec2/userguide/allocation-strategies.html) dans le *Guide de l’utilisateur Amazon EC2 Auto Scaling* et [Lorsque les charges de travail ont un coût d’interruption élevé](ec2-fleet-allocation-strategy.md#ec2-fleet-strategy-capacity-optimized) de ce guide de l’utilisateur.

## Utilisez AWS des services intégrés pour gérer vos instances Spot
<a name="use-integrated-aws-services"></a>

D'autres AWS services s'intègrent à Spot pour réduire les coûts de calcul globaux sans qu'il soit nécessaire de gérer les instances ou les flottes individuelles. Nous vous recommandons d'envisager les solutions suivantes pour vos charges de travail applicables : Amazon EMR, Amazon Elastic Container Service AWS Batch, Amazon Elastic Kubernetes Service, Amazon AI et Amazon SageMaker AWS Elastic Beanstalk Servers. GameLift Pour plus d’informations sur les meilleures pratiques Spot avec ces services, consultez le [site Web sur les ateliers Amazon EC2 instances Spot](https://ec2spotworkshops.com/).

## Quelle est la meilleure méthode de demande Spot à utiliser ?
<a name="which-spot-request-method-to-use"></a>

Utilisez le tableau suivant pour déterminer quelle API utiliser pour les demandes d’instances Spot.


****  

| API | Quand l’utiliser ? | Cas d’utilisation | Devrais-je utiliser cette API ? | 
| --- | --- | --- | --- | 
|  [CreateAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  Créez un groupe Auto Scaling qui gère le cycle de vie de vos instances tout en gardant le nombre d’instances souhaité. Prend en charge la mise à l’échelle horizontale (ajout d’instances supplémentaires) entre les limites minimale et maximale spécifiées.  | Oui | 
| [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  Créez une flotte d’instances à la demande et d’instances Spot dans une seule demande, avec plusieurs spécifications de lancement qui varient selon le type d’instance, l’AMI, la zone de disponibilité ou le sous-réseau. La stratégie d’allocation d’instances Spot est définie par défaut sur `lowest-price` par unité, mais vous pouvez la modifier en `price-capacity-optimized`, `capacity-optimized` ou `diversified`.  |  Oui – en mode `instant` si vous n’avez pas besoin de scalabilité automatique  | 
| [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  Lancez un nombre spécifié d’instances en utilisant un AMI et un type d’instance.  |  Non, car il RunInstances n'autorise pas les types d'instances mixtes dans une seule demande  | 
| [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  NE PAS UTILISER. RequestSpotFleet est une ancienne API sans investissement planifié.   | Non | 
| [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  NE PAS UTILISER. RequestSpotInstances est une ancienne API sans investissement planifié.   | Non | 

# Fonctionnement des instances Spot
<a name="how-spot-instances-work"></a>

Pour lancer une instance Spot, vous devez créer une *Demande d’instance Spot*, ou qu’Amazon EC2 crée une demande d’instance Spot en votre nom. L’instance Spot se lance lorsque la demande d’instance Spot est remplie.

Vous pouvez lancer une instance Spot en utilisant plusieurs services différents. Pour plus d’informations, consultez [Mise en route avec les instances ponctuelles Amazon EC2](https://aws.amazon.com/ec2/spot/getting-started/). Dans ce guide de l’utilisateur, nous décrivons les façons suivantes de lancer une instance Spot à l’aide d’EC2 :
+ Vous pouvez créer une demande d’instance Spot à l’aide de l’[assistant de lancement d’instance](ec2-launch-instance-wizard.md) dans la console Amazon EC2 ou de la commande [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html). Pour de plus amples informations, veuillez consulter [Gérer vos instances Spot](using-spot-instances-request.md).
+ Vous pouvez créer une flotte EC2 dans laquelle vous spécifiez le nombre souhaité d’instances Spot. Amazon EC2 crée une demande d’instance Spot en votre nom pour chaque instance Spot spécifiée dans la flotte EC2. Pour plus d’informations, consultez [Créer une flotte EC2](create-ec2-fleet.md).
+ Vous pouvez créer une demande de parc d’instances Spot dans laquelle vous spécifiez le nombre d’instances Spot souhaité. Amazon EC2 crée une demande d’instance Spot en votre nom pour chaque instance Spot spécifiée dans la demande de parc d’instances Spot . Pour de plus amples informations, veuillez consulter [Créer une flotte Spot](create-spot-fleet.md).

Votre instance Spot est lancée si la capacité est disponible. Votre instance Spot s’exécute jusqu’à ce que vous l’arrêtiez ou la résiliiez, ou jusqu’à ce qu’Amazon EC2 l’interrompe (il s’agit d’une *interruption d’instance Spot*). Amazon EC2 peut arrêter, terminer ou hiberner une instance Spot lorsqu’il l’interrompt.

Lorsque vous utilisez des instances Spot, vous devez être prêt à des interruptions. Amazon EC2 peut interrompre votre instance Spot lorsque la demande d’instances Spot augmente ou lorsque l’offre d’instances Spot diminue. Lorsqu’Amazon EC2 interrompt une instance Spot, il communique un avis d’interruption d’instance Spot, ce qui avertit l’instance qu’Amazon EC2 va l’interrompe dans deux minutes. Vous ne pouvez pas activer la protection de la résiliation pour les instances Spot. Pour de plus amples informations, veuillez consulter [Interruptions d’instance Spot](spot-interruptions.md).

**Topics**
+ [États des demandes d’instance Spot](#creating-spot-request-status)
+ [Lancer une instances Spot dans un groupe de lancement](#spot-launch-group)
+ [Lancer une instances Spot dans un groupe de zone de disponibilité](#spot-az-group)
+ [Lancer une instances Spot dans un VPC](#concepts-spot-instances-vpcs)
+ [Lancez des instances à performance extensibles](#burstable-spot-instances)
+ [Lancement sur du matériel à locataire unique](#spot-instance-tenancy)

## États des demandes d’instance Spot
<a name="creating-spot-request-status"></a>

Une demande d’instance Spot peut avoir l’un des états suivants :
+ `open` – La demande est en attente d’exécution.
+ `active` – La demande a été exécutée et est associée à une instance Spot.
+ `failed` – La demande a un ou plusieurs paramètres erronés.
+ `closed` – L’instance Spot a été interrompue ou résiliée.
+ `disabled` – Vous avez arrêté l’instance Spot.
+ `cancelled` – Vous avez annulé la demande ou elle est arrivée à expiration.

L’illustration suivante représente les transitions entre les états de la demande. Remarquez que les transitions dépendent du type de demande (unique ou persistante).

![\[États des demandes d’instance Spot.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/spot_request_states.png)


Une demande d’instance Spot unique reste active jusqu’à ce qu’Amazon EC2 lance l’instance Spot, que la demande arrive à expiration ou que vous annuliez la demande. Si la capacité n’est pas disponible, votre instance Spot est résiliée et la demande d’instance Spot est close.

Une demande d’instance Spot persistante reste active jusqu’à ce qu’elle arrive à expiration ou que vous l’annuliez, même si la demande est satisfaite. Si la capacité n’est pas disponible, votre instance Spot est interrompue. Une fois que votre instance a été interrompue, lorsque la capacité redevient disponible, l’instance Spot est démarrée si elle a été arrêtée, ou reprise si elle a été mise en veille prolongée. Vous pouvez arrêter une instance Spot et la redémarrer si la capacité est disponible. Si l’instance Spot est résiliée (que l’instance Spot soit à l’état arrêté ou en cours d’exécution), la demande d’instance Spot est rouverte et Amazon EC2 lance une nouvelle instance Spot. Pour plus d’informations, consultez [Arrêt d’une instance Spot](using-spot-instances-request.md#stopping-a-spot-instance), [Démarrer une instance Spot](using-spot-instances-request.md#starting-a-spot-instance) et [Résilier une instance Spot](using-spot-instances-request.md#terminating-a-spot-instance).

Vous pouvez effectuer le suivi du statut de vos demandes d’instance Spot, ainsi que celui des instances Spot lancées, via le statut. Pour de plus amples informations, veuillez consulter [Obtenir le statut d’une demande d’instance Spot](spot-request-status.md).

## Lancer une instances Spot dans un groupe de lancement
<a name="spot-launch-group"></a>

Spécifiez un groupe de lancement dans votre demande d’instance Spot pour demander à Amazon EC2 de lancer un ensemble d’instances Spot uniquement s’il peut toutes les lancer. De plus, si le service Spot doit résilier l’une des instances du groupe de lancement, il doit toutes les résilier. Toutefois, si vous mettez hors service une ou plusieurs instances d’un groupe de lancement, Amazon EC2 ne met pas hors service les instances restantes du groupe de lancement.

Même si cette option peut être utile, l’ajout d’une contrainte de ce type peut réduire les chances de voir votre demande d’instance Spot satisfaite et accroître les risques de suppression de vos instances Spot. Par exemple, votre groupe de lancement inclut des instances figurant dans plusieurs zones de disponibilité. Si la capacité dans l’une de ces zones de disponibilité diminue et n’est plus disponible, Amazon EC2 résilie alors toutes les instances du groupe de lancement.

Si vous créez une autre demande d’instance Spot réussie qui spécifie le même groupe de lancement (existant) qu’une demande précédente réussie, les nouvelles instances sont ajoutées au groupe de lancement. Par conséquent, si une instance de ce groupe de lancement est mise hors service, toutes les instances du groupe de lancement sont également mises hors service, ce qui inclut les instances lancées par les première et deuxième demandes.

## Lancer une instances Spot dans un groupe de zone de disponibilité
<a name="spot-az-group"></a>

Spécifiez un groupe de zone de disponibilité dans votre demande d’instance Spot pour dire à Amazon EC2 de lancer un ensemble d’instances Spot dans la même zone de disponibilité. Amazon EC2 n’a pas besoin d’interrompre toutes les instances d’un groupe de zone de disponibilité en même temps. Si Amazon EC2 doit interrompre l’une des instances d’un groupe de zone de disponibilité, les autres continuent à être exécutées.

Même si cette option peut s’avérer utile, l’ajout d’une contrainte de ce type peut réduire les chances de voir votre demande d’instance Spot satisfaite.

Si vous spécifiez un groupe de zone de disponibilité, mais que vous n’indiquez aucune zone de disponibilité dans la demande d’instance Spot, le résultat dépend du réseau que vous avez spécifié.

**VPC par défaut**  
Amazon EC2 utilise la zone de disponibilité pour le sous-réseau spécifié. Si vous ne spécifiez pas de sous-réseau, le service sélectionne une zone de disponibilité et son sous-réseau par défaut, mais pas nécessairement la zone ayant le prix le plus bas. Si vous avez supprimé le sous-réseau par défaut pour une zone de disponibilité, vous devez spécifier un autre sous-réseau.

**VPC personnalisé**  
Amazon EC2 utilise la zone de disponibilité pour le sous-réseau spécifié.

## Lancer une instances Spot dans un VPC
<a name="concepts-spot-instances-vpcs"></a>

Vous spécifiez un sous-réseau pour vos instances Spot de la même façon que vous spécifiez un sous-réseau pour vos instances à la demande.
+ [VPC par défaut] Si vous souhaitez que votre instance Spot soit lancée dans une zone de disponibilité à faible prix, vous devez spécifier le sous-réseau correspondant dans votre demande d’instance Spot. Si vous ne spécifiez pas de sous-réseau, Amazon EC2 en sélectionne un pour vous et la zone de disponibilité de ce sous-réseau ne correspondra peut-être pas au prix Spot le plus faible.
+ [VPC personnalisé] Vous devez spécifier le sous-réseau de votre instance Spot.

## Lancez des instances à performance extensibles
<a name="burstable-spot-instances"></a>

Les types d’instances T sont des [instances à capacité extensible](burstable-performance-instances.md). Si vous lancez vos instances Spot à l’aide d’un type d’instance de performance à capacité extensible, et si vous prévoyez d’utiliser vos instances Spot de performance à capacité extensible immédiatement et pour une courte durée, sans temps d’inactivité pour accumuler des crédits processeur, nous vous recommandons de les lancer en [mode standard](burstable-performance-instances-standard-mode.md) pour éviter de payer des coûts plus élevés. Si vous lancez vos instances Spot de performance à capacité extensible en [mode Illimité](burstable-performance-instances-unlimited-mode.md) et que vous étendez immédiatement l’utilisation de l’UC, vous dépensez des crédits excédentaires pour cette extension d’utilisation. Si vous utilisez l’instance pour une courte durée, elle n’a pas le temps d’accumuler des crédits UC pour rembourser les crédits excédentaires, et ces derniers vous sont facturés lorsque vous résiliez l’instance.

Le mode Illimité convient aux instances Spot de performance à capacité extensible uniquement si l’instance s’exécute suffisamment longtemps pour accumuler des crédits UC pour l’extension d’utilisation. Sinon, payer des crédits excédentaires rend les instances Spot de performance à capacité extensible plus coûteuses que les autres instances. Pour de plus amples informations, veuillez consulter [Quand utiliser le mode illimité/mode d’UC fixe ?](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode).

Les instances T2, lorsqu’elles sont configurées en [mode Standard](burstable-performance-instances-standard-mode.md), obtiennent des [crédits de lancement](burstable-performance-instances-standard-mode-concepts.md#launch-credits). Les instances T2 sont les seules instances à capacité extensible qui obtiennent des crédits de lancement. Les crédits de lancement visent à optimiser la productivité du lancement initial des instances T2 en leur fournissant suffisamment de ressources de calcul pour pouvoir configurer l’instance. Il est interdit de procéder à des lancements répétés d’instances T2 pour bénéficier de nouveaux crédits de lancement. Si vous avez besoin de performances soutenues de l’UC, vous pouvez obtenir des crédits (en restant inactif pendant un certain temps) : utilisez le [mode Illimité](burstable-performance-instances-unlimited-mode.md) pour les Instances Spot T2 ou un type d’instance avec UC dédiée.

## Lancement sur du matériel à locataire unique
<a name="spot-instance-tenancy"></a>

Vous pouvez exécuter une instance Spot sur du matériel à client unique. Les instances Spot dédiées sont physiquement isolées des instances appartenant à d'autres AWS comptes. Pour plus d’informations, consultez [Instances EC2 dédiées Amazon](dedicated-instance.md) et les [instances dédiées Amazon EC2](https://aws.amazon.com/ec2/pricing/dedicated-instances/).

Pour exécuter une instance Spot dédiée, effectuez l’une des actions suivantes :
+ Spécifiez une location de `dedicated` au moment de créer la demande d’instance Spot. Pour plus d’informations, consultez [Gérer vos instances Spot](using-spot-instances-request.md).
+ Demandez une instance Spot sur un VPC avec une location d’instance de `dedicated`. Pour de plus amples informations, veuillez consulter [Lancer des instances dédiées dans un VPC avec une location par défaut](dedicatedinstancesintovpc.md). Vous ne pouvez pas demander d’instance Spot avec une location de `default` si vous la demandez sur un VPC avec une location d’instance de `dedicated`.

Toutes les familles d’instances prennent en charge les instances Spot dédiées sauf les instances T. Pour chaque famille d’instances prise en charge, seule la plus grande taille d’instance ou taille de métal prend en charge les instances Spot dédiées.

# Affichez l’historique de tarification d’instance Spot
<a name="using-spot-instances-history"></a>

Les prix d’instance Spot sont définis par Amazon EC2 et ajustés graduellement en fonction des tendances à long terme en matière d’offre et de demande de capacité d’instance Spot.

Lorsque votre demande d’instance Spot est satisfaite, vos instances Spot se lancent au prix Spot actuel, sans dépasser le prix à la demande. Vous pouvez consulter l’historique des prix Spot pour les 90 derniers jours en filtrant par type d’instance, système d’exploitation et zone de disponibilité.

Pour connaître les prix *actuels* des instances Spot, consultez la [Tarification des instances Spot Amazon EC2](https://aws.amazon.com/ec2/spot/pricing/).

------
#### [ Console ]

**Pour afficher l’historique des prix Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Sélectionnez **Historique de tarification**. 

1. Pour **Graph (Graphique)**, choisissez de comparer l’historique des prix par **Availability Zones (Zones de disponibilité)** ou par **Instance Types (Types d’instance)**.
   + Si vous choisissez **Zones de disponibilité**, choisissez ensuite le **Type d’instance**, le système d’exploitation (**Plateforme**) et la **Plage de dates** pour laquelle vous souhaitez consulter l’historique des prix.
   + Si vous choisissez **Types d’instance**, choisissez jusqu’à cinq **Types d’instance**, la **Zone de disponibilité**, le système d’exploitation (**Plateforme**) et la **Plage de dates** pour laquelle vous souhaitez consulter l’historique des prix.

   La capture d’écran suivante présente une comparaison de prix pour différents types d’instance.  
![\[L’outil Historique de tarification d’instances Spot dans la console Amazon EC2.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/spot-instance-pricing-history.png)

1. Survolez le graphique avec le pointeur de la souris pour afficher les prix à des moments donnés dans la plage de dates sélectionnée. Les prix sont affichés dans les blocs d’informations au-dessus du graphique. Le prix affiché dans la ligne supérieure indique le prix à une date spécifique. Le prix affiché sur la deuxième ligne indique le prix moyen sur la plage de dates sélectionnée.

1. Pour afficher le prix par vCPU, basculez sur **Display normalized prices (Afficher les prix normalisés)**. Pour afficher le prix du type d’instance, désactivez **Display normalized prices (Afficher les prix normalisés)**.

------
#### [ AWS CLI ]

**Pour afficher l’historique des prix Spot**  
Utilisez la commande [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html) suivante.

```
aws ec2 describe-spot-price-history \
    --instance-types c6i.xlarge \
    --product-descriptions "Linux/UNIX" \
    --start-time 2025-04-01T00:00:00 \
    --end-time 2025-04-02T00:00:0
```

------
#### [ PowerShell ]

**Pour afficher l’historique des prix Spot**  
Utilisez l’applet de commande [Get-EC2SpotPriceHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotPriceHistory.html).

```
Get-EC2SpotPriceHistory `
    -InstanceType c6i.xlarge `
    -ProductDescription "Linux/UNIX" `
    -UtcStartTime 2025-04-01T00:00:00 `
    -UtcEndTime 2025-04-02T00:00:0
```

------

# Économies réalisées grâce à l’achat d’instances Spot
<a name="spot-savings"></a>

Vous pouvez visualiser les informations relatives à l’utilisation et aux économies réalisées grâce aux instances Spot pour chaque flotte ou pour l’ensemble des instances Spot en cours d’exécution. Les informations relatives à l’utilisation et aux économies pour chaque flotte incluent l’ensemble des instances lancées et résiliées par la flotte. Ces informations peuvent être consultées pour la dernière heure ou pour les trois derniers jours.

La capture d’écran suivante de la section **Economie** illustre les informations relatives à l’utilisation d’instances Spot et aux économies associées pour un parc d’instances Spot.

![\[Section Economie sur la page Détails du parc d’instances Spot.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/spot-savings.png)


Les informations suivantes relatives à l’utilisation et aux économies sont disponibles :
+ **Instances Spot** – Nombre d’instances. Spot lancées et terminées par le parc d’instances Spot. Le nombre qui apparaît dans le récapitulatif des économies représente l’ensemble de vos instances Spot en cours d’exécution.
+ **vCPU-hours (Heures vCPU)** : nombre d’heures vCPU utilisées pour l’ensemble des Instances Spot sur la période sélectionnée.
+ **Mem(GiB)-hours (Heures de mémoire (Gio))** : nombre d’heures Gio utilisées pour l’ensemble des Instances Spot sur la période sélectionnée.
+ **On-Demand total (Total à la demande)** : montant total que vous auriez payé pour la période sélectionnée si vous aviez lancé ces instances en tant qu’Instances à la demande.
+ **Spot total (Total Spot)** : montant total à payer pour la période sélectionnée.
+ **Économie** : pourcentage que vous économisez en ne payant pas le prix à la demande.
+ **Coût moyen par heure de processeur virtuel** ****: coût horaire moyen d'utilisation du v CPUs sur toutes les instances ponctuelles pendant la période sélectionnée, calculé comme suit : **coût moyen par heure de processeur virtuel = total ponctuel/heures de processeur virtuel**.****
+ **Coût moyen par mém (GiB)** **par heure : coût horaire moyen de l'utilisation GiBs de toutes les instances ponctuelles pendant la période sélectionnée, calculé comme suit **: coût moyen par mém (GiB) -heure = **total spot**/Mem (GiB)** -heures.**
+ Tableau **Détails** – Les différents types d’instances (le nombre d’instances par type d’instance est placé entre parenthèses) qui composent le parc d’instances Spot. Le récapitulatif des économies comprend l’ensemble de vos instances Spot en cours d’exécution.

Vous ne pouvez consulter les informations relatives aux économies qu’à l’aide de la console Amazon EC2.

**Pour afficher les informations relatives aux économies pour un parc d’instances Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Sélectionnez l’ID d’une demande de parc d’instances Spot et faites défiler jusqu’à la section **Economie**.

   En revanche, cochez la case située à côté de l’identifiant de la demande du parc d’instance Spot et cliquez sur l’onglet **Économies**.

1. Par défaut, la page affiche les informations relatives à l’utilisation et aux économies de ces trois derniers jours. Vous pouvez choisir **last hour (dernière heure)** ou **last three days (trois derniers jours)**. Pour les Parcs d’instances Spot qui ont été lancés il y a moins d’une heure, la page affiche une estimation des économies réalisées sur cette heure.

**Pour afficher les informations relatives aux économies pour l’ensemble des instances Spot en cours d’exécution**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Choisissez **Savings Summary (Récapitulatif des économies)**.

# Créer une demande d’instance Spot
<a name="spot-requests"></a>

Pour utiliser des instances Spot, vous créez une demande d’instance Spot qui inclut le nombre d’instances souhaité, le type d’instance et la zone de disponibilité. Si la capacité est disponible, Amazon EC2 répond à votre demande immédiatement. Dans le cas contraire, Amazon EC2 attend jusqu’à ce que votre demande soit exécutée ou jusqu’à l’annulation de celle-ci.

Vous pouvez utiliser l’[assistant de lancement d’instance](ec2-launch-instance-wizard.md) dans la console Amazon EC2 ou la commande [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) pour demander une instance spot, de la même manière que vous pouvez lancer une instance à la demande. Cette méthode n’est recommandée que pour les raisons suivantes :
+ Vous utilisez déjà l’[assistant de lancement d’instance](ec2-launch-instance-wizard.md) ou la commande [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) pour lancer des instances à la demande, et vous voulez simplement passer au lancement d’instances Spot en modifiant un seul paramètre.
+ Vous n’avez pas besoin de plusieurs instances avec des types d’instance différents.

Cette méthode n’est généralement pas recommandée pour le lancement d’instances Spot car vous ne pouvez pas spécifier plusieurs types d’instance et vous ne pouvez pas lancer d’instances Spot et d’instances à la demande dans la même requête. Pour connaître les méthodes préférées pour lancer des instances Spot, notamment le lancement d’une *flotte* qui inclut des instances Spot et des instances à la demande avec plusieurs types d’instance, veuillez consulter la rubrique [Quelle est la meilleure méthode de demande Spot à utiliser ?](spot-best-practices.md#which-spot-request-method-to-use)

Si vous demandez plusieurs instances Spot à la fois, Amazon EC2 crée des demandes d’instance Spot distinctes pour vous permettre de suivre l’état de chaque demande séparément. Pour plus d’informations sur le suivi des demandes d’instance Spot, consultez [Obtenir le statut d’une demande d’instance Spot](spot-request-status.md).

------
#### [ Console ]<a name="create-spot-instance-request-console-procedure"></a>

**Pour créer une demande d’instance Spot**

Les étapes 1 à 9 sont les mêmes que celles que vous utiliseriez pour lancer une instance à la demande. À l’étape 10, vous configurez la demande d’instance Spot.

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans la barre de navigation, en haut de l’écran, sélectionnez une région.

1. Sur le tableau de bord de la console Amazon EC2, sélectionnez **Launch instance (Lancer une instance)**.

1. (Facultatif) Sous **Name and tags** (Noms et identifications), vous pouvez nommer votre instance et étiqueter la demande d’instance Spot, l’instance, les volumes et les Elastic Graphics. Pour plus d’informations sur les balises, consultez [Baliser vos ressources Amazon EC2](Using_Tags.md).

   1. Pour **Name** (Nom), saisissez un nom descriptif pour votre instance.

      Le nom de l’instance est une identification, où la clé est **Name** (Nom), et la valeur est le nom que vous spécifiez. Si vous ne spécifiez pas de nom, l’instance peut être identifiée par son ID, qui est automatiquement généré lorsque vous lancez l’instance.

   1. Pour étiqueter la demande d’instance Spot, l’instance, les volumes et les Elastic Graphics, choisissez **Add additional tags** (Ajouter de identifications supplémentaires). Choisissez **Add tag** (Ajouter une identification), saisissez une clé et une valeur, puis sélectionnez le type de ressource à étiqueter. Choisissez **Add tag** (Ajouter une identification) pour chaque étiquette supplémentaire.

1. Sous **Application and OS Images (Amazon machine Image**) (Images d’applications et de systèmes d’exploitation [Amazon machine Image]), choisissez le système d’exploitation de votre instance, puis sélectionnez une AMI. Pour de plus amples informations, veuillez consulter [Images d’applications et de systèmes d’exploitation (Amazon Machine Image)](ec2-instance-launch-parameters.md#liw-ami).

1. Sous **Instance type** (Type d’instance), sélectionnez le type d’instance qui répond à vos exigences en ce qui concerne la configuration matérielle et la taille de votre instance. Pour de plus amples informations, veuillez consulter [Type d’instance](ec2-instance-launch-parameters.md#liw-instance-type).

1. Sous **Key pair (login)** (Paire de clés [connexion]), choisissez une paire de clés existante ou choisissez **Create new key pair** (Créer une paire de clés) pour en créer une. Pour de plus amples informations, veuillez consulter [Paires de clés Amazon EC2 et instances Amazon EC2](ec2-key-pairs.md).
**Important**  
Si vous sélectionnez l’option **Proceed without key pair (Not recommended)** ((Continuer sans paire de clé) (Non recommandé)), vous ne pourrez pas vous connecter à l’instance à moins de choisir une AMI configurée de façon à autoriser les utilisateurs à se connecter d’une autre façon.

1. Sous **Network settings** (Paramètres réseau), utilisez les paramètres par défaut ou choisissez **Edit** (Modifier) pour configurer les paramètres réseau selon les besoins.

   Les groupes de sécurité font partie des paramètres réseau et définissent les règles de pare-feu pour votre instance. Ces règles déterminent le trafic réseau entrant acheminé vers votre instance.

   Pour de plus amples informations, veuillez consulter [Paramètres réseau](ec2-instance-launch-parameters.md#liw-network-settings).

1. L’AMI sélectionnée inclut un ou plusieurs volumes de stockage, notamment le volume du périphérique racine. Sous **Configure storage** (Configurer le stockage), vous pouvez spécifier des volumes supplémentaires à attacher à l’instance en choisissant **Add new volume** (Ajouter un nouveau volume). Pour de plus amples informations, veuillez consulter [Configurer le stockage](ec2-instance-launch-parameters.md#liw-storage).

1. Sous **Advanced details** (Détails avancés), configurez la demande d’instance Spot comme suit :

   1. Sous **Option d’achat**, cochez la case **Demander des instances Spot**.

   1. Vous pouvez soit conserver la configuration par défaut de la demande d’instance Spot, soit choisir **Customize** (Personnaliser), à droite, pour spécifier des paramètres personnalisés pour votre demande d’instance Spot.

      Lorsque vous choisissez **Customize** (Personnaliser), les champs suivants s’affichent.

      1. **Maximum price** (Prix maximal) : vous pouvez demander des instances Spot au prix Spot, plafonné au prix À la demande, ou spécifier le montant maximum que vous êtes prêt à payer.
**Avertissement**  
Si vous spécifiez un prix maximum, vos instances seront interrompues plus fréquemment que si vous choisissez **No maximum price** (Pas de prix maximal).  
Si vous spécifiez un prix maximum, celui-ci doit être supérieur à 0,001 USD. Si vous spécifiez une valeur inférieure à 0,001 USD, le lancement échouera.
         + **No maximum price** (Pas de prix maximal) : votre instance Spot sera lancée au prix Spot en vigueur. Le prix ne dépassera jamais le prix À la demande. (Recommandé)
         + **Set your maximum price (per instance/hour)** (Définir votre prix maximal, par instance/heure) : vous pouvez spécifier le montant maximum que vous êtes prêt à payer.
           + Si vous spécifiez un prix maximum inférieur au prix Spot, votre instance Spot n’est pas lancée.
           + Si vous spécifiez un prix maximum supérieur au prix Spot actuel, votre Instance Spot sera lancée et facturée au prix Spot actuel. Une fois que votre instance Spot est en cours d’exécution, si le prix Spot dépasse votre prix maximum, Amazon EC2 interrompt votre instance Spot.
           + Quel que soit le prix maximum que vous spécifiez, vous serez toujours facturé au prix Spot actuel.

           Pour passer en revue les tendances de prix Spot, consultez [Affichez l’historique de tarification d’instance Spot](using-spot-instances-history.md).

      1. **Request type** (Type de demande) : le type de demande d’instance spot que vous choisissez détermine ce qui se passe si votre instance spot est interrompue.
         + **One-time** (Unique) : Amazon EC2 effectue une demande unique pour votre instance Spot. Si votre instance Spot est interrompue, la demande n’est pas soumise à nouveau.
         + **Persistent request** (Demande persistante) : Amazon EC2 place une demande persistante pour votre instance Spot. Si votre instance spot est interrompue, la demande est soumise à nouveau afin de réapprovisionner l’instance spot résiliée.

         Si vous ne spécifiez pas de valeur, la valeur par défaut est une demande unique.

      1. **Valid to** (Valide jusqu’au) : date d’expiration d’une demande *persistante* d’instance Spot.

         Ce champ n’est pas pris en charge pour les demandes uniques. Une demande d’*unique* reste active jusqu’à ce que toutes les instances de la demande soient lancées ou que vous annuliez la demande. 
         + **No request expiry date** (Pas de date d’expiration de la demande) : la demande reste active jusqu’à ce que vous l’annuliez.
         + **Set your request expiry date** (Définir la date d’expiration de votre demande) : la demande persistante reste active jusqu’à la date spécifiée ou jusqu’à ce que vous l’annuliez.

      1. **Interruption behavior** (Comportement d’interruption) : le comportement que vous choisissez détermine ce qui se passe lorsqu’une instance spot est interrompue.
         + Pour les demandes persistantes, les valeurs valides sont **Stop** (Arrêter) et **Hibernate** (Mettre en veille prolongée). Lorsqu’une instance est arrêtée, des frais pour le stockage de volume EBS s’appliquent.
**Note**  
Les instances Spot utilisent désormais la même fonctionnalité de mise en veille prolongée que les instances à la demande. Pour activer la mise en veille prolongée, vous pouvez soit choisir **Mise en veille prolongée** ici, soit sélectionner **Activer** dans le champ **Comportement d’arrêt – mise en veille prolongée**, qui apparaît plus bas dans l’assistant de lancement d’instance. Pour les prérequis de mise en veille prolongée, consultez [Conditions préalables à la mise en veille prolongée des instances Amazon EC2](hibernating-prerequisites.md).
         + Pour les demandes uniques, seule la valeur **Terminate** (Résilier) est valide.

         Si vous ne spécifiez pas de valeur, la valeur par défaut est **Terminate** (Résilier), laquelle n’est pas valide pour une demande d’instance Spot persistante. Si vous conservez la valeur par défaut et tentez de lancer une demande d’instance Spot persistante, une erreur s’affiche.

         Pour de plus amples informations, veuillez consulter [Comportement des interruptions d’instance Spot](interruption-behavior.md).

1. Sur le panneau **Summary** (Récapitulatif), pour **Number of instances** (Nombre d’instances), saisissez le nombre d’instances à lancer.
**Note**  
Amazon EC2 crée une demande distincte pour chaque instance Spot.

1. Sur le panneau **Summary** (Récapitulatif), vérifiez les détails de votre instance et effectuez toute modification nécessaire. Après avoir soumis votre demande d’instance Spot, vous ne pouvez plus modifier les paramètres de la demande. Vous pouvez accéder directement à une section dans l’assistant de lancement d’instance en sélectionnant son lien dans le panneau **Summary** (Récapitulatif). Pour de plus amples informations, veuillez consulter [Résumé](ec2-instance-launch-parameters.md#liw-summary).

1. Lorsque vous êtes prêt à lancer votre instance , choisissez **Launch instance** (Lancer l’instance). 

   Si l’instance ne peut pas être lancée ou que l’état passe immédiatement à `terminated` au lieu de `running`, consultez [Résoudre les problèmes liés au lancement d'une instance Amazon EC2](troubleshooting-launch.md).

------
#### [ AWS CLI ]

**Pour créer une demande d’instance Spot à l’aide de run-instances**  
Utilisez la commande [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) et spécifiez les options de l’instance Spot dans le paramètre `--instance-market-options` comme suit.

```
--instance-market-options file://spot-options.json
```

Voici la structure de données à spécifier dans le fichier JSON. Vous pouvez également spécifier `ValidUntil` et `InstanceInterruptionBehavior`. Si vous ne spécifiez pas de champ dans la structure de données, la valeur par défaut est utilisée.

L’exemple suivant crée une demande `persistent`.

```
{
  "MarketType": "spot",
  "SpotOptions": {
    "SpotInstanceType": "persistent"
  }
}
```

**Pour créer une demande d'instance Spot à l'aide de request-spot-instances**

**Note**  
Nous vous déconseillons vivement d'utiliser cette [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html)commande pour demander une instance Spot, car il s'agit d'une ancienne API sans investissement prévu. Pour de plus amples informations, consultez [Quelle est la meilleure méthode de demande Spot à utiliser ?](spot-best-practices.md#which-spot-request-method-to-use).

Utilisez la [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html)commande pour créer une demande unique.

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json
```

Utilisez la [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html)commande pour créer une demande persistante.

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "persistent" \
    --launch-specification file://specification.json
```

Pour accéder à des exemples de fichiers de spécification à utiliser avec ces commandes, consultez [Exemple de spécifications de lancement d’une demande d’instance Spot](spot-request-examples.md). Si vous téléchargez un fichier de spécification de lancement depuis la console Spot Requests, vous devez utiliser la [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)commande à la place (la console Spot Requests spécifie une demande d'instance Spot à l'aide d'un parc Spot).

------
#### [ PowerShell ]

**Pour créer une demande d’instance Spot**  
Utilisez l'[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)applet de commande et spécifiez les options de l'instance Spot à l'aide du `-InstanceMarketOption` paramètre.

```
-InstanceMarketOptions $marketOptions
```

Créez la structure de données pour les options d’instance Spot comme suit.

```
$spotOptions = New-Object Amazon.EC2.Model.SpotMarketOptions
$spotOptions.SpotInstanceType="persistent"
$marketOptions = New-Object Amazon.EC2.Model.InstanceMarketOptionsRequest
$marketOptions.MarketType = "spot"
$marketOptions.SpotOptions = $spotOptions
```

------

# Exemple de spécifications de lancement d’une demande d’instance Spot
<a name="spot-request-examples"></a>

Les exemples suivants montrent les configurations de lancement que vous pouvez utiliser avec la [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html)commande pour créer une demande d'instance Spot. Pour de plus amples informations, veuillez consulter [Gérer vos instances Spot](using-spot-instances-request.md).

**Important**  
Nous vous déconseillons vivement d'utiliser cette [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html)commande pour demander une instance Spot, car il s'agit d'une ancienne API sans investissement prévu. Pour de plus amples informations, consultez [Quelle est la meilleure méthode de demande Spot à utiliser ?](spot-best-practices.md#which-spot-request-method-to-use).

**Topics**
+ [Exemple 1 : Lancement d’instances Spot](#spot-launch-specification1)
+ [Exemple 2 : Lancement d’instances Spot dans la zone de disponibilité spécifiée](#spot-launch-specification2)
+ [Exemple 3 : Lancement d’instances Spot dans le sous-réseau spécifié](#spot-launch-specification3)
+ [Exemple 4 : Lancement d’une instance Spot dédiée](#spot-launch-specification4)

## Exemple 1 : Lancement d’instances Spot
<a name="spot-launch-specification1"></a>

L’exemple suivant n’inclut aucune zone de disponibilité ou sous-réseau. Amazon EC2 sélectionne une zone de disponibilité pour vous. Amazon EC2 lance les instances sur le sous-réseau par défaut de la zone de disponibilité sélectionnée.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## Exemple 2 : Lancement d’instances Spot dans la zone de disponibilité spécifiée
<a name="spot-launch-specification2"></a>

L’exemple suivant inclut une zone de disponibilité. Amazon EC2 lance les instances dans le sous-réseau par défaut de la zone de disponibilité spécifiée.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "Placement": {
    "AvailabilityZone": "us-west-2a"
  },
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## Exemple 3 : Lancement d’instances Spot dans le sous-réseau spécifié
<a name="spot-launch-specification3"></a>

L’exemple suivant inclut un sous-réseau. Amazon EC2 lance les instances dans le sous-réseau spécifié. Si le VPC n'est pas un VPC par défaut, l'instance ne reçoit pas d'adresse publique par défaut. IPv4 

```
{
  "ImageId": "ami-0abcdef1234567890",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "SubnetId": "subnet-1a2b3c4d",
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

Pour attribuer une IPv4 adresse publique à une instance dans un VPC autre que celui par défaut, spécifiez `AssociatePublicIpAddress` le champ comme indiqué dans l'exemple suivant. Lorsque vous spécifiez une interface réseau, vous devez inclure l’ID du sous-réseau et l’ID du groupe de sécurité à l’aide de l’interface réseau au lieu d’utiliser les champs `SubnetId` et `SecurityGroupIds` illustrés dans le bloc de code précédent.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "InstanceType": "m5.medium",
  "NetworkInterfaces": [
    {
      "DeviceIndex": 0,
      "SubnetId": "subnet-1a2b3c4d5e6f7g8h9",
      "Groups": [ "sg-1a2b3c4d5e6f7g8h9" ],
      "AssociatePublicIpAddress": true
    }
  ],
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## Exemple 4 : Lancement d’une instance Spot dédiée
<a name="spot-launch-specification4"></a>

L’exemple suivant demande une instance Spot avec une location de `dedicated`. Une instance Spot dédiée doit être lancée sur un VPC.

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "c5.8xlarge",
  "SubnetId": "subnet-1a2b3c4d5e6f7g8h9",
  "Placement": {
    "Tenancy": "dedicated"
  }
}
```

# Obtenir le statut d’une demande d’instance Spot
<a name="spot-request-status"></a>

Pour vous aider à assurer le suivi de vos demandes d’instance Spot et à planifier votre utilisation d’instances Spot, utilisez l’état de demande fourni par Amazon EC2. Par exemple, le statut de la demande peut indiquer pourquoi votre demande d’instance Spot n’a pas encore été satisfaite, ou répertorier les contraintes qui empêchent l’exécution de votre demande d’instance Spot.

À chaque étape du processus, c’est-à-dire au cours du *cycle de vie* d’une demande Spot, des événements spécifiques déterminent les états successifs de la demande.

L’illustration suivante présente le fonctionnement des demandes d’instances Spot. Notez que le type de demande (unique ou persistante) détermine si la demande est rouverte lorsqu’Amazon EC2 interrompt une instance Spot ou que vous arrêtez une instance Spot. Si la demande est persistante, elle est rouverte après que votre instance Spot soit interrompue. Si la demande est persistante et que vous arrêtez votre instance Spot, la demande s’ouvre seulement après que vous ayez démarré votre instance Spot.

![\[Fonctionnement des demandes d’instance Spot.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/spot_lifecycle.png)


**Topics**
+ [Obtenir des informations sur le statut d’une demande](#get-spot-instance-request-status)
+ [Codes de statut des demandes Spot](#spot-instance-request-status-understand)
+ [Événement d’exécution de demande d’instance Spot EC2](#spot-request-fulfillment-event)
+ [Changements de statut pour une demande Spot](spot-instances-request-status-lifecycle.md)

## Obtenir des informations sur le statut d’une demande
<a name="get-spot-instance-request-status"></a>

Vous pouvez obtenir des informations sur le statut de votre demande d’instance Spot.

------
#### [ Console ]

**Pour obtenir les informations sur le statut d’une demande**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Demandes Spot** et sélectionnez la demande d’instance Spot.

1. Pour vérifier l’état, sous l’onglet **Description**, cochez le champ **Statut**.

------
#### [ AWS CLI ]

**Pour obtenir les informations sur le statut d’une demande**  
Utilisez la commande [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) suivante.

```
aws ec2 describe-spot-instance-requests --spot-instance-request-ids sir-0e54a519c9EXAMPLE
```

------
#### [ PowerShell ]

**Pour obtenir les informations sur le statut d’une demande**  
Utilisez l’applet de commande [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html).

```
Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

## Codes de statut des demandes Spot
<a name="spot-instance-request-status-understand"></a>

Les informations sur le statut des demandes Spot sont composées d’un code de statut, de l’heure de mise à jour et d’un message de statut. Toutes ces informations vous permettent de savoir où en est votre demande d’instance Spot.

Voici les codes de statut des demandes Spot :

`az-group-constraint`  
Amazon EC2 ne peut pas lancer toutes les instances que vous avez demandées dans la même zone de disponibilité.

`bad-parameters`  
Un ou plusieurs paramètres de votre demande d’instance Spot ne sont pas valides (par exemple, l’AMI que vous avez spécifiée n’existe pas). Le message de statut indique quel paramètre n’est pas valide.

`canceled-before-fulfillment`  
L’utilisateur a annulé la demande d’instance Spot avant son exécution.

`capacity-not-available`  
Il n’y a pas suffisamment de capacité disponible pour les instances que vous avez demandées.

`constraint-not-fulfillable`  
La demande d’instance Spot ne peut pas être satisfaite dans la mesure où une ou plusieurs contraintes ne sont pas valides (par exemple, la zone de disponibilité n’existe pas). Le message de statut indique quelle contrainte n’est pas valide.

`fulfilled`  
La demande Spot est `active`, et Amazon EC2 lance votre Instances Spot.

`instance-stopped-by-price`  
Votre instance a été arrêtée car le prix Spot a dépassé votre prix maximum.

`instance-stopped-by-user`  
Votre instance a été arrêtée car un utilisateur l’a arrêtée ou a exécuté la commande shutdown à partir de l’instance.

`instance-stopped-no-capacity`  
Votre instance a été arrêtée en raison des besoins de gestion de la capacité EC2.

`instance-terminated-by-price`  
Votre instance a été supprimée car le prix Spot a dépassé votre prix maximum. Si votre demande est une offre persistante, le processus redémarre et votre demande se retrouve en attente d’évaluation.

`instance-terminated-by-schedule`  
Votre instance Spot a été résiliée à la fin de sa durée planifiée.

`instance-terminated-by-service`  
Votre instance a été mise hors service à partir d’un état d’arrêt.

`instance-terminated-by-user` ou `spot-instance-terminated-by-user`  
Étant donné que vous avez résilié une instance Spot qui a été exécutée, l’état de la demande est `closed` (sauf s’il s’agit d’une demande persistante) et l’état de l’instance est `terminated`.

`instance-terminated-launch-group-constraint`  
Une ou plusieurs instances de votre groupe de lancement ont été mises hors service, c’est pourquoi la contrainte du groupe de lancement n’est plus respectée.

`instance-terminated-no-capacity`  
Votre instance a été résiliée en raison de processus standard de gestion de la capacité.

`launch-group-constraint`  
Amazon EC2 ne peut pas lancer toutes les instances que vous avez demandées en même temps. Toutes les instances d’un groupe de lancement sont démarrées et mises hors service ensemble.

`limit-exceeded`  
La limite du nombre de volumes EBS ou du stockage de volume total a été dépassée. Pour plus d’informations, consultez la section [Quotas pour Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-resource-quotas.html) dans le *Guide de l’utilisateur d’Amazon EBS*.

`marked-for-stop`  
L’instance Spot est marquée pour être arrêtée.

`marked-for-termination`  
L’instance Spot est marquée pour être résiliée.

`not-scheduled-yet`  
La demande d’instance Spot n’est pas évaluée avant la date prévue.

`pending-evaluation`  
Une fois que vous avez effectué une demande d’instance Spot, elle passe à l’état `pending-evaluation` le temps que le système évalue les paramètres de votre demande.

`pending-fulfillment`  
Amazon EC2 tente d’allouer vos instances Spot.

`placement-group-constraint`  
La demande Spot ne peut pas encore être satisfaite, car une instance Spot ne peut pas être ajoutée au groupe de placement à ce stade.

`price-too-low`  
La demande ne peut pas encore être exécutée, car le prix maximum est inférieur au prix Spot. Dans le cas présent, aucune instance n’est lancée et votre demande reste à l’état `open`.

`request-canceled-and-instance-running`  
Vous avez annulé la demande Spot alors que les instances Spot sont toujours en cours d’exécution. La demande est `cancelled`, tandis que les instances conservent l’état `running`.

`schedule-expired`  
La demande d’instance Spot est arrivée à expiration car elle n’a pas été exécutée avant la date spécifiée.

`system-error`  
Il y a eu une erreur système inattendue. S'il s'agit d'un problème récurrent, veuillez nous contacter AWS Support pour obtenir de l'aide.

## Événement d’exécution de demande d’instance Spot EC2
<a name="spot-request-fulfillment-event"></a>

Lorsqu'une demande d'instance Spot est traitée, Amazon EC2 envoie un événement de traitement de demande d'instance Spot EC2 à Amazon. EventBridge Vous pouvez créer une règle pour effectuer une action lorsque cet événement se produit, comme invoquer une fonction Lambda ou notifier une rubrique Amazon SNS.

Voici un exemple de données pour cet événement.

```
{
    "version": "0",
    "id": "01234567-1234-0123-1234-012345678901",
    "detail-type": "EC2 Spot Instance Request Fulfillment",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "spot-instance-request-id": "sir-0e54a519c9EXAMPLE",
        "instance-id": "i-1234567890abcdef0"
    }
}
```

Pour plus d'informations, consultez le [guide de EventBridge l'utilisateur Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

# Changements de statut pour une demande Spot
<a name="spot-instances-request-status-lifecycle"></a>

Le diagramme suivant illustre les étapes suivies par votre demande d’instance Spot au cours de son cycle de vie, de la soumission à la mise hors service. Chaque étape est représentée sous forme d’un nœud et le code de statut de chaque nœud décrit le statut de la demande d’instance Spot et de l’instance Spot.

![\[Cycle de vie d’une demande d’instance Spot.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/spot-request-status-diagram.png)


**Évaluation en attente**  
Dès que vous créez une demande d’instance Spot, celle-ci passe à l’état `pending-evaluation` à moins qu’un ou plusieurs paramètres de demande ne soient pas valides (`bad-parameters`).


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
| pending-evaluation | open | Ne s’applique pas | 
| bad-parameters | closed | Ne s’applique pas | 

**En attente**  
Si une ou plusieurs contraintes de demande sont valides mais ne peuvent pas encore être respectées ou s’il n’y a pas suffisamment de capacité, la demande se voit attribuer l’état En attente jusqu’à ce que les contraintes soient respectées. Les options de la demande ont un impact sur les possibilités d’exécution de la demande. Par exemple, si la capacité n’est pas disponible, votre demande reste à l’état en attente jusqu’à ce que la capacité devienne disponible. Si vous spécifiez un groupe de zone de disponibilité, la demande conserve l’état En attente jusqu’à ce que la contrainte de zone de disponibilité soit respectée.

En cas de panne de l’une des zones de disponibilité, il est possible que la capacité EC2 disponible pour les demandes d’instance Spot dans d’autres zones de disponibilité puisse être affectée.


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
| capacity-not-available | open |  Ne s’applique pas  | 
| price-too-low | open |  Ne s’applique pas  | 
| not-scheduled-yet | open |  Ne s’applique pas  | 
| launch-group-constraint | open |  Ne s’applique pas  | 
| az-group-constraint | open |  Ne s’applique pas  | 
|  placement-group-constraint  |  open  |  Ne s’applique pas  | 
|  constraint-not-fulfillable  |  open  |  Ne s’applique pas  | 

**Fin de l’évaluation/exécution-terminal**  
Votre demande d’instance Spot peut passer à l’état `terminal` si vous créez une demande valide uniquement pendant une durée spécifique et que cette durée arrive à expiration avant que votre demande atteigne la phase d’exécution en attente. Cela peut également se produire si vous annulez la demande ou si une erreur système se produit.


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
|  schedule-expired  |  cancelled  |  Ne s’applique pas  | 
|  canceled-before-fulfillment¹  |  cancelled  |  Ne s’applique pas  | 
|  bad-parameters  |  failed  |  Ne s’applique pas  | 
|  system-error  |  closed  |  Ne s’applique pas  | 

¹ Si vous annulez la demande.

**Exécution en attente**  
Lorsque les contraintes que vous avez spécifiées (le cas échéant) sont respectées, votre demande Spot passe à l’état `pending-fulfillment`.

A ce stade, Amazon EC2 est prêt à mettre en service les instances que vous avez demandées. Si le processus s’arrête à ce stade, il a probablement été annulé par l’utilisateur avant le lancement d’une instance Spot. Cela peut aussi être dû à une erreur système inattendue.


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
|  pending-fulfillment  |  open  |  Ne s’applique pas  | 

**Exécutée**  
Lorsque toutes les caractéristiques de vos instances Spot sont respectées, votre demande d’instance Spot est satisfaite. Amazon EC2 lance les instances Spot, ce qui peut prendre quelques minutes. Si une instance Spot est mise en veille prolongée ou arrêtée lorsqu’elle est interrompue, elle reste dans cet état jusqu’à ce que la demande puisse être de nouveau satisfaite ou qu’elle soit annulée.


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
|  fulfilled  |  active  |  pending → running  | 
|  fulfilled  |  active  |  stopped → running  | 

Si vous arrêtez une instance Spot, votre demande Spot passe à l’état `marked-for-stop` ou `instance-stopped-by-user` jusqu’à ce que l’instance Spot puisse être redémarrée ou que la demande soit annulée. 


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
|  marked-for-stop  | active |  stopping  | 
|  instance-stopped-by-user¹  |  disabled ou cancelled ²  |  stopped  | 

¹ Une instance Spot passe à l’état `instance-stopped-by-user` si vous arrêtez l’instance ou si vous exécutez la commande shutdown à partir de l’instance. Une fois l’instance arrêtée, vous pouvez la redémarrer. Au redémarrage, la demande d’instance Spot revient à l’état `pending-evaluation`, puis Amazon EC2 lance une nouvelle instance Spot lorsque les exigences sont respectées. 

² L’état de la demande Spot est `disabled` si vous arrêtez l’instance Spot sans annuler la demande. L’état de la demande est `cancelled` si votre instance Sport est arrêtée et que la demande expire.

**Exécuté-terminal**  
Vos instances Spot continuent de s’exécuter tant qu’il existe de la capacité pour votre type d’instance et que vous ne résiliez pas l’instance. Si Amazon EC2 doit résilier vos instances Spot, la demande Spot passe à l’état terminal. Une demande se voit attribuer l’état terminal si vous annulez la demande Spot ou si vous résiliez les instances Spot.


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
|  request-canceled-and-instance-running  |  cancelled  |  running  | 
|  marked-for-stop  |  active  |  running  | 
|  marked-for-termination  |  active  |  running  | 
|  instance-stopped-by-price  |  disabled  |  stopped  | 
|  instance-stopped-by-user  |  disabled  |  stopped  | 
|  instance-stopped-no-capacity  |  disabled  |  stopped  | 
|  instance-terminated-by-price  |  closed (exceptionnelle), open (persistante)  |  terminated  | 
|  instance-terminated-by-schedule  |  closed  |  terminated  | 
|  instance-terminated-by-service  |  cancelled  |  terminated  | 
|  instance-terminated-by-user  |  closed ou cancelled ¹  |  terminated  | 
|  instance-terminated-no-capacity  |  closed (exceptionnelle), open (persistante)  |  running †  | 
|  instance-terminated-no-capacity  |  closed (exceptionnelle), open (persistante)  |  terminated  | 
|  instance-terminated-launch-group-constraint  |  closed (exceptionnelle), open (persistante)  |  terminated  | 

¹ L’état de la demande est `closed` si vous résiliez l’instance, mais que vous n’annulez pas la demande. L’état de la demande est `cancelled` si vous mettez l’instance hors service et que vous annulez la demande. Même si vous résiliez une instance Spot avant d’annuler sa demande, un certain laps de temps peut s’écouler avant qu’Amazon EC2 ne détecte la résiliation de votre instance Spot. Le cas échéant, l’état `closed` ou `cancelled` est attribué à la demande.

† Quand Amazon EC2 interrompt une instance Spot si elle a besoin de récupérer la capacité *et* que l’instance est configurée pour *être résiliée* en cas d’interruption, le statut est immédiatement défini sur `instance-terminated-no-capacity` (il n’est pas défini sur `marked-for-termination`). Toutefois, l’instance reste dans à l’état `running` pendant 2 minutes pour refléter la période de 2 minutes pendant laquelle elle reçoit l’avis d’interruption de l’instance Spot. Au bout de 2 minutes, l’état de l’instance est défini sur `terminated`.

**Expériences d’interruption**  
Vous pouvez l'utiliser AWS Fault Injection Service pour déclencher une interruption d'instance Spot afin de tester la façon dont les applications de vos instances Spot répondent. Si AWS FIS une instance Spot est arrêtée, votre demande Spot entre dans l'`marked-for-stop-by-experiment`état puis dans l'`instance-stopped-by-experiment`état. En cas de AWS FIS résiliation d'une instance Spot, votre demande Spot entre dans l'`instance-terminated-by-experiment`état. Pour de plus amples informations, veuillez consulter [Lancement d’une interruption d’instance Spot](initiate-a-spot-instance-interruption.md).


| Code d’état | État de la demande | État de l’instance | 
| --- | --- | --- | 
| marked-for-stop-by-experiment | active | running | 
| instance-stopped-by-experiment | disabled | stopped | 
| instance-terminated-by-experiment | closed | terminated | 

**Demandes persistantes**  
Lorsque vos instances Spot sont résiliées (soit par vous, soit par Amazon EC2), si la demande Spot est une demande persistante, elle retourne à l’état `pending-evaluation` et Amazon EC2 peut lancer une nouvelle instance Spot lorsque les exigences sont respectées.

# Marquer les demandes d’instance Spot
<a name="concepts-spot-instances-request-tags"></a>

Pour vous aider à classer et à gérer vos demandes d’instance Spot, vous pouvez les marquer avec des métadonnées personnalisées. Vous pouvez affecter une balise à une demande d’instance Spot lorsque vous la créez, ou après. Vous pouvez attribuer des balises à l’aide de la console Amazon EC2 ou d’un outil de ligne de commande.

Lorsque vous balisez une demande d’instance Spot, les instances et les volumes lancés par la demande d’instance Spot ne sont pas automatiquement balisés. Vous devez baliser explicitement les instances et les volumes lancés par la demande d’instance Spot. Vous pouvez affecter une balise à une instance Spot et à des volumes pendant le lancement, ou après.

Pour plus d’informations sur le fonctionnement des balises, consultez [Baliser vos ressources Amazon EC2](Using_Tags.md).

**Topics**
+ [Conditions préalables](#tag-spot-request-prereqs)
+ [Baliser une nouvelle demande d’instance Spot](#tag-new-spot-instance-request)
+ [Baliser une demande d’instance Spot existante](#tag-existing-spot-instance-request)
+ [Afficher les balises de demande d’instance Spot](#view-spot-instance-request-tags)

## Conditions préalables
<a name="tag-spot-request-prereqs"></a>

Octroyez à l’utilisateur l’autorisation de baliser les ressources. Pour plus d’informations sur les stratégies IAM et les exemples de stratégies, consultez [Exemple : Baliser des ressources](ExamplePolicies_EC2.md#iam-example-taggingresources).

La politique IAM que vous créez est déterminée par la méthode que vous utilisez pour créer une demande d’instance Spot.
+ Si vous utilisez l’assistant de lancement d’instance ou `run-instances` pour demander Instances Spot, consultez [To grant a user the permission to tag resources when using the launch instance wizard or run-instances](#iam-run-instances).
+ Si vous utilisez la commande `request-spot-instances` pour demander des instances Spot, consultez [To grant a user the permission to tag resources when using request-spot-instances](#iam-request-spot-instances).

**Pour accorder à un utilisateur l’autorisation de baliser des ressources lors de l’utilisation de l’assistant de lancement d’instance ou de run-instances**  
Créez une politique IAM qui inclut les éléments suivants :
+ L’action `ec2:RunInstances`. Cela accorde à l’utilisateur l’autorisation de lancer une instance.
+ Pour `Resource`, spécifiez `spot-instances-request`. Cela permet aux utilisateurs de créer des demandes d’instance Spot, qui demandent des instances Spot.
+ L’action `ec2:CreateTags`. Celle-ci accorde à l’utilisateur l’autorisation de créer des balises.
+ Pour `Resource`, spécifiez `*`. Cela permet aux utilisateurs de baliser toutes les ressources créées lors du lancement de l’instance.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLaunchInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagSpotInstanceRequests",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

Lorsque vous utilisez cette RunInstances action pour créer des demandes d'instance ponctuelle et que vous balisez les demandes d'instance ponctuelle lors de la création, vous devez savoir comment Amazon EC2 évalue la `spot-instances-request` ressource dans la RunInstances déclaration selon laquelle elle est évaluée dans la politique IAM comme suit :
+ Si vous ne balisez pas une demande d'instance Spot lors de la création, Amazon EC2 n'évalue pas la `spot-instances-request` ressource dans la RunInstances déclaration.
+ Si vous balisez une demande d'instance Spot lors de la création, Amazon EC2 évalue la `spot-instances-request` ressource dans le relevé. RunInstances

Par conséquent, pour la ressource `spot-instances-request`, les règles suivantes s’appliquent à la stratégie IAM :
+ Si vous avez l' RunInstances habitude de créer une demande d'instance ponctuelle et que vous n'avez pas l'intention de baliser la demande d'instance ponctuelle lors de la création, vous n'avez pas besoin d'autoriser explicitement la `spot-instances-request` ressource ; l'appel aboutira.
+ Si vous avez l' RunInstances habitude de créer une demande d'instance Spot et que vous avez l'intention de baliser la demande d'instance Spot lors de sa création, vous devez inclure la `spot-instances-request` ressource RunInstances dans l'instruction d'autorisation, sinon l'appel échouera.
+ Si vous avez l' RunInstances habitude de créer une demande d'instance Spot et que vous avez l'intention de baliser la demande d'instance Spot lors de sa création, vous devez spécifier la `spot-instances-request` ressource ou inclure un `*` caractère générique dans CreateTags l'instruction d'autorisation, sinon l'appel échouera.

Par exemple, pour les politiques IAM, y compris les politiques qui ne sont pas prises en charge pour les demandes d’instance Spot, consultez [Utiliser instances Spot](ExamplePolicies_EC2.md#iam-example-spot-instances).

**Pour accorder à un utilisateur l'autorisation de baliser des ressources lorsqu'il utilise request-spot-instances**  
Créez une politique IAM qui inclut les éléments suivants :
+ L’action `ec2:RequestSpotInstances`. Cela accorde à l’utilisateur l’autorisation de créer une demande d’instance Spot.
+ L’action `ec2:CreateTags`. Celle-ci accorde à l’utilisateur l’autorisation de créer des balises.
+ Pour `Resource`, spécifiez `spot-instances-request`. Cela permet aux utilisateurs de baliser uniquement la demande d’instance Spot.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotInstanceRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:RequestSpotInstances",
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-instances-request/*"
        }
    ]
}
```

------

## Baliser une nouvelle demande d’instance Spot
<a name="tag-new-spot-instance-request"></a>

Dans les PowerShell exemples AWS CLI et, configurez la demande d'instance Spot comme suit :
+ Pour `ResourceType`, spécifiez `spot-instances-request`. Si vous indiquez une autre valeur, la demande d’instance Spot échouera.
+ Pour `Tags`, spécifiez la paire clé-valeur. Vous pouvez définir plusieurs paires clé-valeur.

------
#### [ Console ]

**Pour étiqueter une nouvelle demande d’instance Spot**

1. Suivez la procédure [Gérer vos instances Spot](using-spot-instances-request.md).

1. Pour ajouter une balise, sur la page **Ajouter des balises** , choisissez **Ajouter une balise**, puis entrez la clé et la valeur de la balise. Choisissez **Ajouter une autre balise** pour chaque balise supplémentaire.

   Pour chaque balise, vous pouvez baliser la demande d’instance Spot, les instances Spot et les volumes avec la même balise. Pour baliser les trois, assurez-vous que **instances**, **Volumes**, et **Demandes d’instance Spot** sont sélectionnés. Pour n’en baliser qu’une ou deux, assurez-vous que les ressources que vous souhaitez baliser sont sélectionnées et que les autres ressources sont effacées.

1. Remplissez les champs obligatoires pour créer une demande d’instance Spot, puis choisissez **Lancer**. Pour de plus amples informations, veuillez consulter [Gérer vos instances Spot](using-spot-instances-request.md).

------
#### [ AWS CLI ]

**Pour étiqueter une nouvelle demande d’instance Spot**  
Utilisez la commande [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) avec l’option `--tag-specification`.

La spécification de balise ajoute deux balises à la demande d’instance Spot : `Environment=Production` et `Cost-Center=123`.

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json \
    --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment,Value=Production},{Key=Cost-Center,Value=123}]'
```

------
#### [ PowerShell ]

**Pour étiqueter une nouvelle demande d’instance Spot**  
Utilisez l'[Request-EC2SpotInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotInstance.html)applet de commande avec le `-TagSpecification` paramètre.

```
-TagSpecification $tagspec
```

La spécification de balise est définie comme suit. Cela ajoute deux balises à la demande d’instance Spot : `Environment=Production` et `Cost-Center=123`.

```
$tag1 = @{Key="Environment"; Value="Production"}
$tag2 = @{Key="Cost-Center"; Value="123"}
$tagspec = New-Object Amazon.EC2.Model.TagSpecification
$tagspec.ResourceType = "spot-instances-request"
$tagspec.Tags = @($tag1,$tag2)
```

------

## Baliser une demande d’instance Spot existante
<a name="tag-existing-spot-instance-request"></a>

------
#### [ Console ]

**Pour étiqueter une demande d’instance Spot existante**

Après avoir créé une demande d’instance Spot, vous pouvez ajouter des balises à la demande d’instance Spot à l’aide de la console.

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Sélectionnez votre demande d’instance Spot.

1. Choisissez l’onglet **Tags (Balises)**, puis **Create Tag (Créer une balise)**.

**Pour baliser une instance Spot existante à l’aide de la console**  
Une fois que votre demande d’instance Spot a lancé votre instance Spot, vous pouvez ajouter des balises à l’instance à l’aide de la console. Pour de plus amples informations, veuillez consulter [Ajout de balises à l’aide de la console](Using_Tags_Console.md#adding-or-deleting-tags).

------
#### [ AWS CLI ]

**Pour étiqueter une demande d’instance Spot existante ou une instance Spot**  
Utilisez la commande [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) pour baliser les ressources existantes. Dans l’exemple suivant, la demande d’instance Spot existante et l’instance Spot sont étiquetées avec `purpose=test`.

```
aws ec2 create-tags \
    --resources sir-0e54a519c9EXAMPLE i-1234567890abcdef0 \
    --tags Key=purpose,Value=test
```

------
#### [ PowerShell ]

**Pour étiqueter une demande d’instance Spot existante ou une instance Spot**  
Utilisez l’applet de commande [New-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Tag.html). L’exemple suivant ajoute la balise `purpose=test` à la demande d’instance Spot existante et à l’instance Spot.

```
New-EC2Tag `
    -Resource sir-0e54a519c9EXAMPLE, i-1234567890abcdef0 `
    -Tag @{Key="purpose"; Value="test"}
```

------

## Afficher les balises de demande d’instance Spot
<a name="view-spot-instance-request-tags"></a>

------
#### [ Console ]

**Pour afficher les balises de demande d’instance Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Sélectionnez votre demande d’instance Spot et choisissez l’onglet **Balises**.

------
#### [ AWS CLI ]

**Pour décrire les balises de demande d’instance Spot**  
Utilisez la [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html)commande pour afficher la configuration de la demande d'instance Spot spécifiée, qui inclut toutes les balises spécifiées pour la demande.

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].Tags"
```

Voici un exemple de sortie.

```
[
    [
        {
            "Key": "Environment",
            "Value": "Production"
        },
        {
            "Key": "Department",
            "Value": "101"
        }
    ]
]
```

------
#### [ PowerShell ]

**Pour décrire les balises de demande d’instance Spot**  
Utilisez l’applet de commande [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html).

```
(Get-EC2SpotInstanceRequest `
    -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).Tags
```

Voici un exemple de sortie.

```
Key         Value
---         -----
Environment Production
Department  101
```

------

# Annuler une demande d’instance Spot
<a name="using-spot-instances-cancel"></a>

Si vous n’avez plus besoin de votre demande d’instance Spot, vous pouvez l’annuler. Vous pouvez ne pouvez annuler que les demandes d’instances Spot qui sont `open`, `active`, ou `disabled`.
+ Votre demande d’instance Spot est `open` lorsqu’elle n’a pas encore été exécutée et si aucune instance n’a été lancée.
+ Votre demande d’instance Spot est `active` lorsqu’elle a été satisfaite et que les instances Spot ont été lancées en conséquence. 
+ Votre demande d’instance Spot est `disabled` lorsque vous arrêtez votre instance Spot.

Si votre demande d’instance Spot est `active` et qu’elle est associée à une instance Spot en cours d’exécution, l’annulation de la demande ne résilie pas l’instance. Pour plus d’informations sur la résiliation d’une instance Spot, consultez [Résilier une instance Spot](using-spot-instances-request.md#terminating-a-spot-instance).

------
#### [ Console ]

**Pour annuler une demande d’instance Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Sélectionnez la demande d’instance Spot.

1. Choisissez **Actions**, **Annuler la demande**.

1. (Facultatif) Si vous n’avez plus besoin d’utiliser les instances Spot associées, vous pouvez les résilier. Dans la boîte de dialogue **Annuler la demande Spot** sélectionnez **Terminer les instances**, puis choisissez **Confirmer**.

------
#### [ AWS CLI ]

**Pour annuler une demande d’instance Spot**  
Utilisez la commande [cancel-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-instance-requests.html) suivante.

```
aws ec2 cancel-spot-instance-requests --spot-instance-request-ids sir-0e54a519c9EXAMPLE
```

------
#### [ PowerShell ]

**Pour annuler une demande d’instance Spot**  
Utilisez l’applet de commande [Stop-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotInstanceRequest.html).

```
Stop-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

# Gérer vos instances Spot
<a name="using-spot-instances-request"></a>

Amazon EC2 lance une instance Spot lorsque la capacité est disponible. Une instance Spot s’exécute jusqu’à ce qu’elle soit interrompue ou que vous la résiliiez.

**Topics**
+ [Rechercher vos instances Spot](#using-spot-instances-running)
+ [Recherche d’instances lancées par une demande spécifique](#find-request-spot-instances)
+ [Arrêt d’une instance Spot](#stopping-a-spot-instance)
+ [Démarrer une instance Spot](#starting-a-spot-instance)
+ [Résilier une instance Spot](#terminating-a-spot-instance)

## Rechercher vos instances Spot
<a name="using-spot-instances-running"></a>

Une instance Spot s’affiche sur la page **Instances** de la console, avec les instances à la demande. Utilisez la procédure suivante pour trouver vos instances Spot.

------
#### [ Console ]

**Pour rechercher vos instances Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Pour trouver toutes les instances Spot, dans le volet de recherche, choisissez **cycle de vie de l’instance=spot**.

1. Pour vérifier qu’une instance est une instance Spot, sélectionnez-la, cliquez sur l’onglet **Détails** et vérifiez la valeur du **Cycle de vie**. La valeur d’une instance Spot est `spot` et la valeur d’une instance à la demande est `normal`.

------
#### [ AWS CLI ]

**Pour rechercher vos instances Spot**  
Utilisez la commande [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) suivante.

```
aws ec2 describe-instances --filters "Name=instance-lifecycle,Values=spot"
```

**Pour déterminer si une instance est une instance Spot**  
Utilisez la commande [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) suivante.

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[*].InstanceLifecycle" \
    --output text
```

Si le résultat est `spot`, l’instance est une instance Spot. S’il n’y a aucun résultat, l’instance est une instance à la demande.

------
#### [ PowerShell ]

**Pour rechercher vos instances Spot**  
Utilisez l’applet de commande [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
Get-EC2Instance -Filter @{Name="instance-lifecycle"; Values="spot"}
```

**Pour déterminer si une instance est une instance Spot**  
Utilisez l’applet de commande [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.InstanceLifecycle
```

Si le résultat est `Spot`, l’instance est une instance Spot. S’il n’y a aucun résultat, l’instance est une instance à la demande.

------

## Recherche d’instances lancées par une demande spécifique
<a name="find-request-spot-instances"></a>

Utilisez la procédure suivante pour trouver les instances Spot lancées à partir d’une demande spécifique d’instance Spot ou du parc d’instances Spot.

------
#### [ Console ]

**Pour rechercher les instances Spot d’une demande**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**. La liste contient à la fois des demandes d’instances Spot et celles de parc d’instances Spot.

1. Si une demande d’instance Spot est satisfaite, **Capacité** est l’ID de l’instance Spot. Pour un parc d’instances Spot, le champ **Capacité** indique la part de la capacité demandée qui a été satisfaite. Pour afficher les instances IDs d'un parc ponctuel, cliquez sur la flèche d'extension ou sélectionnez le parc et choisissez **Instances**.

1. Pour un parc d’instances Spot, le champ **Capacité** indique la part de la capacité demandée est satisfaite. Pour afficher les instances IDs d'un parc Spot, choisissez l'ID du parc pour ouvrir sa page de détails et localiser le volet **Instances**.

------
#### [ AWS CLI ]

**Pour rechercher les instances Spot d’une demande**  
Utilisez la commande [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) suivante.

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].{ID:InstanceId}"
```

Voici un exemple de sortie :

```
[
    {
        "ID": "i-1234567890abcdef0"
    },
    {
        "ID": "i-0598c7d356eba48d7"
    }
]
```

------
#### [ PowerShell ]

**Pour rechercher les instances Spot d’une demande**  
Utilisez l’applet de commande [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html).

```
(Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).InstanceId
```

------

## Arrêt d’une instance Spot
<a name="stopping-a-spot-instance"></a>

Si vous n’avez pas besoin de vos instances Spot actuellement, mais que vous souhaitez les redémarrer plus tard sans perdre les données persistantes du volume Amazon EBS, vous pouvez les arrêter. Les étapes d’arrêt d’une instance Spot sont similaires à celles de l’arrêt d’une instance à la demande.

**Note**  
Pendant qu’une instance Spot est arrêtée, vous pouvez modifier certains de ses attributs, mais pas le type d’instance.   
Nous ne vous facturons pas l’utilisation d’une instance Spot arrêtée, ni les frais de transfert de données, mais nous facturons le stockage des volumes Amazon EBS.

**Limitations**
+ Vous ne pouvez arrêter une instance Spot que si elle a été lancée à partir d’une demande d’instance Spot `persistent`.
+ Vous ne pouvez pas arrêter une instance Spot si la demande d’instance Spot associée est annulée. Lorsque la demande d’instance Spot est annulée, vous ne pouvez que résilier l’instance Spot.
+ Vous ne pouvez pas arrêter une instance Spot si elle fait partie d’une flotte, d’un groupe de lancement ou d’un groupe de zone de disponibilité.

------
#### [ Console ]

**Pour arrêter une instance Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Sélectionnez l’instance Spot. Si vous n’avez pas enregistré l’ID de l’instance Spot, consultez [Rechercher vos instances Spot](#using-spot-instances-running).

1. Choisissez **État de l’instance**, **Arrêter l’instance**.

1. Lorsque vous êtes invité à confirmer l’opération, choisissez **Arrêter**.

------
#### [ AWS CLI ]

**Pour arrêter une instance Spot**  
Utilisez la commande [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) pour arrêter manuellement vos instances Spot.

```
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**Pour arrêter une instance Spot**  
Utilisez l’applet de commande [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html).

```
Stop-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## Démarrer une instance Spot
<a name="starting-a-spot-instance"></a>

Vous pouvez démarrer une instance Spot que vous avez précédemment arrêtée.

**Conditions préalables**

Vous pouvez démarrer une instance Spot uniquement si :
+ Vous avez manuellement arrêté l’instance Spot.
+ L’instance Spot est une instance basée sur EBS.
+ La capacité d’instance Spot est disponible.
+ Le prix Spot est inférieur à votre prix maximum.

**Limitations**
+ Vous ne pouvez pas démarrer une instance Spot qui fait partie d’une flotte, d’un groupe de lancement ou d’un groupe de zone de disponibilité.

Les étapes du démarrage d’une instance Spot sont similaires à celles du démarrage d’une instance à la demande.

------
#### [ Console ]

**Pour démarrer une instance Spot**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Sélectionnez l’instance Spot. Si vous n’avez pas enregistré les identifiants d’instance de l’instance Spot, consultez [Rechercher vos instances Spot](#using-spot-instances-running).

1. Choisissez **État de l’instance**, **Démarrer l’instance**.

------
#### [ AWS CLI ]

**Pour démarrer une instance Spot**  
Utilisez la commande [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) pour démarrer manuellement vos instances Spot.

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**Pour démarrer une instance Spot**  
Utilisez l’applet de commande [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html).

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## Résilier une instance Spot
<a name="terminating-a-spot-instance"></a>

**Avertissement**  
**La résiliation d’une instance est définitive et irréversible.**  
Une fois que vous avez résilié une instance, vous ne pouvez plus vous y connecter et elle ne peut pas être récupérée. Tous les volumes Amazon EBS attachés qui sont configurés pour être supprimés à la résiliation sont également supprimés de manière définitive et ne peuvent pas être récupérés. L’intégralité des données stockées sur les volumes de stockage d’instance est définitivement perdue. Pour de plus amples informations, veuillez consulter [Comment fonctionne la résiliation d'une instance](how-ec2-instance-termination-works.md).  
Avant de résilier à une instance, assurez-vous d’avoir sauvegardé toutes les données que vous devez conserver après la résiliation dans un stockage persistant.

Si vous résiliez une instance Spot en cours d’exécution ou arrêtée qui a été lancée par une demande d’instance Spot persistante, la demande d’instance Spot passe à l’état `open` pour qu’une nouvelle instance Spot puisse être lancée. Pour vous assurer qu’aucune nouvelle instance Spot ne soit lancée, vous devez d’abord annuler la demande d’instance Spot.

Si vous annulez une demande d’instance Spot `active` qui comporte une instance Spot en cours d’exécution, celle-ci n’est pas résiliée automatiquement. Vous devez la résilier manuellement.

Si vous annulez une demande d’instance Spot `disabled` qui a une instance Spot arrêtée, le service Spot Amazon EC2 résilie celle-ci automatiquement. Il peut y avoir un bref décalage entre le moment où vous annulez la demande d’instance Spot et celui où le service Spot résilie l’instance Spot.

Pour de plus amples informations, veuillez consulter [Annuler une demande d’instance Spot](using-spot-instances-cancel.md).

------
#### [ Console ]

**Pour résilier manuellement une instance Spot**

1. Avant de résilier une instance, vérifiez que vous ne perdrez aucune donnée en vous assurant que vos volumes Amazon EBS ne seront pas supprimés lors de la résiliation et que vous avez copié les données dont vous avez besoin des volumes du stockage d’instances vers un stockage persistant, par exemple Amazon EBS ou Amazon S3.

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Sélectionnez l’instance Spot. Si vous n’avez pas enregistré les identifiants d’instance de l’instance Spot, consultez [Rechercher vos instances Spot](#using-spot-instances-running).

1. Choisissez **État de l’instance**, **Résilier (supprimer) l’instance**.

1. Sélectionnez **Résilier (supprimer)** lorsque vous êtes invité à confirmer.

------
#### [ AWS CLI ]

**Pour résilier manuellement une instance Spot**  
Utilisez la commande [résilier-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) pour résilier manuellement vos instances Spot.

```
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7
```

------
#### [ PowerShell ]

**Pour résilier manuellement une instance Spot**  
Utilisez l’applet de commande [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html).

```
Remove-EC2Instance -InstanceId i-1234567890abcdef0
```

------

# Interruptions d’instance Spot
<a name="spot-interruptions"></a>

Vous pouvez lancer des instances Spot sur la capacité EC2 inutilisée et bénéficier de remises importantes si vous les renvoyez lorsque le service Amazon EC2 a à nouveau besoin de la capacité. Lorsque Amazon EC2 réclame une instance Spot, nous appelons cet événement une *interruption d’instance Spot*.

La demande d’instances Spot peut varier considérablement d’un instant à l’autre et la disponibilité des instances Spot peut également varier sensiblement selon le nombre d’instances EC2 disponibles qui ne sont pas utilisées. Il est toujours possible que votre instance Spot soit interrompue. Voici les raisons pour lesquelles Amazon EC2 est susceptible d’interrompre vos instances Spot :

**Capacité**  
Amazon EC2 peut interrompre votre instance Spot lorsqu’il en a besoin. EC2 récupère votre instance la plupart du temps pour réaffecter la capacité, mais elle peut également la récupérer pour d’autres raisons telles que la maintenance de l’hôte ou la désaffectation du matériel.

**Prix**  
Le prix Spot est supérieur à votre prix maximum.  
Vous pouvez spécifier le prix maximum dans votre demande Spot. Cependant, si vous spécifiez un prix maximal, vos instances seront interrompues plus fréquemment que si vous ne le spécifiez pas.

**Contraintes**  
Si votre demande comprend une exigence telle qu’un groupe de lancement ou un groupe de zone de disponibilité, les instances Spot sont résiliées en tant que groupe lorsque l’exigence n’est plus respectée.

Lorsqu’Amazon EC2 interrompt une instance Spot, il la résilie, l’arrête ou la met en hibernation, en fonction du comportement d’interruption que vous avez précisé lors de la création de la demande Spot.

**Topics**
+ [Comportement d’interruption](interruption-behavior.md)
+ [Se préparer aux interruptions](prepare-for-interruptions.md)
+ [Initier une interruption](initiate-a-spot-instance-interruption.md)
+ [Avis d’interruption d’instance Spot.](spot-instance-termination-notices.md)
+ [Identifier des instances Spot interrompues](finding-an-interrupted-Spot-Instance.md)
+ [Déterminer si Amazon EC2 a résilié une instance Spot](BidEvictedEvent.md)
+ [Facturation](billing-for-interrupted-spot-instances.md)

# Comportement des interruptions d’instance Spot
<a name="interruption-behavior"></a>

Lorsque vous créez une demande Spot, vous pouvez préciser le comportement d’interruption. Les comportements d’interruption possibles sont les suivants :
+ [Arrêter](#stop-spot-instances)
+ [Hibernate](#hibernate-spot-instances)
+ [Terminer](#terminate-interrupted-spot-instances)

Le comportement par défaut est qu’Amazon EC2 met fin aux instances Spot lorsqu’elles sont interrompues.

## Arrêter l’instances Spot interrompue
<a name="stop-spot-instances"></a>

Vous pouvez préciser qu’Amazon EC2 arrête vos instances Spot lorsqu’elles sont interrompues. Le type de la demande d’instance Spot doit être `persistent`. Vous ne pouvez pas spécifier de groupe de lancement dans la demande d’instance Spot. Pour EC2 flotte ou parc d’instances Spot, le type de demande doit être `maintain`.

**Considérations**
+ Seul Amazon EC2 peut redémarrer une instance Spot arrêtée.
+ Pour une instance Spot lancée par une demande d’instance Spot `persistent` : Amazon EC2 redémarre l’instance arrêtée quand la capacité est disponible dans la même zone de disponibilité et pour le même type d’instance que l’instance arrêtée (la même spécification de lancement doit être utilisée).
+ Pendant qu’une instance Spot est arrêtée, vous pouvez modifier certains de ses attributs, mais pas le type d’instance. Si vous détachez ou supprimez un volume EBS, celui-ci n’est pas attaché lorsque l’instance Spot est démarrée. Si vous détachez le volume racine et qu’Amazon EC2 tente de démarrer l’instance Spot, l’instance ne peut pas démarrer et Amazon EC2 résilie l’instance arrêtée.
+ Vous pouvez résilier une instance Spot pendant qu’elle est arrêtée.
+ Si vous annulez une demande d’instance Spot, une flotte EC2 ou un parc d’instances Spot, Amazon EC2 résilie les instances Spot associées qui sont arrêtées.
+ Pendant qu’une instance Spot interrompue est arrêtée, seuls les volumes EBS, qui sont préservés, vous sont facturés. Avec une flotte EC2 ou un parc d’instances Spot , si vous avez de nombreuses instances arrêtées, vous pouvez dépasser la limite du nombre de volumes EBS pour votre compte. Pour plus d’informations sur la facturation lorsqu’une instance Spot est interrompue, consultez [Facturation des instances Spot interrompues](billing-for-interrupted-spot-instances.md).
+ Assurez-vous de bien savoir ce que l’arrêt d’une instance implique. Pour des informations sur ce qui se produit lors de l’arrêt d’une instance, consultez [Différences entre les états d'instance](ec2-instance-lifecycle.md#lifecycle-differences).

## Mettre les instances Spot interrompues en veille prolongée
<a name="hibernate-spot-instances"></a>

Vous pouvez préciser qu’Amazon EC2 met en veille prolongée vos instances Spot lorsqu’elles sont interrompues. Pour de plus amples informations, veuillez consulter [Mettez en veille prolongée votre instance Amazon EC2](Hibernate.md).

Amazon EC2 propose désormais la même expérience de mise en veille prolongée pour les instances Spot que celle actuellement disponible pour les instances à la demande. Cette expérience offre une prise en charge complète, les éléments suivants étant désormais pris en charge pour la mise en veille prolongée des instances Spot :
+ [Plus pris en charge AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis)
+ [Plus de familles d’instances prises en charge](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families)
+ [Mise en veille prolongée à l’initiative de l’utilisateur](hibernating-instances.md)

## Résilier les instances Spot interrompues
<a name="terminate-interrupted-spot-instances"></a>

Lorsqu’Amazon EC2 interrompt une instance Spot, il résilie l’instance par défaut, sauf si vous spécifiez un autre comportement d’interruption, comme l’arrêt ou la mise en veille prolongée. Pour de plus amples informations, veuillez consulter [Terminez l'instance Amazon EC2](terminating-instances.md).

# Se préparer aux interruptions d’instance Spot
<a name="prepare-for-interruptions"></a>

La demande d’instances Spot peut varier considérablement d’un instant à l’autre et la disponibilité des instances Spot peut également varier sensiblement selon le nombre d’instances EC2 disponibles qui ne sont pas utilisées. Il est toujours possible que votre instance Spot soit interrompue. Par conséquent, vous devez veiller à ce que votre application soit préparée à une interruption d’instance Spot.

Nous vous recommandons de suivre ces bonnes pratiques afin de vous préparer à subir une interruption d’instance Spot.
+ Créez votre demande Spot à l’aide d’un groupe Auto Scaling. Si vos instances Spot sont interrompues, le groupe Auto Scaling lancera automatiquement les instances de remplacement. Pour plus d’informations, consultez [Groupes Auto Scaling avec types d’instance et options d’achat multiples](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) dans le *Guide de l’utilisateur Amazon EC2 Auto Scaling*.
+ Veillez à ce que votre instance soit prête pour le lancement dès que la demande est exécutée en utilisant une Amazon Machine Image (AMI) comportant la configuration logicielle requise. Vous pouvez également utiliser les données utilisateur afin d’exécuter les commandes lors du démarrage.
+ Les données stockées sur des volumes de stockage d’instance sont perdues lorsque l’instance est arrêtée ou résiliée. Sauvegardez les données importantes qui se trouvent sur les volumes de stockage d’instance vers un stockage plus persistant comme Amazon S3, Amazon EBS ou Amazon DynamoDB.
+ Stockez les données importantes régulièrement à un emplacement qui n’est pas touché par la résiliation de l’instance Spot. Par exemple, vous pouvez utiliser Amazon S3, Amazon EBS ou DynamoDB.
+ Divisez le travail en petites tâches (à l’aide d’une architecture Grid, Hadoop ou reposant sur les files d’attente) ou utilisez des points de contrôle afin de pouvoir enregistrer votre travail fréquemment.
+ Amazon EC2 émet un signal de recommandation de rééquilibrage à l’instance Spot lorsque l’instance présente un risque élevé d’interruption. Vous pouvez vous fier à la recommandation de rééquilibrage pour gérer de manière proactive les interruptions d’instance Spot sans avoir à attendre l’avis d’interruption d’instance Spot à deux minutes. Pour plus d’informations, consultez [Recommandations de rééquilibrage des instances EC2](rebalance-recommendations.md).
+ Utilisez les avis d’interruption d’instance Spot à deux minutes pour surveiller le statut de vos instances Spot. Pour plus d’informations, consultez [Avis d’interruption d’instance Spot.](spot-instance-termination-notices.md).
+ Même si nous nous efforçons de vous communiquer ces avertissements dès que possible, il se peut que votre instance Spot soit interrompue avant que les avertissements puissent être mis à disposition. Testez votre application afin de vous assurer qu’elle peut gérer correctement une interruption inattendue d’une instance, même si vous surveillez les signaux de recommandation de rééquilibrage et les avis d’interruption. Pour cela, exécutez l’application en utilisant une instance à la demande, puis résiliez vous-même cette instance à la demande.
+ Exécutez une expérience d'injection de pannes contrôlée AWS Fault Injection Service pour tester la façon dont votre application réagit lorsque votre instance Spot est interrompue. Pour plus d’informations, consultez le [Tutorial: Test Spot Instance interruptions using AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html) dans le *Guide de l’utilisateur AWS Fault Injection Service *.

# Lancement d’une interruption d’instance Spot
<a name="initiate-a-spot-instance-interruption"></a>

Vous pouvez sélectionner une demande d’instance Spot ou une demande de parc d’instances Spot dans la console Amazon EC2 et lancer une interruption d’instance Spot afin de tester la façon dont les applications de vos instances Spot gèrent les interruptions. Lorsque vous lancez l’interruption d’une instance Spot, Amazon EC2 vous avertit que votre instance Spot sera interrompue dans deux minutes. Puis, au bout de deux minutes, l’instance est interrompue.

Le service sous-jacent qui effectue l'interruption de l'instance Spot est AWS Fault Injection Service (AWS FIS). Pour plus d'informations sur AWS FIS, voir [AWS Fault Injection Service](https://aws.amazon.com/fis/).

**Note**  
Les comportements d’interruption sont `terminate`, `stop`, et `hibernate`. Si le comportement d’interruption défini est `hibernate`, lorsque vous lancez l’interruption d’une instance Spot, le processus de mise en veille commence immédiatement.

Le lancement d'une interruption d'instance Spot est pris en charge dans tous les pays Régions AWS sauf en Asie-Pacifique (Jakarta), en Asie-Pacifique (Osaka), en Chine (Pékin), en Chine (Ningxia) et au Moyen-Orient (Émirats arabes unis).

**Topics**
+ [Lancer une interruption d’instance Spot](#initiate-interruption)
+ [Vérifier l’interruption d’instance Spot](#spot-interruptions-verify-result)
+ [Quotas](#fis-quota-for-spot-instance-interruption)

## Lancer une interruption d’instance Spot
<a name="initiate-interruption"></a>

Vous pouvez utiliser la console EC2 pour lancer rapidement une interruption d’instance Spot. Lorsque vous sélectionnez une demande d’instance Spot, vous pouvez lancer l’interruption d’une instance Spot. Lorsque vous sélectionnez une demande de parc d’instances Spot, vous pouvez lancer l’interruption de plusieurs instances Spot à la fois.

Pour des tests plus avancés visant à tester les interruptions des instances Spot, vous pouvez créer vos propres tests à l'aide de la AWS FIS console.

**Pour lancer l’interruption d’une instance Spot dans une demande d’instance Spot à l’aide de la console EC2**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Spot Requests** (Demandes Spot).

1. Sélectionnez une demande d’instance Spot, puis sélectionnez **Actions**, **Initiate interruption** (Lancer une interruption). Vous ne pouvez pas sélectionner plusieurs demandes d’instance Spot pour lancer une interruption.

1. Dans la boîte de dialogue **Initiate Spot Instance interruption** (Lancer une interruption d’instance Spot), sous **Service access** (Accès à un service), utilisez le rôle par défaut ou sélectionnez un rôle existant. Pour sélectionner un rôle existant, choisissez **Utiliser un rôle de service existant**, puis, pour **Rôle IAM**, sélectionnez le rôle à utiliser.

1. Lorsque vous êtes prêt à lancer l’interruption de l’instance Spot, sélectionnez **Initiate interruption** (Lancer l’interruption).

**Pour lancer l’interruption d’une ou de plusieurs instances Spot dans une demande de parc d’instances Spot à l’aide de la console EC2**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Spot Requests** (Demandes Spot).

1. Sélectionnez une demande de parc d’instances Spot, puis sélectionnez **Actions**, **Lancer une interruption**. Vous ne pouvez pas sélectionner plusieurs demandes de parc d’instances Spot pour lancer une interruption.

1. Dans la boîte de dialogue **Spécifier le nombre d’instances Spot**, dans le champ **Nombre d’instances à interrompre**, saisissez le nombre d’instances Spot à interrompre, puis choisissez **Confirmer**.
**Note**  
Le nombre ne peut pas dépasser le nombre d'instances ponctuelles du parc ou votre [quota](#fis-quota-for-spot-instance-interruption) pour le nombre d'instances ponctuelles AWS FIS pouvant être interrompues par expérience.

1. Dans la boîte de dialogue **Initiate Spot Instance interruption** (Lancer une interruption d’instance Spot), sous **Service access** (Accès à un service), utilisez le rôle par défaut ou sélectionnez un rôle existant. Pour sélectionner un rôle existant, choisissez **Utiliser un rôle de service existant**, puis, pour **Rôle IAM**, sélectionnez le rôle à utiliser.

1. Lorsque vous êtes prêt à lancer l’interruption de l’instance Spot, sélectionnez **Initiate interruption** (Lancer l’interruption).

**Pour créer des expériences plus avancées afin de tester les interruptions des instances Spot à l'aide de la AWS FIS console**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Spot Requests** (Demandes Spot).

1. Sélectionnez **Actions**, **Create advanced experiments** (Créer des expériences avancées).

   La AWS FIS console s'ouvre. Pour plus d’informations, consultez [Didacticiel : tester les interruptions d’instance Spot à l’aide de AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html) dans le *Guide de l’utilisateur AWS Fault Injection Service *.

## Vérifier l’interruption d’instance Spot
<a name="spot-interruptions-verify-result"></a>

Après avoir lancé l’interruption, les événements suivants se produisent :
+ L’instance Spot reçoit une [recommandation de rééquilibrage d’instance](rebalance-recommendations.md).
+ Un [avis d'interruption de l'instance Spot](spot-instance-termination-notices.md) est émis deux minutes avant l' AWS FIS interruption de votre instance.
+ Après deux minutes, l’instance Spot est interrompue.
+ Une instance Spot arrêtée par le AWS FIS reste jusqu'à ce que vous la redémarriez.

**Pour vérifier que l’instance a été interrompue après le lancement de l’interruption**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Depuis le panneau de navigation, ouvrez **Demandes Spot** et **Instances** dans des onglets ou des fenêtres de navigateur distincts.

1. Pour les **demandes Spot**, sélectionnez la demande d’instance Spot ou la demande de parc d’instances Spot. L’état initial est `fulfilled`. Une fois l’instance interrompue, le statut change comme suit, en fonction du comportement d’interruption :
   + `terminate` – Le statut passe à `instance-terminated-by-experiment`.
   + `stop` – Le statut de l’instance passe à `marked-for-stop-by-experiment`, puis à `instance-stopped-by-experiment`.

1. Pour **Instances**, sélectionnez l’instance Spot. L’état initial est `Running`. Deux minutes après réception de l’avis d’interruption de l’instance Spot, le statut change comme suit, en fonction du comportement d’interruption :
   + `stop` – Le statut de l’instance passe à `Stopping`, puis à `Stopped`.
   + `terminate` – Le statut de l’instance passe à `Shutting-down`, puis à `Terminated`.

## Quotas
<a name="fis-quota-for-spot-instance-interruption"></a>

Vous Compte AWS avez le quota par défaut suivant pour le nombre d'instances ponctuelles AWS FIS pouvant être interrompues par expérience.


| Nom | Par défaut | Ajustable | Description | 
| --- | --- | --- | --- | 
|  Cible SpotInstances pour aws:ec2 : send-spot-instance-interruptions  |  Chaque Région prise en charge : 5  | Oui |  Le nombre maximum d'instances ponctuelles que aws:ec2 : send-spot-instance-interruptions peut cibler lorsque vous identifiez des cibles à l'aide de balises, par expérience.  | 

Vous pouvez demander une augmentation de quota. Pour de plus amples informations, veuillez consulter [Demande d’augmentation de quota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) dans le *Guide de l’utilisateur Service Quotas*.

Pour afficher tous les quotas pour AWS FIS, ouvrez la [console Service Quotas](https://console.aws.amazon.com/servicequotas/home). Dans le panneau de navigation, sélectionnez **Services AWS **, puis **AWS Fault Injection Service**. Vous pouvez également consulter tous les [quotas pour AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/fis-quotas.html) dans le *guide de l’utilisateur AWS Fault Injection Service *.

# Avis d’interruption d’instance Spot.
<a name="spot-instance-termination-notices"></a>

Un *avis d’interruption d’instance Spot* est un avertissement émis deux minutes avant qu’Amazon EC2 arrête ou résilie votre instance Spot. Lorsque vous spécifiez la mise en veille comme comportement d’interruption, vous recevez un avis d’interruption, mais vous ne recevez pas d’avertissement de deux minutes car le processus de mise en veille commence immédiatement.

La meilleure façon pour vous de gérer fluidement les interruptions d’instance Spot consiste à concevoir votre application pour qu’elle soit tolérante aux pannes. Pour ce faire, vous pouvez vous servir des avis d’interruption d’instance Spot. Nous vous recommandons de vérifier ces avis d’interruption toutes les 5 secondes. 

Les avis d'interruption sont mis à disposition en tant qu' EventBridge événement et en tant qu'éléments dans les [métadonnées de l'instance](ec2-instance-metadata.md) sur l'instance Spot. Les avis d’interruption sont créés sur la base du meilleur effort.

## EC2 Spot Instance Interruption Warning event
<a name="ec2-spot-instance-interruption-warning-event"></a>

Quand Amazon EC2 va interrompre votre instance Spot, il génère un évènement deux minutes avant l’interruption effective (sauf pour la veille prolongée, qui reçoit l’avis d’interruption, mais pas deux minutes à l’avance, car la mise en veille prolongée commence immédiatement). Cet événement peut être détecté par Amazon EventBridge. Pour plus d'informations sur EventBridge les événements, consultez le [guide de EventBridge l'utilisateur Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/). Pour obtenir un exemple détaillé qui vous explique comment créer et utiliser des règles d’événement, consultez [Tirer parti des avis d’interruption d’instance Spot Amazon EC2](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/).

Vous trouverez ci-dessous un exemple d’événement pour une interruption d’instance Spot. Les valeurs possibles pour `instance-action` sont `hibernate`, `stop` ou `terminate`.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Spot Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2a:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0",
        "instance-action": "action"
    }
}
```

**Note**  
Le format ARN de l’événement d’interruption de l’instance Spot est `arn:aws:ec2:availability-zone:instance/instance-id`. Ce format est différent du [format ARN des ressources EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies).

## instance-action
<a name="instance-action-metadata"></a>

L’élément `instance-action` spécifie l’action et l’heure approximative (UTC) à laquelle l’action aura lieu.

Si votre instance Spot est marquée comme devant être arrêtée ou résiliée par Amazon EC2, l’élément `instance-action` est présent dans les [métadonnées de l’instance](ec2-instance-metadata.md). Sinon, il n’est pas présent. Vous pouvez les récupérer `instance-action` à l'aide du service de métadonnées d'instance version 2 (IMDSv2) comme suit.

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/spot/instance-action
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/instance-action
```

------

 L’exemple de sortie suivant indique la date et l’heure auxquelles cette instance sera arrêtée.

```
{"action": "stop", "time": "2017-09-18T08:22:00Z"}
```

L’exemple de sortie suivant indique la date et l’heure auxquelles cette instance sera résiliée.

```
{"action": "terminate", "time": "2017-09-18T08:22:00Z"}
```

Si Amazon EC2 ne s’apprête pas à supprimer ou à arrêter l’instance, ou si vous avez suspendu vous-même l’instance, `instance-action` n’est pas présent dans les métadonnées de l’instance et vous recevez une erreur HTTP 404 lorsque vous tentez de la récupérer.

## termination-time
<a name="termination-time-metadata"></a>

L’élément `termination-time` spécifie l’heure approximative (au format UTC) à laquelle l’instance recevra le signal d’arrêt. 

**Note**  
Cet élément est conservé à des fins de compatibilité descendante ; nous vous invitons à utiliser `instance-action` à la place.

Si votre instance Spot est marquée comme devant être résiliée par Amazon EC2 (soit en raison d’une interruption d’instance Spot pour laquelle le comportement d’interruption est défini sur `terminate`, soit en raison de l’annulation d’une demande d’instance Spot persistante), l’élément `termination-time` est présent dans les métadonnées de votre [instance](ec2-instance-metadata.md). Sinon, il n’est pas présent. Vous pouvez récupérer l'`termination-time`utilisation IMDSv2 comme suit.

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
if curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/spot/termination-time | grep -q .*T.*Z; then echo termination_scheduled; fi
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/termination-time
```

------

Voici un exemple de sortie.

```
2015-01-05T18:02:00Z
```

Si Amazon EC2 ne se prépare pas à mettre fin à l’instance (soit parce qu’il n’y a pas d’interruption de l’instance Spot, soit parce que votre comportement d’interruption est défini sur `stop` ou `hibernate`), ou si vous avez mis fin à l’instance Spot vous-même, l’élément `termination-time` n’est pas présent dans les métadonnées de l’instance (vous recevez donc une erreur HTTP 404) ou contient une valeur qui n’est pas temporelle.

Si Amazon EC2 ne parvient pas à mettre hors service l’instance, le statut de la demande est défini sur `fulfilled`. La valeur `termination-time` reste dans les métadonnées de l’instance avec l’heure approximative initiale, qui se trouve maintenant dans le passé.

# Identifier des instances Spot interrompues
<a name="finding-an-interrupted-Spot-Instance"></a>

Lorsque vous décrivez vos instances EC2, les résultats incluent vos instances Spot. Le cycle de vie d’une instance Spot est `spot`. L’état de l’instance d’une instance Spot est soit `stopped` ou `terminated`, en fonction du comportement d’interruption que vous avez configuré. Pour une instance Spot mise en veille de manière prolongée, l’état de l’instance est `stopped`.

Pour plus d’informations sur la raison de l’interruption, consultez le code d’état de la demande Spot. Pour de plus amples informations, veuillez consulter [Obtenir le statut d’une demande d’instance Spot](spot-request-status.md).

------
#### [ Console ]

**Pour rechercher une instance Spot interrompue**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Appliquez le filtre suivant : **Instance lifecycle=spot**.

1. Appliquez le filtre **Instance state=stopped** ou **Instance state=terminated** en fonction du comportement d’interruption que vous avez configuré.

1. Pour chaque instance Spot, dans l’onglet **Détails**, sous **Détails de l’instance**, recherchez le **message de transition d’état**. Les codes suivants indiquent que l’instance Spot a été interrompue.
   + `Server.SpotInstanceShutdown`
   + `Server.SpotInstanceTermination`

------
#### [ AWS CLI ]

**Pour rechercher des instances Spot interrompues**  
Utilisez la commande [description-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) avec l’`--filters`option. Pour répertorier uniquement l'instance IDs dans la sortie, incluez l'`--query`option.

Si le comportement d’interruption de l’instance consiste à résilier les instances Spot, utilisez l’exemple suivant :

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=terminated \
              Name=state-reason-code,Values=Server.SpotInstanceTermination \
    --query "Reservations[*].Instances[*].InstanceId"
```

Si le comportement d’interruption de l’instance consiste à arrêter les instances Spot, utilisez l’exemple suivant :

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=stopped \
              Name=state-reason-code,Values=Server.SpotInstanceShutdown \
    --query "Reservations[*].Instances[*].InstanceId"
```

------
#### [ PowerShell ]

**Pour rechercher des instances Spot interrompues**  
Utilisez l’applet de commande [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

Si le comportement d’interruption de l’instance consiste à résilier les instances Spot, utilisez l’exemple suivant :

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="terminated"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

Si le comportement d’interruption de l’instance consiste à arrêter les instances Spot, utilisez l’exemple suivant :

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="stopped"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

------

# Déterminer si Amazon EC2 a résilié une instance Spot
<a name="BidEvictedEvent"></a>

Une instance Spot fonctionne jusqu’à ce qu’Amazon EC2 la résilie en réponse à une interruption de l’instance Spot, ou jusqu’à ce que vous la résiliez vous-même. Pour de plus amples informations, veuillez consulter [Comportement des interruptions d’instance Spot](interruption-behavior.md).

Après la résiliation d'une instance Spot, vous pouvez l'utiliser AWS CloudTrail pour voir si Amazon EC2 l'a résiliée. Si le CloudTrail journal inclut un`BidEvictedEvent`, cela indique qu'Amazon EC2 a mis fin à l'instance Spot. Si au contraire vous voyez un événement `TerminateInstances`, cela signifie qu’un utilisateur a résilié l’instance Spot.

Sinon, si vous souhaitez recevoir une notification indiquant qu'Amazon EC2 va interrompre votre instance Spot, utilisez Amazon pour répondre EventBridge à l'événement d'avertissement d'[interruption de l'instance Spot EC2](spot-instance-termination-notices.md#ec2-spot-instance-interruption-warning-event).

**Pour consulter les BidEvictedEvent événements dans CloudTrail**

1. Ouvrez la CloudTrail console à l'adresse [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Dans le panneau de navigation, sélectionnez **Historique des événements**.

1. Dans la liste des filtres, choisissez **Nom de l’évènement**, puis dans le champ de filtre à droite, saisissez **BidEvictedEvent**.

1. (Facultatif) Sélectionnez un intervalle de temps.

1. Si la liste n'est pas vide, choisissez **BidEvictedEvent**l'entrée qui en résulte pour ouvrir sa page de détails. Vous pouvez trouver des informations sur l’instance Spot dans le volet d’**enregistrement des événements**, y compris l’identifiant de l’instance Spot. Voici un exemple d’enregistrement d’événement.

   ```
   {
       "eventVersion": "1.05",
       "userIdentity": {
           "accountId": "123456789012",
           "invokedBy": "ec2.amazonaws.com"
       },
       "eventTime": "2016-08-16T22:30:00Z",
       "eventSource": "ec2.amazonaws.com",
       "userAgent": "ec2.amazonaws.com",
       "sourceIPAddress": "ec2.amazonaws.com",
       "eventName": "BidEvictedEvent",
       "awsRegion": "us-east-2",
       "eventID": "d27a6096-807b-4bd0-8c20-a33a83375054",
       "eventType": "AwsServiceEvent",
       "recipientAccountId": "123456789012",
       "RequestParameters": null,
       "ResponseElements": null,
       "serviceEventDetails": {
           "instanceIdSet": [
             "i-1eb2ac8eEXAMPLE"
           ]
       }
   }
   ```

1. Si vous n’avez pas trouvé d’entrée pour l’événement `BidEvictedEvent`, saisissez **TerminateInstances** comme nom de l’événement. Pour plus d’informations sur l’enregistrement d’un événement pour `TerminateInstances`, consultez [Exemples d'événements EC2 liés à l'API Amazon](monitor-with-cloudtrail.md#cloudtrail-event-examples).

# Facturation des instances Spot interrompues
<a name="billing-for-interrupted-spot-instances"></a>

Lors de l’interruption d’une instance Spot, vous êtes facturé pour l’utilisation de l’instance et du volume EBS, et vous pouvez encourir d’autres frais, comme indiqué ci-après.

## Utilisation de l’instance
<a name="billing-for-interrupted-spot-instances-instance-usage"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/billing-for-interrupted-spot-instances.html)

## Utilisation du volume EBS
<a name="billing-for-interrupted-spot-instances-ebs-usage"></a>

Pendant qu’une instance Spot interrompue est arrêtée, seuls les volumes EBS, qui sont préservés, vous sont facturés.

Avec une flotte EC2 ou un parc d’instances Spot , si vous avez de nombreuses instances arrêtées, vous pouvez dépasser la limite du nombre de volumes EBS pour votre compte. 

# Recommandations de rééquilibrage des instances EC2
<a name="rebalance-recommendations"></a>

La *recommandation de rééquilibrage* d’instance EC2 vous permet d’être averti lorsqu’une instance Spot présente un risque élevé d’interruption. Le signal peut arriver plus tôt que l’[avis d’interruption d’instance Spot à deux minutes](spot-instance-termination-notices.md), ce qui vous donne la possibilité de gérer l’instance Spot de manière proactive. Vous pouvez décider de rééquilibrer votre charge de travail en une instances Spot nouvelle ou existante qui ne présente pas un risque élevé d’interruption.

Amazon EC2 n’est pas toujours capable d’envoyer le signal de recommandation de rééquilibrage avant l’avis d’interruption d’instance Spot de deux minutes. Par conséquent, le signal de recommandation de rééquilibrage peut arriver avec l’avis d’interruption de deux minutes.

Les recommandations de rééquilibrage sont mises à disposition sous forme d' EventBridge événement et d'élément dans les [métadonnées de l'instance](ec2-instance-metadata.md) Spot. Les événements sont générés dans la mesure du possible.

**Note**  
Les recommandations de rééquilibrage ne sont prises en charge que pour les instances Spot qui sont lancées après le 5 novembre 2020 00:00 UTC.

**Topics**
+ [Actions de rééquilibrage que vous pouvez effectuer](#rebalancing-actions)
+ [Surveiller les signaux de recommandation de rééquilibrage](#monitor-rebalance-recommendations)
+ [Services utilisant le signal de recommandation de rééquilibrage](#services-using-rebalance-rec-signal)

## Actions de rééquilibrage que vous pouvez effectuer
<a name="rebalancing-actions"></a>

Voici quelques-unes des actions de rééquilibrage possibles que vous pouvez effectuer :

Arrêt normal  
Lorsque vous recevez le signal de recommandation de rééquilibrage pour une instance Spot, vous pouvez démarrer vos procédures d’arrêt d’instance, ce qui peut inclure la garantie que les processus sont terminés avant de les arrêter. Par exemple, vous pouvez charger des journaux système ou d’applications sur Amazon Simple Storage Service (Amazon S3), arrêter les travailleurs Amazon SQS ou terminer la désinscription du système de noms de domaine (DNS). Vous pouvez également enregistrer votre travail sur un stockage externe et le reprendre ultérieurement.

Empêcher la planification d’une nouvelle tâche  
Lorsque vous recevez le signal de recommandation de rééquilibrage pour une instance Spot, vous pouvez empêcher la planification d’une nouvelle tâche sur l’instance, tout en continuant à utiliser l’instance jusqu’à ce que les tâches planifiées soient terminées.

Lancer de manière proactive de nouvelles instances de remplacement  
Vous pouvez configurer des groupes Auto Scaling, une flotte EC2 ou un parc d’instances Spot pour lancer automatiquement des instances Spot de remplacement lorsqu’un signal de recommandation de rééquilibrage est émis. Pour plus d’informations, consultez [Utiliser le rééquilibrage de la capacité pour gérer les interruptions Spot Amazon EC2](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html) (langue française non garantie) dans le *Guide de l’utilisateur Amazon EC2 Auto Scaling*, et [Utilisez le rééquilibrage des capacités dans la flotte EC2 et le parc Spot pour remplacer les instances ponctuelles à risque](ec2-fleet-capacity-rebalance.md) dans ce même guide de l’utilisateur.

## Surveiller les signaux de recommandation de rééquilibrage
<a name="monitor-rebalance-recommendations"></a>

Vous pouvez surveiller le signal de recommandation de rééquilibrage afin que vous puissiez effectuer les actions spécifiées dans la section précédente lorsqu’il est émis. Le signal de recommandation de rééquilibrage est mis à disposition sous forme d'événement envoyé à Amazon EventBridge (anciennement Amazon CloudWatch Events) et sous forme de métadonnées d'instance sur l'instance Spot.

**Topics**
+ [Utilisez Amazon EventBridge](#cp-eventbridge)
+ [Utiliser les métadonnées d’instance](#cp-instance-metadata)

### Utilisez Amazon EventBridge
<a name="cp-eventbridge"></a>

Lorsque le signal de recommandation de rééquilibrage est émis pour une instance Spot, l'événement correspondant au signal est envoyé à Amazon EventBridge. S'il EventBridge détecte un modèle d'événement correspondant à un modèle défini dans une règle, EventBridge invoque une cible (ou des cibles) spécifiée dans la règle.

Voici un exemple d’événement pour le signal de recommandation de rééquilibrage.

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Instance Rebalance Recommendation",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0"
    }
}
```

Les champs suivants forment le modèle d’événement défini dans la règle :

`"detail-type": "EC2 Instance Rebalance Recommendation"`  
Identifie que l’événement est un événement de recommandation de rééquilibrage

`"source": "aws.ec2"`  
Identifie que l’événement provient de Amazon EC2

#### Création d'une EventBridge règle
<a name="cp-eventbridge-rule"></a>

Vous pouvez écrire une EventBridge règle et automatiser les actions à effectuer lorsque le modèle d'événement correspond à la règle.

L'exemple suivant crée une EventBridge règle pour envoyer un e-mail, un SMS ou une notification push mobile chaque fois qu'Amazon EC2 émet un signal de recommandation de rééquilibrage. Le signal est émis en tant qu’événement de `EC2 Instance Rebalance Recommendation`, ce qui déclenche l’action définie par la règle.

Avant de créer la EventBridge règle, vous devez créer la rubrique Amazon SNS pour l'e-mail, le message texte ou la notification push mobile.

**Pour créer une EventBridge règle pour un événement de recommandation de rééquilibrage**

1. Ouvrez la EventBridge console Amazon à l'adresse [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Choisissez **Créer une règle**.

1. Pour **Define rule detail** (Définir les détails de la règle), procédez comme suit :

   1. Entrez un **nom** et éventuellement une description pour la règle.

      Une règle ne peut pas avoir le même nom qu’une autre règle de la même région et sur le même bus d’événement.

   1. Pour **Event bus** (Bus d’événement), choisissez **default** (défaut). Lorsqu’un service AWS de votre compte génère un événement, il accède toujours au bus d’événement par défaut de votre compte.

   1. Pour **Rule type** (Type de règle), choisissez **Rule with an event pattern** (Règle avec un modèle d’événement).

   1. Choisissez **Suivant**.

1. Pour **Build event pattern** (Créer un modèle d’événement), procédez comme suit :

   1. Dans **Source de l'événement**, sélectionnez **AWS événements ou événements EventBridge partenaires**.

   1. Pour le **Event pattern** (Modèle d’événement), dans cet exemple, spécifiez le modèle d’événement suivant pour correspondre à l’événement `EC2 Instance Rebalance Recommendation`, puis choisissez **Save** (Enregistrer).

      ```
      {
       "source": ["aws.ec2"],
       "detail-type": ["EC2 Instance Rebalance Recommendation"]
      }
      ```

      Pour ajouter le modèle d’événement, vous pouvez utiliser un modèle en choisissant **Event pattern form** (Formulaire de modèle d’événement), ou spécifiez votre propre modèle en choisissant **Custom pattern (JSON editor)** (Modèle personnalisé [éditeur JSON]), comme suit :

      1. Pour utiliser un modèle pour créer le modèle d’événement, procédez comme suit :

         1. Sélectionnez **Event pattern form** (Formulaire de modèle d’événement).

         1. Pour **Event source** (Origine de l’événement), choisissez **AWS services** (Services ).

         1. Pour **Service AWS **, choisissez **Parc d’instances Spot EC2**.

         1. Pour **Event type** (Type d’événement), choisissez **EC2 Instance Rebalance Recommendation** (Recommandation de rééquilibrage des instances EC2).

         1. Pour personnaliser le modèle, choisissez **Edit pattern** (Modifier le modèle) et apportez vos modifications pour correspondre à l’exemple de modèle d’événement.

      1. (Alternative) Pour spécifier un modèle d’événement personnalisé, procédez comme suit :

         1. Choisissez **Custom pattern (JSON editor)** (Modèle personnalisé [éditeur JSON]).

         1. Dans la boîte de dialogue **Event pattern** (Modèle d’événement), ajoutez le modèle d’événement pour cet exemple.

   1. Choisissez **Suivant**.

1. Pour **Select target(s)** (Sélectionner la ou les cibles), procédez comme suit :

   1. Pour **Types de cibles**, choisissez **service AWS **.

   1. Pour **Select a target** (Sélectionner une cible), sélectionnez **SNS topic** (Rubrique SNS) pour envoyer un e-mail, un SMS ou une notification push mobile lorsque l’événement se produit.

   1. Pour **Topic** (Rubrique), sélectionnez une rubrique existante. Vous devez d’abord créer une rubrique Amazon SNS à l’aide de la console Amazon SNS. Pour plus d'informations, consultez la section [Utilisation d'Amazon SNS pour la messagerie application-to-person (A2P) dans le manuel](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html) du développeur *Amazon Simple Notification Service*.

   1. (Facultatif) Sous **Additional settings** (Paramètres supplémentaires), vous pouvez configurer des paramètres supplémentaires. Pour plus d'informations, consultez la section [Création de EventBridge règles Amazon réagissant aux événements](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (étape 16) dans le *guide de EventBridge l'utilisateur Amazon*.

   1. Choisissez **Suivant**.

1. (Facultatif) Pour **Tags** (Identifications), vous pouvez également attribuer une ou plusieurs identifications à votre règle, puis choisir **Next** (Suivant).

1. Pour **Review and create** (Vérifier et créer), procédez comme suit :

   1. Consultez les détails de la règle et modifiez-les si nécessaire.

   1. Choisissez **Créer une règle**.

Pour plus d'informations, consultez les [ EventBridge règles Amazon et les](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) [modèles d' EventBridge événements Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) dans le *guide de EventBridge l'utilisateur Amazon*

### Utiliser les métadonnées d’instance
<a name="cp-instance-metadata"></a>

La catégorie de métadonnées d’instance `events/recommendations/rebalance` indique l’heure approximative, en UTC, à laquelle le signal de recommandation de rééquilibrage a été émis pour une instance Spot.

Nous vous recommandons de vérifier la présence de signaux de recommandation de rééquilibrage toutes les 5 secondes afin de ne pas manquer l’occasion de donner suite à la recommandation de rééquilibrage.

Si une instance Spot reçoit une recommandation de rééquilibrage, l’heure à laquelle le signal a été émis est présente dans les métadonnées de l’instance. Vous pouvez retrouver l’heure à laquelle le signal a été émis comme suit.

------
#### [ IMDSv2 ]

**Linux**  
Exécutez la commande suivante à partir de votre instance Linux.

**IMDSv2**

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Windows**  
Exécutez l’applet de commande suivant à partir de votre instance Windows

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------
#### [ IMDSv1 ]

**Linux**  
Exécutez la commande suivante à partir de votre instance Linux.

```
curl http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Windows**  
Exécutez l’applet de commande suivant à partir de votre instance Windows.

```
Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------

Voici un exemple de sortie, qui indique l’heure, en UTC, à laquelle le signal de recommandation de rééquilibrage a été émis pour l’instance Spot.

```
{"noticeTime": "2020-10-27T08:22:00Z"}
```

Si le signal n’a pas été émis pour l’instance, `events/recommendations/rebalance` n’est pas présent et vous recevez une erreur HTTP 404 lorsque vous essayez de le récupérer.

## Services utilisant le signal de recommandation de rééquilibrage
<a name="services-using-rebalance-rec-signal"></a>

Amazon EC2 Auto Scaling, la flotte EC2 et le parc d’instances Spot utilisent le signal de recommandation de rééquilibrage pour que vous puissiez facilement maintenir la disponibilité de la charge de travail en augmentant de manière proactive votre flotte avec une nouvelle instance Spot avant qu’une instance en cours ne reçoive l’avis d’interruption d’instance Spot à deux minutes. Vous pouvez demander à ces services de surveiller et de répondre de manière proactive aux changements affectant la disponibilité de votre instances Spot. Pour plus d’informations, consultez les ressources suivantes :
+ [Utiliser le rééquilibrage de la capacité pour gérer les interruptions Spot Amazon EC2](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html) (langue française non garantie) dans le *Guide de l’utilisateur Amazon EC2 Auto Scaling*
+ [Utilisez le rééquilibrage des capacités dans la flotte EC2 et le parc Spot pour remplacer les instances ponctuelles à risque](ec2-fleet-capacity-rebalance.md) dans la rubrique EC2 flotte et parc d’instances Spot de ce guide de l’utilisateur

# Score de placement Spot
<a name="spot-placement-score"></a>

La fonction de score de placement des Spot peut recommander une AWS région ou une zone de disponibilité en fonction de vos besoins en matière de capacité de Spot. La capacité Spot fluctue et vous ne pouvez pas être sûr d’obtenir toujours la capacité dont vous avez besoin. Un score de placement Spot indique la probabilité qu’une demande Spot soit effectuée avec succès dans une région ou une zone de disponibilité.

**Note**  
Un score de placement Spot ne fournit aucune garantie en termes de capacité disponible ou de risque d’interruption. Un score de placement Spot sert uniquement de recommandation.

**Cas d’utilisation**

Vous pouvez utiliser la fonction de score de placement Spot pour les éléments suivants :
+ Pour relocaliser et mettre à l’échelle la capacité de calcul Spot dans une autre région, le cas échéant, en réponse à des besoins accrus en capacité ou à une diminution de la capacité disponible dans la région actuelle.
+ Pour identifier la zone de disponibilité la plus optimale dans laquelle exécuter les charges de travail de zone de disponibilité unique.
+ Pour simuler les besoins futurs en capacité Spot afin de pouvoir choisir une région optimale pour l’expansion de vos charges de travail basées sur Spot.
+ Pour trouver une combinaison optimale de types d’instances pour répondre à vos besoins en capacité Spot.

**Topics**
+ [Limitations](#sps-limitations)
+ [Coûts](#sps-costs)
+ [Fonctionnement du score de placement Spot](how-sps-works.md)
+ [Autorisations requises pour le score de placement Spot](sps-iam-permission.md)
+ [Calculez le score de placement Spot](work-with-spot-placement-score.md)

## Limitations
<a name="sps-limitations"></a>
+ **Limite de capacité cible** : la limite de capacité cible de votre score de placement Spot est basée sur votre récente utilisation Spot, tout en tenant compte de la croissance potentielle de l’utilisation. Si vous n’avez pas récemment utilisé Spot, nous vous fournissons une limite par défaut faible alignée sur votre limite de demande Spot.
+ **Limite des configurations de demande** : nous pouvons limiter le nombre de nouvelles configurations de demande sur une période de 24 heures si nous détectons des modèles non associés à l’utilisation prévue de la fonction de score de placement Spot. Si vous atteignez la limite, vous pouvez réessayer les configurations de demande que vous avez déjà utilisées, mais vous ne pouvez pas spécifier de nouvelles configurations de demande avant les prochaines 24 heures.
+ **Nombre minimum de types d’instance** : si vous spécifiez des types d’instance, vous devez spécifier au moins trois types d’instance différents, sinon Amazon EC2 renverra un score de placement Spot faible. De même, si vous spécifiez des attributs d’instance, ils doivent être résolus à au moins trois types d’instance différents. Les types d’instance sont considérés comme différents s’ils portent un nom différent. Par exemple, m5.8xlarge, m5a.8xlarge et m5.12xlarge sont tous considérés comme différents.

## Coûts
<a name="sps-costs"></a>

L’utilisation de la fonction de score de placement Spot n’implique aucun coût supplémentaire.

# Fonctionnement du score de placement Spot
<a name="how-sps-works"></a>

Lorsque vous utilisez la fonction de score de placement Spot, vous spécifiez d’abord vos exigences de calcul pour vos instances Spot, puis Amazon EC2 renvoie les 10 principales régions ou zones de disponibilité où votre demande Spot est susceptible d’être effectuée avec succès. Chaque région ou zone de disponibilité est évaluée sur une échelle de 1 à 10, 10 indiquant que votre demande Spot est très susceptible de réussir, et 1 indiquant que votre demande Spot n’est pas susceptible de réussir.

**Topics**
+ [Étape 1 : indiquer vos exigences Spot](#sps-specify-requirements)
+ [Étape 2 : filtrer la réponse du score de placement Spot](#get-sps)
+ [Étape 3 : examiner les recommandations](#sps-recommendations)
+ [Étape 4 : utiliser les recommandations](#sps-use-recommendations)

## Étape 1 : indiquer vos exigences Spot
<a name="sps-specify-requirements"></a>

Tout d’abord, vous spécifiez la capacité Spot cible souhaitée et vos exigences de calcul, comme suit :

1. **Spécifiez la capacité Spot cible et éventuellement l’unité de capacité cible.**

   Vous pouvez spécifier la capacité Spot cible souhaitée en termes de nombre d'instances ou de vCPUs, ou en termes de quantité de mémoire en MiB. Pour spécifier la capacité cible en nombre de v CPUs ou en quantité de mémoire, vous devez spécifier l'unité de capacité cible sous la forme `vcpu` ou`memory-mib`. Sinon, le nombre d’instances est défini par défaut.

   En spécifiant votre capacité cible en termes de nombre de v CPUs ou de quantité de mémoire, vous pouvez utiliser ces unités pour compter la capacité totale. Par exemple, si vous souhaitez utiliser un mélange d'instances de différentes tailles, vous pouvez spécifier la capacité cible sous la forme d'un nombre total de CPUs v. La fonction de score de placement ponctuel considère ensuite chaque type d'instance dans la demande par son nombre de vCPUs, et compte le nombre total de v CPUs plutôt que le nombre total d'instances pour totaliser la capacité cible.

   Supposons, par exemple, que vous spécifiez une capacité cible totale de 30 V CPUs et que votre liste de types d'instances soit composée de c5.xlarge (4 vCPUs), m5.2xlarge (8 v) et r5.large (2 vCPUs). CPUs Pour obtenir un total de 30 VCPUs, vous pouvez obtenir une combinaison de 2 c5.xlarge (2\$14 vCPUs), 2 m5,2xlarge (2\$18 v) et 3 r5.large (3\$1 2 vCPUs). CPUs

1. **Spécifiez les types d’instance ou les attributs d’instance.**

   Vous pouvez soit spécifier les types d’instance à utiliser, soit spécifier les attributs d’instance dont vous avez besoin pour vos exigences de calcul, puis laisser Amazon EC2 identifier les types d’instance qui possèdent ces attributs. C’est ce qu’on appelle la sélection de type d’instance basée sur des attributs.

   Vous ne pouvez pas spécifier à la fois les types d’instance et les attributs d’instance dans la même demande de score de placement Spot.

   Si vous spécifiez des types d’instance, vous devez spécifier au moins trois types d’instance différents, sinon Amazon EC2 renvoie un score de placement Spot faible. De même, si vous spécifiez des attributs d’instance, ils doivent être résolus à au moins trois types d’instance différents.

Pour obtenir des exemples de différentes manières de spécifier vos exigences Spot, consultez [Exemples de configuration](work-with-spot-placement-score.md#sps-example-configs).

## Étape 2 : filtrer la réponse du score de placement Spot
<a name="get-sps"></a>

Amazon EC2 calcule le score de placement Spot pour chaque région ou zone de disponibilité, et renvoie les 10 principales régions ou zones de disponibilité où votre demande Spot est susceptible d’aboutir. Le procédé par défaut consiste à renvoyer une liste de régions évaluées. Si vous envisagez de lancer toute votre capacité Spot dans une seule zone de disponibilité, il est utile de demander une liste de zones de disponibilité évaluées.

Vous pouvez spécifier un filtre de région pour affiner les régions qui seront renvoyées dans la réponse.

Vous pouvez combiner le filtre Région et une demande de zones de disponibilité évaluées. De cette façon, les zones de disponibilité évaluées sont limitées aux régions filtrées. Pour trouver la zone de disponibilité la mieux notée dans une région, spécifiez uniquement cette région, et la réponse renvoie une liste notée de toutes les zones de disponibilité de cette région.

## Étape 3 : examiner les recommandations
<a name="sps-recommendations"></a>

Le score de placement Spot pour chaque région ou zone de disponibilité est calculé en fonction de la capacité cible, de la composition des types d’instance, des tendances historiques et actuelles de l’utilisation Spot et de l’heure de la demande. Étant donné que la capacité Spot fluctue constamment, la même demande de score de placement Spot peut générer des scores différents lorsqu’elle est calculée à des moments différents.

Les régions et les zones de disponibilité sont évaluées sur une échelle de 1 à 10. Un score de 10 indique que votre demande Spot est très susceptible, mais non garantie, d’aboutir. Un score de 1 indique que votre demande Spot a peu de chances d’aboutir. Le même score peut être renvoyé pour différentes régions ou zones de disponibilité.

Si des scores faibles sont renvoyés, vous pouvez modifier vos exigences de calcul et recalculer le score. Vous pouvez également demander des recommandations de score de placement Spot pour les mêmes exigences de calcul à différents moments de la journée.

## Étape 4 : utiliser les recommandations
<a name="sps-use-recommendations"></a>

Un score de placement Spot n’est pertinent que si votre demande Spot a exactement la même configuration que celle du score de placement Spot (capacité cible, unité de capacité cible, types d’instance ou attributs d’instance) et est configurée pour utiliser la stratégie d’allocation `capacity-optimized`. Sinon, la probabilité d’obtenir une capacité Spot disponible ne sera pas alignée sur le score.

Bien qu’un score de placement Spot serve de directive et qu’aucun score ne garantit que votre demande Spot sera entièrement ou partiellement satisfaite, vous pouvez utiliser les informations suivantes pour obtenir les meilleurs résultats :
+ **Utiliser la même configuration** : le score de placement Spot n’est pertinent que si la configuration de demande Spot (capacité cible, unité de capacité cible, types d’instance ou attributs d’instance) dans votre groupe Auto Scaling, flotte EC2 ou parc d’instances Spot est identique à celle que vous avez saisie pour obtenir le score de placement Spot.

  Si vous avez utilisé la sélection de type d’instance basée sur des attributs dans votre demande de score de placement Spot, vous pouvez utiliser la sélection de type d’instance basée sur des attributs pour configurer votre groupe Auto Scaling, flotte EC2 ou parc d’instances Spot. Pour plus d'informations, consultez la section [Créer un groupe d'instances mixtes à l'aide d'une sélection de type d'instance basée sur les attributs](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html) et [Spécifiez des attributs pour la sélection de type d’instance pour la flotte EC2](ec2-fleet-attribute-based-instance-type-selection.md).
**Note**  
Si vous avez spécifié votre capacité cible en termes de nombre de vCPU ou de quantité de mémoire, et que vous avez spécifié des types d’instance dans votre configuration de score de placement Spot, notez que vous ne pouvez actuellement pas créer cette configuration dans votre groupe Auto Scaling, flotte EC2 ou parc d’instances Spot. À la place, vous devez définir manuellement la pondération de l’instance à l’aide du paramètre `WeightedCapacity`.
+ **Utiliser la stratégie d’allocation `capacity-optimized`** : tout score suppose que votre demande de flotte sera configurée pour utiliser toutes les zones de disponibilité (pour demander de la capacité dans toutes les régions) ou une seule zone de disponibilité (si vous demandez une capacité dans une zone de disponibilité) et la stratégie d’allocation Spot `capacity-optimized` pour que votre demande de capacité Spot aboutisse. Si vous utilisez d’autres stratégies d’allocation, telles que `lowest-price`, la probabilité d’obtenir une capacité Spot disponible ne sera pas alignée sur le score.
+ **Agir immédiatement après l’obtention du score** : la recommandation de score de placement Spot reflète la capacité Spot disponible au moment de la demande, et la même configuration peut générer des scores différents lorsqu’elle est calculée à des moments différents en raison des fluctuations de capacité Spot. Bien qu’un score de 10 signifie que votre demande de capacité Spot est très susceptible, mais non garantie, d’aboutir, pour obtenir de meilleurs résultats, nous vous recommandons d’agir immédiatement après l’obtention du score. Nous vous recommandons également d’obtenir un nouveau score chaque fois que vous tentez une demande de capacité.

# Autorisations requises pour le score de placement Spot
<a name="sps-iam-permission"></a>

Par défaut, les identités IAM (utilisateurs, rôles ou groupes) ne sont pas autorisées à utiliser [Score de placement Spot](spot-placement-score.md). Pour autoriser les identités IAM à utiliser le score de placement Spot, vous devez créer une politique IAM qui accorde l’autorisation d’utiliser l’`ec2:GetSpotPlacementScores` action d’API EC2. Ensuite, vous attachez la politique aux identités IAM qui nécessitent l’autorisation.

Voici un exemple de politique IAM qui accorde l’autorisation d’utiliser l’action d’API EC2 `ec2:GetSpotPlacementScores`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:GetSpotPlacementScores",
            "Resource": "*"
        }
    ]
}
```

------

Pour en savoir plus sur la modification d’une politique IAM, consultez [Modification de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) dans le *Guide de l’utilisateur IAM*.

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
+ Utilisateurs et groupes dans AWS IAM Identity Center :

  Créez un jeu d’autorisations. Suivez les instructions de la rubrique [Création d’un jeu d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) du *Guide de l’utilisateur AWS IAM Identity Center *.
+ Utilisateurs gérés dans IAM par un fournisseur d’identité :

  Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique [Création d’un rôle pour un fournisseur d’identité tiers (fédération)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dans le *Guide de l’utilisateur IAM*.
+ Utilisateurs IAM :
  + Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique [Création d’un rôle pour un utilisateur IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.
  + (Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique [Ajout d’autorisations à un utilisateur (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) du *Guide de l’utilisateur IAM*.

# Calculez le score de placement Spot
<a name="work-with-spot-placement-score"></a>

Vous pouvez calculer un score de placement Spot en fonction d’exigences spécifiques en matières de capacité cible et de calcul. Pour de plus amples informations, veuillez consulter [Fonctionnement du score de placement Spot](how-sps-works.md).

**Autorisations nécessaires**  
Assurez-vous que vous disposez des autorisations requises. Pour de plus amples informations, veuillez consulter [Autorisations requises pour le score de placement Spot](sps-iam-permission.md).

**Topics**
+ [Calculer à l’aide des attributs d’instance](#sps-specify-instance-attributes-console)
+ [Calculer à l’aide des types d’instances](#sps-specify-instance-types-console)
+ [Calculez à l'aide du AWS CLI](#calculate-sps-cli)

**À la recherche une solution automatisée ?** Au lieu de suivre les étapes manuelles décrites dans ce guide de l'utilisateur, vous pouvez créer un tableau de bord de suivi des scores de placement Spot qui capture et stocke automatiquement les scores sur Amazon CloudWatch. Pour plus d'informations, consultez la section [Conseils pour la création d'un tableau de bord de suivi du score de placement Spot sur AWS](https://aws.amazon.com/solutions/guidance/building-a-spot-placement-score-tracker-dashboard-on-aws/).

## Calculer à l’aide des attributs d’instance
<a name="sps-specify-instance-attributes-console"></a>

**Pour calculer un score de placement Spot en spécifiant des attributs d’instance**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Cliquez sur la flèche vers le bas à côté de **Demander des instances Spot**, puis choisissez **Calculer le score de placement Spot**.

1. Choisissez **Enter requirements** (Saisir les exigences).

1. Pour **Capacité cible**, entrez la capacité souhaitée en termes de nombre d'**instances** ou de **v CPUs**, ou de quantité de **mémoire (MiB**).

1. Pour **Instance type requirements** (Exigences du type d’instance), pour spécifier vos exigences de calcul et permettre à Amazon EC2 d’identifier les types d’instances optimaux selon ces exigences, choisissez **Specify instance attributes that match your compute requirements** (Spécifier les attributs d’instance qui correspondent à vos exigences de calcul).

1. Pour **v CPUs**, entrez le nombre minimum et maximum de v souhaitésCPUs. Pour ne définir aucune limite, sélectionnez **Pas de minimum**, **Pas de maximum**, ou les deux.

1. Pour **Memory (GiB)** (Mémoire (Gio)), saisissez la quantité minimale et maximale de mémoire souhaitée. Pour ne spécifier aucune limite, sélectionnez **No minimum** (Pas de minimum), **No maximum** (Pas de maximum), ou les deux.

1. Pour **CPU architecture** (Architecture du processeur), sélectionnez l’architecture d’instance requise.

1. (Facultatif) Pour **Additional instance attributes** (Attributs d’instance supplémentaires), vous pouvez éventuellement spécifier un ou plusieurs attributs pour exprimer vos exigences de calcul plus en détail. Chaque attribut supplémentaire ajoute une contrainte supplémentaire à votre demande. Vous pouvez omettre les attributs supplémentaires. Lorsque ces attributs sont omis, les valeurs par défaut sont utilisées. Pour une description de chaque attribut et de leurs valeurs par défaut, consultez [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

1. (Facultatif) Pour afficher les types d’instance avec vos attributs spécifiés, développez **Preview matching instance types** (Aperçu des types d’instance correspondants). Pour empêcher des types d’instances d’être utilisés dans l’évaluation du placement, sélectionnez les instances, puis choisissez **Eclude selected instance types** (Exclure les types d’instances sélectionnés).

1. Choisissez **Load placement scores** (Charger les scores de placement) et vérifiez les résultats.

1. (Facultatif) Pour afficher le score de placement Spot pour des régions spécifiques, pour **Regions to evaluate** (Régions à évaluer), sélectionnez les régions à évaluer, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

1. (Facultatif) Pour afficher le score de placement Spot pour les zones de disponibilité dans les régions affichées, cochez la case **Fournir des scores de placement par zone de disponibilité**. Une liste de zones de disponibilité évaluées est utile si vous souhaitez lancer toute votre capacité Spot dans une seule zone de disponibilité.

1. (Facultatif) Pour modifier vos exigences de calcul et obtenir un nouveau score de placement, choisissez **Edit** (Modifier), effectuez les ajustements nécessaires, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

## Calculer à l’aide des types d’instances
<a name="sps-specify-instance-types-console"></a>

**Pour calculer un score de placement Spot en spécifiant des types d’instance**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Cliquez sur la flèche vers le bas à côté de **Demander des instances Spot**, puis choisissez **Calculer le score de placement Spot**.

1. Choisissez **Enter requirements** (Saisir les exigences).

1. Pour **Capacité cible**, entrez la capacité souhaitée en termes de nombre d'**instances** ou de **v CPUs**, ou de quantité de **mémoire (MiB**).

1. Pour **Instance type requirements** (Exigences de type d’instance), afin de spécifier les types d’instance à utiliser, choisissez **Manually select instance types** (Sélection manuelle des types d’instance).

1. Choisissez **Select instance types** (Sélectionner les types d’instance), sélectionnez les types d’instance à utiliser, puis choisissez **Select** (Sélectionner). Pour trouver rapidement des types d’instance, vous pouvez utiliser la barre de filtre afin de filtrer les types d’instance selon différentes propriétés.

1. Choisissez **Load placement scores** (Charger les scores de placement) et vérifiez les résultats.

1. (Facultatif) Pour afficher le score de placement Spot pour des régions spécifiques, pour **Regions to evaluate** (Régions à évaluer), sélectionnez les régions à évaluer, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

1. (Facultatif) Pour afficher le score de placement Spot pour les zones de disponibilité dans les régions affichées, cochez la case **Fournir des scores de placement par zone de disponibilité**. Une liste de zones de disponibilité évaluées est utile si vous souhaitez lancer toute votre capacité Spot dans une seule zone de disponibilité.

1. (Facultatif) Pour modifier la liste des types d’instance et obtenir un nouveau score de placement, choisissez **Edit** (Modifier), effectuez les ajustements nécessaires, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

## Calculez à l'aide du AWS CLI
<a name="calculate-sps-cli"></a>

**Pour calculer le score de placement Spot**

1. (Facultatif) Pour générer tous les paramètres possibles pouvant être spécifiés pour la configuration du score de placement Spot, utilisez la [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)commande et le `--generate-cli-skeleton` paramètre.

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --generate-cli-skeleton
   ```

   Voici un exemple de sortie.

   ```
   {
       "InstanceTypes": [
           ""
       ],
       "TargetCapacity": 0,
       "TargetCapacityUnitType": "vcpu",
       "SingleAvailabilityZone": true,
       "RegionNames": [
           ""
       ],
       "InstanceRequirementsWithMetadata": {
           "ArchitectureTypes": [
               "x86_64_mac"
           ],
           "VirtualizationTypes": [
               "hvm"
           ],
           "InstanceRequirements": {
               "VCpuCount": {
                   "Min": 0,
                   "Max": 0
               },
               "MemoryMiB": {
                   "Min": 0,
                   "Max": 0
               },
               "CpuManufacturers": [
                   "amd"
               ],
               "MemoryGiBPerVCpu": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "ExcludedInstanceTypes": [
                   ""
               ],
               "InstanceGenerations": [
                   "previous"
               ],
               "SpotMaxPricePercentageOverLowestPrice": 0,
               "OnDemandMaxPricePercentageOverLowestPrice": 0,
               "BareMetal": "excluded",
               "BurstablePerformance": "excluded",
               "RequireHibernateSupport": true,
               "NetworkInterfaceCount": {
                   "Min": 0,
                   "Max": 0
               },
               "LocalStorage": "included",
               "LocalStorageTypes": [
                   "hdd"
               ],
               "TotalLocalStorageGB": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "BaselineEbsBandwidthMbps": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorTypes": [
                   "fpga"
               ],
               "AcceleratorCount": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorManufacturers": [
                   "amd"
               ],
               "AcceleratorNames": [
                   "vu9p"
               ],
               "AcceleratorTotalMemoryMiB": {
                   "Min": 0,
                   "Max": 0
               }
           }
       },
       "DryRun": true,
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. Créez un fichier de configuration JSON à l’aide de la sortie de l’étape précédente et configurez-le comme suit :

   1. Pour`TargetCapacity`, entrez la capacité Spot souhaitée en termes de nombre d'instances ou de vCPUs, ou de quantité de mémoire (MiB).

   1. Pour `TargetCapacityUnitType`, saisissez l’unité correspondant à la capacité cible. Si vous omettez ce paramètre, `units` est utilisé par défaut.

      Valeurs valides : `units` (qui se traduit par le nombre d’instances) \$1 `vcpu` \$1 `memory-mib`

   1. Pour `SingleAvailabilityZone`, spécifiez `true` pour une réponse qui renvoie une liste de zones de disponibilité évaluées. Une liste de zones de disponibilité évaluées est utile si vous souhaitez lancer toute votre capacité Spot dans une seule zone de disponibilité. Si vous omettez ce paramètre, `false` est utilisé par défaut et la réponse renvoie une liste des régions notées.

   1. (Facultatif) Pour `RegionNames`, spécifiez les régions à utiliser comme filtre. Vous devez spécifier le code de région, par exemple, `us-east-1`.

      Avec un filtre de région, la réponse renvoie uniquement les régions que vous spécifiez. Si vous avez spécifié `true` pour `SingleAvailabilityZone`, la réponse renvoie uniquement les zones de disponibilité dans les régions spécifiées.

   1. Vous pouvez inclure `InstanceTypes` ou `InstanceRequirements`, mais pas les deux dans la même configuration.

      Spécifiez l’un des éléments suivants dans votre configuration JSON :
      + Pour spécifier une liste de types d’instances, spécifiez les types d’instances dans le paramètre `InstanceTypes`. Spécifiez au moins trois types d’instance différents. Si vous ne spécifiez qu’un ou deux types d’instance, le score de placement Spot renvoie un score faible. Pour accéder à la liste des types d’instance, consultez [Types d’instances Amazon EC2](https://aws.amazon.com/ec2/instance-types/).
      + Pour spécifier les attributs d’instance afin qu’Amazon EC2 identifie les types d’instance qui correspondent à ces attributs, spécifiez les attributs situés dans la structure `InstanceRequirements`.

        Vous devez fournir des valeurs pour `VCpuCount`, `MemoryMiB` et `CpuManufacturers`. Vous pouvez omettre les autres attributs. Lorsqu’ils sont omis, les valeurs par défaut sont utilisées. Pour une description de chaque attribut et de leurs valeurs par défaut, consultez [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

      Pour obtenir des exemples de configuration, consultez [Exemples de configuration](#sps-example-configs).

1. Pour obtenir le score de placement Spot correspondant aux exigences que vous avez spécifiées dans le fichier JSON, utilisez la [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)commande et spécifiez le nom et le chemin d'accès à votre fichier JSON à l'aide du `--cli-input-json` paramètre.

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --cli-input-json file://file_name.json
   ```

   Exemple de sortie si `SingleAvailabilityZone` est défini sur `false` ou omis (si omis, la valeur par défaut est `false`) : une liste de régions notées est renvoyée.

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "Score": 7
       },
       {
           "Region": "us-west-1",
           "Score": 5
       },  
      ...
   ```

   Exemple de sortie si `SingleAvailabilityZone` est défini sur `true` : une liste notée des zones de disponibilité est renvoyée.

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "use1-az1",
           "Score": 8
       },
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "usw2-az3",
           "Score": 6
       },
      ...
   ```

### Exemples de configuration
<a name="sps-example-configs"></a>

Lorsque vous utilisez le AWS CLI, vous pouvez utiliser les exemples de configuration suivants.

**Topics**
+ [Exemple : spécifier les types d’instance et la capacité cible](#example-config-instance-type-override)
+ [Exemple : spécifier les types d’instance et la capacité cible en termes de mémoire](#example-config-instance-type-memory-unit-override)
+ [Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs](#example-config-attribute-based-instance-type-selection)
+ [Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs et renvoyer une liste de zones de disponibilité évaluées](#example-config-sps-singleAZ)

#### Exemple : spécifier les types d’instance et la capacité cible
<a name="example-config-instance-type-override"></a>

L’exemple de configuration suivant spécifie trois types d’instance différents et une capacité Spot cible de 500 instances Spot.

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500
}
```

#### Exemple : spécifier les types d’instance et la capacité cible en termes de mémoire
<a name="example-config-instance-type-memory-unit-override"></a>

L’exemple de configuration suivant spécifie trois types d’instance différents et une capacité Spot cible de 500 000 Mio de mémoire, où le nombre d’instances Spot à lancer doit fournir un total de 500 000 Mio de mémoire.

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500000,
    "TargetCapacityUnitType": "memory-mib"
}
```

#### Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs
<a name="example-config-attribute-based-instance-type-selection"></a>

L’exemple de configuration suivant est configuré pour la sélection du type d’instance basé sur des attributs et est suivi d’une explication textuelle.

```
{
    "TargetCapacity": 5000,
    "TargetCapacityUnitType": "vcpu",
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

****`InstanceRequirementsWithMetadata`****  
Pour utiliser la sélection du type d’instance basée sur les attributs, vous devez inclure la structure `InstanceRequirementsWithMetadata` dans votre configuration et spécifier les attributs souhaités pour les instances Spot.

Dans l’exemple précédent, les attributs d’instance obligatoires suivants sont spécifiés :
+ `ArchitectureTypes` – le type d’architecture des types d’instance doit être `arm64`.
+ `VirtualizationTypes` – le type de virtualisation des types d’instance doit être `hvm`.
+ `VCpuCount`— Les types d'instance doivent avoir un minimum de 1 et un maximum de 12 CPUs v.
+ `MemoryMiB` : les types d’instance doivent avoir un minimum de 512 Mio de mémoire. En omettant le paramètre `Max`, vous indiquez qu’il n’y a pas de limite maximale.

Notez qu’il existe plusieurs autres attributs facultatifs que vous pouvez spécifier. Pour la liste des attributs, voir [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

**`TargetCapacityUnitType`**  
Le paramètre `TargetCapacityUnitType` spécifie l’unité de la capacité cible. Dans l'exemple, la capacité cible est `5000` et le type d'unité de capacité cible est`vcpu`, ce qui indique ensemble une capacité cible souhaitée de 5 000 VCPUs, le nombre d'instances ponctuelles à lancer devant fournir un total de 5 000 CPUs V.

#### Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs et renvoyer une liste de zones de disponibilité évaluées
<a name="example-config-sps-singleAZ"></a>

L’exemple de configuration suivant est configuré pour la sélection du type d’instance basée sur des attributs. En spécifiant `"SingleAvailabilityZone": true`, la réponse renverra une liste des zones de disponibilité évaluées.

```
{
    "TargetCapacity": 1000,
    "TargetCapacityUnitType": "vcpu",
    "SingleAvailabilityZone": true,
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

# Suivez vos coûts liés à l’instance Spot en utilisant le flux de données de l’instance Spot
<a name="spot-data-feeds"></a>

Pour vous aider à comprendre les frais associés à vos instances Spot, Amazon EC2 fournit un flux de données qui décrit votre utilisation des instances Spot et leur tarification. Ce flux de données est envoyé vers un compartiment Amazon S3 que vous spécifiez lorsque vous vous abonnez au flux de données.

Les fichiers de flux de données arrivent dans votre compartiment en général une fois par heure. Si vous n’avez aucune instance Spot en cours d’exécution à une certaine heure, vous ne recevez pas de fichier de flux de données pour cette heure.

Chaque heure d’utilisation de l’instance Spot est généralement couverte par un seul fichier de données. Ces fichiers sont compressés (gzip) avant qu’ils ne soient livrés à votre compartiment. Amazon EC2 peut inscrire les données dans plusieurs fichiers pour une heure spécifique d’utilisation lorsque les fichiers sont volumineux (par exemple, si le contenu du fichier pour cette heure dépasse les 50 Mo avant compression).

**Note**  
Vous ne pouvez créer qu'un seul flux de données d'instance Spot par Compte AWS.

Le flux de données des instances Spot est pris en charge dans toutes les AWS régions à l'exception de la Chine (Pékin), de la Chine AWS GovCloud (Ningxia), (États-Unis) et des [régions qui sont désactivées par défaut](using-regions-availability-zones.md#concepts-available-regions).

**Topics**
+ [Nom et format du fichier de flux de données](#using-spot-instances-format)
+ [Conditions requises pour le compartiment Amazon S3](#using-spot-instances-dfs3)
+ [S’abonner à votre flux de données d’instance Spot](#using-spot-instances-datafeed-all)
+ [Afficher les données dans votre flux de données](#using-spot-instances-datafeed-view-data)
+ [Supprimer votre flux de données d’instance Spot](#using-spot-instances-datafeed-delete)

## Nom et format du fichier de flux de données
<a name="using-spot-instances-format"></a>

Le nom du fichier de flux de données d’instance Spot utilise le format suivant (avec la date et l’heure au format UTC) : 

```
bucket-name.s3.amazonaws.com/optional-prefix/aws-account-id.YYYY-MM-DD-HH.n.unique-id.gz
```

Par exemple, si le nom de votre compartiment est **amzn-s3-demo-bucket** et que votre préfixe est **my-prefix**, vos noms de fichier ont le format suivant :

```
amzn-s3-demo-bucket.s3.amazonaws.com/my-prefix/111122223333.2023-12-09-07.001.b959dbc6.gz
```

Pour plus d’informations sur les noms de compartiment, veuillez consulter la rubrique [Règles de dénomination de compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) dans le *Guide de l’utilisateur Amazon S3*.

Les fichiers de flux de données d’instance Spot sont délimités par des tabulations. Chaque ligne du fichier de données correspond à une heure d’instance et contient les champs répertoriés dans le tableau suivant.


|  Champ  |  Description  | 
| --- | --- | 
|   `Timestamp`   |  Horodatage utilisé pour déterminer le prix facturé pour cette utilisation d’instance.  | 
|   `UsageType`   |  Type d’utilisation et type d’instance associés à la facturation. Pour `m1.small` Instances Spot, ce champ est défini sur `SpotUsage`. Pour tous les autres types d’instance, ce champ est défini sur `SpotUsage:`\$1*instance-type*\$1. Par exemple, `SpotUsage:c1.medium`.  | 
|   `Operation`   |  Le produit faisant l’objet d’une facturation. Pour les Instances Spot Linux, ce champ est défini sur `RunInstances`. Pour les Instances Spot Windows, ce champ est défini sur `RunInstances:0002`. L’utilisation des instances Spot est regroupée par zone de disponibilité.  | 
|   `InstanceID`   |  L’ID de l’instance Spot qui a généré cette utilisation d’instance.  | 
|   `MyBidID`   |  L’ID de la demande d’instance Spot qui a généré cette utilisation d’instance.  | 
|   `MyMaxPrice`   |  Prix maximum spécifié pour cette demande Spot.  | 
|   `MarketPrice`   |  Prix Spot au moment spécifié dans le champ `Timestamp`.  | 
|   `Charge`   |  Prix facturé pour cette utilisation d’instance.  | 
|   `Version`   |  Version du flux de données. La version disponible est la version 1.0.  | 

## Conditions requises pour le compartiment Amazon S3
<a name="using-spot-instances-dfs3"></a>

Lorsque vous vous abonnez au flux de données, vous devez spécifier un compartiment Amazon S3 afin de stocker les fichiers de flux de données.

Avant de choisir un compartiment Amazon S3 pour le flux de données, tenez compte des points suivants :
+ Vous devez bénéficier d’une autorisation `FULL_CONTROL` sur le compartiment. Si vous êtes le propriétaire du compartiment, vous disposez de cette autorisation par défaut. Dans le cas contraire, le propriétaire du bucket doit vous accorder Compte AWS cette autorisation.
+ Lorsque vous vous abonnez à un flux de données, ces autorisations sont utilisées pour mettre à jour l'ACL du bucket afin d'`FULL_CONTROL`autoriser le compte du flux de AWS données. Le compte AWS de flux de données écrit des fichiers de flux de données dans le compartiment. Si votre compte ne dispose pas des autorisations nécessaires, les fichiers de flux de données ne peuvent pas être écrits dans le compartiment. Pour plus d'informations, consultez la section [Logs envoyés à Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3) dans le *guide de l'utilisateur Amazon CloudWatch Logs*.

  Si vous mettez à jour l'ACL et supprimez les autorisations pour le compte de flux de AWS données, les fichiers de flux de données ne peuvent pas être écrits dans le bucket. Vous devez vous réabonner au flux de données pour recevoir les fichiers de flux de données.
+ Chaque fichier de flux de données a son propre ACL (distinct de celui du compartiment). Le propriétaire du compartiment bénéficie de l’autorisation `FULL_CONTROL` pour les fichiers de données. Le compte du flux de AWS données dispose d'autorisations de lecture et d'écriture.
+ Si vous supprimez votre abonnement au flux de données, Amazon EC2 ne supprime pas les autorisations de lecture et d'écriture du compte de flux de AWS données, que ce soit sur le compartiment ou sur les fichiers de données. Vous devez supprimer ces autorisations vous-même.
+ Si vous chiffrez votre compartiment Amazon S3 à l'aide d'un chiffrement côté serveur avec une AWS KMS clé stockée dans AWS Key Management Service (SSE-KMS), vous devez utiliser une clé gérée par le client. Pour plus d'informations, consultez la section [Chiffrement du compartiment Amazon S3 côté serveur dans le](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-SSE-KMS-S3) guide de *l'utilisateur Amazon CloudWatch Logs*.

## S’abonner à votre flux de données d’instance Spot
<a name="using-spot-instances-datafeed-all"></a>

Vous pouvez vous abonner à votre flux de données d’instance Spot à tout moment. Notez que vous ne pouvez pas accomplir cette tâche à l’aide de la console Amazon EC2.

Si vous recevez un message d’erreur indiquant que le compartiment ne dispose pas d’autorisations suffisantes, consultez l’article suivant pour obtenir des informations de résolution : [Résoudre les problèmes liés au flux de données pour les instances Spot](https://repost.aws/knowledge-center/s3-data-feed-ec2-spot-instances).

------
#### [ AWS CLI ]

**Pour vous abonner à votre flux de données**  
Utilisez la commande [create-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-spot-datafeed-subscription.html).

Pour spécifier un compartiment avec un préfixe, utilisez l’exemple suivant :

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket \
    --prefix my-prefix
```

Pour spécifier un compartiment sans préfixe, utilisez l’exemple suivant :

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket
```

------
#### [ PowerShell ]

**Pour vous abonner à votre flux de données**  
Utilisez l’applet de commande [New-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SpotDatafeedSubscription.html).

Pour spécifier un compartiment avec un préfixe, utilisez l’exemple suivant :

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket `
    -Prefix my-prefix
```

Pour spécifier un compartiment sans préfixe, utilisez l’exemple suivant :

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket
```

------

## Afficher les données dans votre flux de données
<a name="using-spot-instances-datafeed-view-data"></a>

Dans le AWS Management Console, ouvrez AWS CloudShell. Utilisez la commande de [s3 sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) suivante pour obtenir les fichiers .gz du compartiment S3 pour votre flux de données et stockez-les dans le dossier que vous précisez.

```
aws s3 sync s3://amzn-s3-demo-bucket ./data-feed
```

Pour afficher le contenu d’un fichier .gz, accédez au dossier dans lequel vous avez stocké le contenu du compartiment S3.

```
cd data-feed
```

Utilisez la commande **ls** pour afficher les noms des fichiers. Utilisez la commande **zcat** avec le nom du fichier pour afficher le contenu du fichier compressé. Voici un exemple de commande.

```
zcat  111122223333.2023-12-09-07.001.b959dbc6.gz
```

Voici un exemple de sortie.

```
#Version: 1.0
#Fields: Timestamp UsageType Operation InstanceID MyBidID MyMaxPrice MarketPrice Charge Version
2023-12-09 07:13:47 UTC USE2-SpotUsage:c7a.medium       RunInstances:SV050      i-0c3e0c0b046e050df     sir-pwq6nmfp    0.0510000000 USD        0.0142000000 USD        0.0142000000 USD        1
```

## Supprimer votre flux de données d’instance Spot
<a name="using-spot-instances-datafeed-delete"></a>

Lorsque vous avez terminé avec le flux de données d’instance Spot, vous pouvez le supprimer.

------
#### [ AWS CLI ]

**Pour supprimer votre flux de données**  
Utilisez la commande [delete-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-spot-datafeed-subscription.html).

```
aws ec2 delete-spot-datafeed-subscription
```

------
#### [ PowerShell ]

**Pour supprimer votre flux de données**  
Utilisez l’applet de commande [Remove-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SpotDatafeedSubscription.html).

```
Remove-EC2SpotDatafeedSubscription
```

------

# Rôle lié à un service pour les demandes d’instance Spot
<a name="service-linked-roles-spot-instance-requests"></a>

Amazon EC2 utilise des rôles liés à un service pour les autorisations requises pour appeler d’autres services AWS en votre nom. Un rôle lié à un service est un type unique de rôle IAM directement lié à un. Service AWS Les rôles liés à un service constituent un moyen sécurisé de déléguer des autorisations, Services AWS car seul le service lié peut assumer un rôle lié au service. Pour plus d’informations, consultez la section [Rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) dans le *Guide de l’utilisateur IAM*.

Amazon EC2 utilise le rôle lié au service nommé **AWSServiceRoleForEC2Spot** pour lancer et gérer les instances Spot en votre nom.

## Autorisations octroyées par AWSServiceRoleForEC2Spot
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2Spot"></a>

Amazon EC2 utilise **AWSServiceRoleForEC2Spot** pour effectuer les actions suivantes :
+ `ec2:DescribeInstances` – Décrire les instances Spot
+ `ec2:StopInstances` – Arrêter les instances Spot
+ `ec2:StartInstances` – Démarrer les instances Spot

## Création du rôle lié à un service
<a name="service-linked-role-creating-for-spot"></a>

Dans la plupart des cas, vous n’avez pas besoin de créer manuellement un rôle lié à un service. Amazon EC2 crée le rôle lié au service **AWSServiceRoleForEC2Spot** la première fois que vous demandez une instance Spot à l'aide de la console.

**Si vous avez reçu une demande d'instance Spot active avant octobre 2017, date à laquelle Amazon EC2 a commencé à prendre en charge ce rôle lié à un service, Amazon EC2 a créé le AWSService RoleFor EC2 rôle Spot dans votre compte.** AWS Pour plus d’informations, consultez [Un nouveau rôle est apparu dans mon compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared) dans le *IAM Guide de l’utilisateur*.

Si vous utilisez l'API AWS CLI ou une API pour demander une instance Spot, vous devez d'abord vous assurer que ce rôle existe.

**Pour créer **AWSServiceRoleForEC2Spot** à l'aide de la console**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Sélectionnez **Créer un rôle**.

1. Sur la page **Select type of trusted entity (Sélectionner le type d’entité de confiance)**, choisissez **EC2**, **EC2 - Spot Instances (EC2 - Instances Spot)**, **Suivant : Autorisations**.

1. Sur la page suivante, choisissez **Suivant : Vérification**.

1. Sur la page **Vérification**, choisissez **Create Role (Créer un rôle)**.

**Pour créer **AWSServiceRoleForEC2Spot** à l'aide du AWS CLI**  
Utilisez la commande [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) comme suit.

```
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```

Si vous n'avez plus besoin d'utiliser des instances Spot, nous vous recommandons de supprimer le rôle **AWSServiceRoleForEC2Spot**. Une fois ce rôle supprimé de votre compte, Amazon EC2 crée de nouveau le rôle si vous effectuez une demande d’instances Spot.

## Accordez l'accès aux clés gérées par le client pour les utiliser avec des instantanés chiffrés AMIs et EBS
<a name="spot-instance-service-linked-roles-access-to-cmks"></a>

Si vous spécifiez une [AMI chiffrée](AMIEncryption.md) ou un instantané Amazon EBS chiffré pour vos instances Spot et que vous utilisez une clé gérée par le client pour le chiffrement, vous devez accorder au rôle **AWSServiceRoleForEC2Spot** l'autorisation d'utiliser la clé gérée par le client afin qu'Amazon EC2 puisse lancer des instances Spot en votre nom. Pour cela, vous devez ajouter une autorisation à la clé gérée par le client, comme indiqué dans la procédure suivante.

Lorsque vous définissez les autorisations, les octrois constituent une alternative aux politiques de clé. Pour plus d’informations, consultez [Utilisation des octrois](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) et [Utilisation des stratégies de clé dans AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dans le *Guide du développeur AWS Key Management Service *.

**Pour accorder au rôle **AWSServiceRoleForEC2Spot** l'autorisation d'utiliser la clé gérée par le client**
+ Utilisez la commande [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) pour ajouter une autorisation à la clé gérée par le client et pour spécifier le principal (le rôle lié au service **AWSServiceRoleForEC2Spot**) autorisé à effectuer les opérations autorisées par l'autorisation. La clé gérée par le client est spécifiée par le paramètre `key-id` et l’ARN de la clé gérée par le client. Le principal est spécifié par le `grantee-principal` paramètre et l'ARN du rôle lié au service **AWSServiceRoleForEC2Spot**.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

# Quotas d’instances Spot
<a name="using-spot-limits"></a>

Il existe des quotas pour le nombre d’instances Spot en cours d’exécution et les demandes d’instances Spot en attente par Compte AWS et par région. Lorsqu’une demande d’instance Spot en attente est traitée, elle n’est plus prise en compte dans le quota, car l’instance en cours d’exécution est prise en compte dans le quota.

Les quotas d'instances Spot sont gérés en fonction du *nombre d'unités centrales virtuelles (vCPUs)* que vos instances Spot en cours d'exécution utilisent ou utiliseront en attendant le traitement des demandes d'instances Spot ouvertes. Si vous résiliez vos instances Spot, mais que vous n’annulez pas les demandes d’instances Spot, ces dernières sont comptabilisées par rapport au quota vCPU de vos instances Spot jusqu’à ce qu’Amazon EC2 détecte les résiliations et clôture les demandes.

Nous proposons les types de quotas suivants pour les instances Spot.


| Nom | Par défaut | Ajustable | 
| --- | --- | --- | 
| Toutes les demandes d’instance Spot DL | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-85EED4F7) | 
| Toutes les demandes d’instance Spot F | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-88CF9481) | 
| Toutes les demandes d’instance Spot G et VT | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-3819A6DF) | 
| Toutes les demandes d’instance Spot Inf | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-B5D1601B) | 
| Toutes les demandes d’instance Spot P | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7212CCBC) | 
| Toutes les demandes d’instance Spot standard (A, C, D, H, I, M, R, T, Z) | 5 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-34B43A08) | 
| Toutes les demandes d’instance Spot Trn | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6B0D517C) | 
| Toutes les demandes d’instance Spot X | 0 | [Oui](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-E3A00192) | 

Même si Amazon EC2 ajuste automatiquement vos quotas d’instances Spot en fonction de votre utilisation, vous pouvez demander une augmentation de quota si nécessaire. Par exemple, si vous avez l’intention de lancer plus d’instances Spot que celles autorisées par votre quota actuel, vous pouvez demander une augmentation de quota. Vous pouvez aussi demander une augmentation de quota si vous soumettez une demande d’instance Spot et que vous recevez l’erreur `Max spot instance count exceeded`. Pour demander une augmentation de quota, utilisez la console Service Quotas, comme décrit dans [Quotas EC2 de service Amazon](ec2-resource-limits.md).

Vous pouvez lancer toute combinaison de types d’instance qui répond à l’évolution de vos besoins en termes d’applications. Par exemple, avec un quota de 256 v pour toutes les demandes d'instances ponctuelles standardCPUs, vous pouvez demander 32 instances `m5.2xlarge` ponctuelles (32 x 8 vCPUs) ou 16 instances `c5.4xlarge` ponctuelles (16 x 16 vCPUs). 

Grâce à l'intégration CloudWatch des métriques Amazon, vous pouvez surveiller l'utilisation d'EC2 par rapport à vos quotas. Vous pouvez également configurer des alarmes pour vous avertir lorsque vous approchez des quotas. Pour plus d'informations, consultez la section [Quotas de service et CloudWatch alarmes Amazon](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html) dans le *guide de l'utilisateur des quotas de service*. .