Spot 实例数据源
为了帮助您了解 Spot 实例 费用情况,Amazon EC2 通过提供的数据源说明 Spot 实例 使用情况和定价。此数据源会发送到您在订阅数据源时指定的 Amazon S3 存储桶。
数据源文件一般一小时到达您的存储桶一次,且每小时使用量一般都包含在单个数据文件中。这些文件在传送到您的存储桶前要进行压缩 (gzip)。当文件很大时(例如,当一小时的文件内容在压缩前超过 50 MB 时),Amazon EC2 可以将给定小时的使用情况写入多个文件。
注意
如果在特定小时中没有 Spot 实例 运行,则您不会收到该小时的数据源文件。
数据源文件名和格式
Spot 实例数据源的文件名采用以下格式 (用 UTC 日期和时间):
bucket-name.s3.amazonaws.com/{optional prefix}/aws-account-id.YYYY-MM-DD-HH.n.unique-id.gz
例如,如果您的存储桶名称为 并且前缀为
myprefix
,则您的文件名类似如下:
.s3.amazonaws.com/
myprefix
/111122223333
.2014-03-17-20.001.pwBdGTJG.gz
Spot 实例数据源文件采用制表符分隔格式。数据文件的每一行都对应一小时实例使用时间,并且包含在下表中列出的字段。
字段 | 描述 |
---|---|
|
时间戳,其用于确定针对此实例使用收取的费用。 |
|
指示使用类型和被收取费用的实例类型。对于 |
|
指示被收取费用的产品。对于 Linux Spot 实例,此字段设置为 |
|
生成此实例使用的Spot 实例的 ID。 |
|
生成此实例使用的Spot 实例请求的 ID。 |
|
为此Spot 实例请求指定的最高价。 |
|
在 |
|
针对此实例使用收取的费用。 |
|
此记录的数据源文件名中包含的版本。 |
Amazon S3 存储桶要求
在您订阅数据源时,必须指定 Amazon S3 存储桶来存储数据源文件。在为数据源选择 Amazon S3 存储桶之前,请考虑以下内容:
-
您必须拥有存储桶的
FULL_CONTROL
权限,其中包括s3:GetBucketAcl
和s3:PutBucketAcl
操作的权限。如果您是存储桶拥有者,根据默认情况,您有此权限。或者,存储桶拥有者必须授予您的 AWS 账户此权限。
-
在您订阅数据源时,这些权限用于更新存储桶 ACL,以向 AWS 数据源账户提供
FULL_CONTROL
权限。AWS 数据源账户会将数据源文件写入存储桶。如果您的账户没有所需权限,则数据源文件无法写入存储桶。注意
如果您更新 ACL 并删除 AWS 数据源账户的权限,则数据源文件无法写入存储桶。您必须重新订阅数据源以接收数据源文件。
-
每一个数据源文件都有其自己的 ACL (不同于存储桶的 ACL)。存储桶拥有者具有数据文件的
FULL_CONTROL
权限。AWS 数据源账户具有读取和写入权限。 -
如果您删除您的数据源订阅,Amazon EC2 不会撤销 AWS 数据源账户在存储桶或数据文件上的读取和写入权限。您必须自行撤销这些权限。
订阅您的Spot 实例数据源
要订阅您的数据源,请使用以下 create-spot-datafeed-subscription 命令:
aws ec2 create-spot-datafeed-subscription --bucket
[--prefix
myprefix
]
下面是示例输出:
{ "SpotDatafeedSubscription": { "OwnerId": "111122223333", "Prefix": "myprefix", "Bucket": "", "State": "Active" } }
删除您的Spot 实例数据源
要删除数据源,请使用以下 delete-spot-datafeed-subscription 命令:
aws ec2 delete-spot-datafeed-subscription