Flux de données des instances Spot - 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.

Flux de données des instances Spot

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 généralement dans votre compartiment toutes les heures et chaque heure d’utilisation est généralement couverte dans 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. 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.

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.

Nom et format du fichier de flux de données

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 my-bucket-name et que votre préfixe est my-prefix, vos noms de fichier ont le format suivant :

my-bucket-name.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 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:{instance-type}. 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

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_CONTROLautoriser 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 dans le guide de l'utilisateur Amazon CloudWatch Logs.

    Note

    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 avez appliqué des ACL désactivées à vos compartiments, ajoutez une stratégie de compartiment qui permet aux utilisateurs ayant un contrôle total d’écrire dans le compartiment. Pour plus d’informations, veuillez consulter la rubrique Vérifiez et mettez à jour les stratégies de compartiment.

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

  • Vous devez utiliser une clé gérée par le client si vous cryptez 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). Pour plus d'informations, consultez la section Chiffrement du compartiment Amazon S3 côté serveur dans le guide de l'utilisateur Amazon CloudWatch Logs.

    Note

    Pour le flux de données des instances Spot, la ressource qui génère les fichiers S3 n'est plus Amazon CloudWatch Logs. Vous devez donc supprimer la section aws:SourceArn de la politique d’autorisation du compartiment S3 et de la politique KMS.

S’abonner à votre flux de données d’instance Spot

Pour vous abonner à votre flux de données, utilisez la create-spot-datafeed-subscriptioncommande.

aws ec2 create-spot-datafeed-subscription \ --bucket my-bucket-name \ [--prefix my-prefix]

Exemple de sortie

{ "SpotDatafeedSubscription": { "OwnerId": "111122223333", "Bucket": "my-bucket-name", "Prefix": "my-prefix", "State": "Active" } }

Décrire votre flux de données d’instance Spot

Pour décrire votre abonnement au flux de données, utilisez la describe-spot-datafeed-subscriptioncommande.

aws ec2 describe-spot-datafeed-subscription

Exemple de sortie

{ "SpotDatafeedSubscription": { "OwnerId": "123456789012", "Prefix": "spotdata", "Bucket": "my-s3-bucket", "State": "Active" } }

Afficher les données dans votre flux de données

Dans le AWS Management Console, ouvrez AWS CloudShell. Utilisez la commande de s3 sync suivante pour obtenir les fichiers .gz du compartiment S3 pour votre flux de données et stockez-les dans le dossier que vous spécifiez.

aws s3 sync s3://my-s3-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

Pour supprimer votre flux de données, utilisez la delete-spot-datafeed-subscriptioncommande.

aws ec2 delete-spot-datafeed-subscription