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

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

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

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

注記

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

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

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

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

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

Copy
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 バケットを選択する前に、以下の点を考慮します。

  • 米国東部(バージニア北部) リージョン (us-east-1 または米国スタンダードリージョンとも呼ばれます) のバケットを使用する必要があります。

  • バケットに対する FULL_CONTROL アクセス許可が必要です。

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

  • データフィード購読を作成すると、Amazon S3 は指定されたバケットの ACL を更新して AWS データフィードアカウントに読み書きのアクセス許可を付与します。

  • データフィードアカウントの権限を削除しても、データフィードは無効になりません。これらのアクセス許可を削除しても、データフィードを無効にしなかった場合は、次にデータフィードアカウントでバケットに書き込む必要が生じたときに、これらのアクセス許可を復元できます。

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

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

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

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

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

出力例を次に示します。

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

Spot インスタンスのデータフィードの削除

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

Copy
$ aws ec2 delete-spot-datafeed-subscription