Marquez une demande Spot Fleet nouvelle ou existante ainsi que les instances et volumes qu'elle lance - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Marquez une demande Spot Fleet nouvelle ou existante ainsi que les instances et volumes qu'elle lance

Pour vous aider à classer et à gérer vos demandes de parc Spot ainsi que les instances et volumes qu'il lance, vous pouvez les étiqueter à l'aide de métadonnées personnalisées. Vous pouvez affecter une étiquette à une demande de parc d’instances Spot lorsque vous la créez, ou après. De même, vous pouvez attribuer une étiquette aux instances et aux volumes lorsqu'ils sont lancés par le parc ou ultérieurement.

Lorsque vous balisez une demande de flotte, les instances et les volumes lancés par la flotte ne sont pas balisés automatiquement. Vous devez baliser explicitement les instances et les volumes lancés par la flotte. Vous pouvez choisir d'attribuer des balises uniquement à la demande de flotte, ou uniquement aux instances lancées par la flotte, ou uniquement aux volumes attachés aux instances lancées par la flotte, ou à l'ensemble d'entre elles.

Note

Vous ne pouvez baliser que les volumes attachés à des instances à la demande. Vous ne pouvez pas baliser les volumes attachés à instances Spot.

Vous pouvez attribuer des balises à l'aide de la EC2 console Amazon ou d'un outil de ligne de commande.

Pour plus d’informations sur le fonctionnement des balises, consultez Marquez vos EC2 ressources Amazon.

Prérequis

Octroyez à l’utilisateur l’autorisation de baliser les ressources. Pour de plus amples informations, veuillez consulter Exemple : Baliser des ressources.

Pour accorder à un utilisateur l’autorisation de baliser les ressources

Créez une IAM politique qui inclut les éléments suivants :

  • L’action ec2:CreateTags. Celle-ci accorde à l’utilisateur l’autorisation de créer des balises.

  • L’action ec2:RequestSpotFleet. Celle-ci accorde à l’utilisateur l’autorisation de créer une demande de parc d’instances Spot.

  • Pour Resource, vous devez spécifier "*". Cela permet aux utilisateurs de baliser tous les types de ressources.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" } ] }
Important

Actuellement, nous ne prenons pas en charge les autorisations de niveau ressource pour la ressource spot-fleet-request. Si vous spécifiez spot-fleet-request en tant que ressource, vous recevrez une exception de non-autorisation lorsque vous tenterez de baliser le parc. L’exemple suivant illustre comment ne pas définir la stratégie.

{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*" }

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Étiqueter un nouveau parc d’instances Spot et les instances et volumes qu’il lance

Pour étiqueter une nouvelle demande Spot Fleet ainsi que les instances et volumes qu'elle lance à l'aide de la console
  1. Suivez la procédure Création d’une demande de parc d’instances Spot à l’aide des paramètres définis (console).

  2. La façon dont vous ajoutez un tag varie selon que vous avez configuré manuellement la flotte ou que vous avez utilisé un modèle de lancement.

    • Si vous avez configuré le parc manuellement, procédez comme suit :

      Pour ajouter un tag, développez les paramètres de lancement supplémentaires, choisissez Create tag, puis entrez la clé et la valeur du tag. Répétez l’opération pour chaque balise.

      Pour chaque étiquette, vous pouvez étiqueter la demande de parc d’instances Spot et les instances avec la même étiquette. Pour baliser les deux, assurez-vous que les options Instances et Fleet sont sélectionnées. Pour étiqueter uniquement la demande de parc d’instances Spot, supprimez Instances. Pour étiqueter uniquement les instances lancées par la flotte, supprimer Fleet (Flotte).

      Note

      Lorsque vous configurez manuellement un parc, il n'est pas possible de baliser les volumes. Les balises de volume ne sont prises en charge que pour les volumes attachés à instances à la demande. Lorsque vous configurez manuellement un parc, vous ne pouvez pas spécifier d'instances à la demande.

    • Si vous avez utilisé un modèle de lancement, procédez comme suit :

      Pour ajouter un tag à la demande de flotte, sous Tags, choisissez Create Tag, puis entrez la clé et la valeur du tag. Répétez l’opération pour chaque étiquette.

      Pour étiqueter les ressources de votre flotte, vous devez spécifier des balises dans le modèle de lancement.

Pour étiqueter une nouvelle demande Spot Fleet ainsi que les instances et volumes qu'elle lance à l'aide du AWS CLI

Pour étiqueter une demande de parc d’instances Spot lors de sa création et pour étiqueter les instances et les volumes lorsqu’ils sont lancés par la flotte, configurez la demande de parc d’instances Spot comme suit :

Étiquettes de demande de parc d’instances Spot
  • Spécifiez les étiquettes pour la demande de parc d’instances Spot dans SpotFleetRequestConfig.

  • Pour ResourceType, spécifiez spot-fleet-request. Si vous indiquez une autre valeur, la demande de flotte échouera.

  • Pour Tags, spécifiez la paire clé-valeur. Vous pouvez définir plusieurs paires clé-valeur.

Balises d’instance :
  • Spécifiez les balises des instances dans LaunchSpecifications.

  • Pour ResourceType, spécifiez instance. Si vous indiquez une autre valeur, la demande de flotte échouera.

  • Pour Tags, spécifiez la paire clé-valeur. Vous pouvez définir plusieurs paires clé-valeur.

    Vous pouvez également spécifier les étiquettes de l’instance dans le modèle de lancement référencé dans la demande de parc d’instances Spot.

Balises de volume :
  • Spécifiez les étiquettes des volumes dans le modèle de lancement référencé dans la demande de parc d’instances Spot. Le balisage de volume dans LaunchSpecifications n’est pas pris en charge.

Dans l’exemple suivant, la demande de parc d’instances Spot est étiquetée par deux étiquettes : Key=Environment et Value=Production, ainsi que Key=Cost-Center et Value=123. Les instances qui sont lancées par la flotte sont identifiées avec une étiquette (qui est la même que l’une des étiquettes de la demande de parc d’instances Spot ) : Key=Cost-Center et Value=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }
Pour étiqueter les instances lancées par un parc de spots à l'aide du AWS CLI

Pour étiqueter les instances lorsqu’elles sont lancées par la flotte, vous pouvez spécifier les étiquettes dans le modèle de lancement référencé dans la demande de parc d’instances Spot ou dans la configuration de la demande de parc d’instances Spot comme suit :

  • Spécifiez les balises des instances dans LaunchSpecifications.

  • Pour ResourceType, spécifiez instance. Si vous indiquez une autre valeur, la demande de flotte échouera.

  • Pour Tags, spécifiez la paire clé-valeur. Vous pouvez définir plusieurs paires clé-valeur.

Dans l’exemple suivant, les instances lancées par la flotte sont marquées avec une balise : Key=Cost-Center et Value=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1 } }
Pour étiqueter les volumes attachés aux instances à la demande lancées par un parc de spots à l'aide du AWS CLI

Pour étiqueter des volumes lorsqu’ils sont créés par la flotte, spécifiez les étiquettes dans le modèle de lancement référencé dans la demande de parc d’instances Spot.

Note

Les balises de volume ne sont prises en charge que pour les volumes attachés à instances à la demande. Vous ne pouvez pas baliser les volumes attachés à instances Spot.

Le balisage de volume dans LaunchSpecifications n’est pas pris en charge.

Étiqueter un parc d’instances Spot existant

Pour étiqueter une demande de parc d’instances Spot existante à l’aide de la console

Après avoir créé une demande Spot Fleet, vous pouvez ajouter des tags à la demande de flotte à l'aide de la console.

  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

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

  3. Sélectionnez votre demande de parc d’instances Spot.

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

Pour étiqueter une demande Spot Fleet existante à l'aide du AWS CLI

Utilisez la commande create-tags pour baliser les ressources existantes. Dans l’exemple suivant, la demande de parc d’instances Spot existante est étiquetée avec Key=purpose et Value=test.

aws ec2 create-tags \ --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \ --tags Key=purpose,Value=test

Affichez les étiquettes de demande de parc d’instances Spot

Pour afficher les étiquettes d’une demande de parc d’instances Spot à l’aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

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

  3. Sélectionnez votre demande de parc d’instances Spot et sélectionnez l’onglet Étiquette.

Pour décrire les étiquettes de demande de parc d’instances Spot

Utilisez la commande describe-tags pour afficher les balises de la ressource spécifiée. Dans l’exemple suivant, vous décrivez les étiquettes de la demande de parc d’instances Spot spécifiée.

aws ec2 describe-tags \ --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
{ "Tags": [ { "Key": "Environment", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Production" }, { "Key": "Another key", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Another value" } ] }

Vous pouvez également afficher les étiquettes d’une demande de parc d’instances Spot en décrivant la demande de parc d’instances Spot .

Utilisez la describe-spot-fleet-requestscommande pour afficher la configuration de la demande Spot Fleet spécifiée, qui inclut toutes les balises spécifiées pour la demande de flotte.

aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
{ "SpotFleetRequestConfigs": [ { "ActivityStatus": "fulfilled", "CreateTime": "2020-02-13T02:49:19.709Z", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "Default", "FulfilledCapacity": 2.0, "OnDemandFulfilledCapacity": 0.0, "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "TargetCapacity": 2, "OnDemandTargetCapacity": 0, "Type": "maintain", "ReplaceUnhealthyInstances": false, "InstanceInterruptionBehavior": "terminate" }, "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "SpotFleetRequestState": "active", "Tags": [ { "Key": "Environment", "Value": "Production" }, { "Key": "Another key", "Value": "Another value" } ] } ] }