メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

スポットインスタンス データフィード

スポットインスタンス の料金について理解しやすくするため、Amazon EC2 では、スポットインスタンス の使用状況と料金を示すデータフィードを提供しています。このデータフィードは、データフィードを購読するときに指定する Amazon S3 バケットに送信されます。

データフィードファイルは、通常、1 時間に 1 回バケットに届き、各使用時は、通常、単一のデータファイルでカバーされます。このファイルは、バケットに配信される前に圧縮 (gzip) されます。ファイルが非常に大きい場合は、Amazon EC2 は指定した時間の使用状況に関するファイルを複数書き込むことができます (ある時間のファイルコンテンツが圧縮前に 50 MB を超える場合など)。

注記

ある時間に対して スポットインスタンス が実行されていない場合、その時間のデータフィードファイルは届きません。

データフィードのファイル名と形式

スポットインスタンス のデータフィードのファイル名には次の形式を使用します (UTC の日付と時刻を使用)。

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

たとえば、バケット名が myawsbucket で、プレフィックスが myprefix である場合、ファイル名は次のようになります。

myawsbucket.s3.amazonaws.com/myprefix/111122223333.2014-03-17-20.001.pwBdGTJG.gz

スポットインスタンス のデータフィードファイルはタブで区切られています。データファイルの各行は、1 個のインスタンス時間に対応し、次の表に示すフィールドが含まれています。

フィールド 説明

Timestamp

そのインスタンス使用量に対して請求される価格を決定するために使用されるタイムスタンプ。

UsageType

請求の対象となっている使用タイプおよびインスタンスタイプ。m1.small スポットインスタンスの場合、このフィールドは SpotUsage に設定されます。他のすべてのインスタンスタイプでは、このフィールドは SpotUsage:{instance-type} に設定されます。たとえば、SpotUsage:c1.medium と指定します。

Operation

請求の対象となっている製品。Linux スポットインスタンス の場合、このフィールドは RunInstances に設定されます。Windows スポットインスタンス の場合、このフィールドは RunInstances:0002 に設定されます。スポット使用状況は、利用可能ゾーンに従ってグループ化されます。

InstanceID

このインスタンス使用量を生成した スポットインスタンス のインスタンス ID。

MyBidID

このインスタンス使用量を生成した スポットインスタンス リクエストの ID。

MyMaxPrice

この スポットインスタンス リクエストに指定された上限価格。

MarketPrice

Timestamp フィールドに指定された時刻のスポット料金。

Charge

このインスタンス使用量に請求される価格。

Version

このレコードのデータフィードファイル名に含まれるバージョン。

Amazon S3 バケットの要件

データフィードの購読時に、データフィードファイルを格納する Amazon S3 バケットを指定する必要があります。データフィード用の Amazon S3 バケットを選択する前に、以下の点を考慮します。

  • s3:GetBucketAcl および s3:PutBucketAcl アクションのアクセス許可を含むバケットへの FULL_CONTROL アクセス許可が必要です。

    バケット所有者には、デフォルトでこの権限があります。それ以外の場合、バケット所有者は AWS アカウントにこのアクセス許可を付与する必要があります。

  • データフィードを購読すると、これらのアクセス許可を使用してバケット ACL が更新され、AWS データフィードアカウントに FULL_CONTROL アクセス許可が付与されます。AWS データフィードアカウントは、データフィードファイルをバケットに書き込みます。アカウントに必要なアクセス許可がない場合、データフィードファイルをバケットに書き込むことはできません。

    注記

    ACL を更新して AWS データフィードアカウントのアクセス許可を削除すると、データフィードファイルをバケットに書き込むことができなくなります。データフィードファイルを受け取るには、データフィードを再購読する必要があります。

  • 各データフィードファイルには、独自の ACL があります (バケットの ACL とは別です)。バケット所有者には、データファイルに対して FULL_CONTROL のアクセス許可があります。AWS データフィードアカウントには読み書きのアクセス許可があります。

  • AWS データフィードの購読を削除しても、Amazon EC2 ではバケットまたはデータファイルのデータフィードアカウントの読み書きのアクセス許可は削除されません。これらのアクセス許可は自分で削除する必要があります。

スポットインスタンス のデータフィードの購読

データフィードを購読するには、次の create-spot-datafeed-subscription コマンドを使用します。

aws ec2 create-spot-datafeed-subscription --bucket myawsbucket [--prefix myprefix]

出力例を次に示します。

{ "SpotDatafeedSubscription": { "OwnerId": "111122223333", "Prefix": "myprefix", "Bucket": "myawsbucket", "State": "Active" } }

スポットインスタンス のデータフィードの削除

データフィードを削除するには、次の delete-spot-datafeed-subscription コマンドを使用します。

aws ec2 delete-spot-datafeed-subscription