Spot 執行個體資料摘要 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Spot 執行個體資料摘要

為協助您了解 Spot 執行個體的費用,Amazon EC2 提供了資料摘要來說明您的 Spot 執行個體使用狀況和定價。當您訂閱資料摘要時,此資料摘要會傳送到您所指定的 Amazon S3 儲存貯體。

資料摘要檔案通常會每隔一小時送達您的儲存貯體,通常會在單一資料檔案中記載每個小時的使用狀況。這些檔案在傳送到您的儲存貯體之前,會先經過壓縮 (gzip)。如果有特定某小時的使用狀況,產生了大型檔案,則 Amazon EC2 可以寫入多個檔案 (例如,當該小時的檔案內容在壓縮前已超過 50 MB 時)。

注意

每個執行個體只能建立一個 Spot 執行個體資料饋送 AWS 帳戶。如果在某個小時內沒有執行 Spot 執行個體,您不會收到那個小時的資料摘要檔案。

除中國 (北京)、中國 (寧夏)、 AWS GovCloud (美國) 和預設停用的 AWS 區域以外的所有區域均支援 Spot 執行個體資料饋送。

資料摘要檔案名稱與格式

Spot 執行個體資料摘要檔案名稱使用下列格式 (日期和小時採用 UTC 時間):

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

例如,如果儲存貯體的名稱為 my-bucket-name、前綴字首為 my-prefix,則檔案名稱會類似於下列名稱:

my-bucket-name.s3.amazonaws.com/my-prefix/111122223333.2023-12-09-07.001.b959dbc6.gz

如需儲存貯體名稱的詳細資訊,請參閱《Amazon S3 使用者指南》中的儲存貯體命名規則

Spot 執行個體資料摘要檔案以製表符 (tab) 分隔。資料檔案中的每一行皆對應至一個執行個體小時,而且包含下表中所列出的欄位。

欄位 描述

Timestamp

時間戳記,用來判定使用此執行個體的收費價格。

UsageType

計費的使用類型和執行個體類型。對於 m1.small 競價型執行個體,此欄位設定為 SpotUsage。如果是其他所有的執行個體類型,此欄位會設定為 SpotUsage:{instance-type}。例如:SpotUsage:c1.medium

Operation

收費的產品。若是 Linux 競價型執行個體,此欄位會設定為 RunInstances。若是 Windows 競價型執行個體,此欄位會設定為 RunInstances:0002。Spot 的使用會根據可用區域分組。

InstanceID

產生此執行個體用量的 Spot 執行個體的 ID。

MyBidID

產生此執行個體用量的 Spot 執行個體請求的 ID。

MyMaxPrice

針對此 Spot 請求所指定的最高價格。

MarketPrice

Timestamp 欄位中所指定時間點當時的 Spot 價格。

Charge

針對此執行個體用量的計費價格。

Version

資料饋送版本。可用的版本為 1.0。

Amazon S3 儲存貯體需求

訂閱資料摘要時,您必須指定用來存放資料摘要檔案的 Amazon S3 儲存貯體。

在選擇資料摘要的 Amazon S3 儲存貯體之前,請考量下列事項:

  • 您必須具有儲存貯體的 FULL_CONTROL 許可。如果您是儲存貯體擁有者,預設會具有此項權限。否則,值區擁有者必須授予您 AWS 帳戶 此權限。

  • 當您訂閱資料饋送時,系統會使用這些權限來更新值區 ACL,以授與資 AWS 料饋送帳戶FULL_CONTROL權限。資 AWS 料饋送帳戶會將資料饋送檔案寫入值區。如果您的帳戶沒有所需的權限,則資料摘要檔案無法寫入儲存貯體。如需詳細資訊,請參閱 Amazon 日誌使用者指南中的傳送至 Amazon S3 的 CloudWatch 日誌

    注意

    如果您更新 ACL 並移除資 AWS 料饋送帳戶的權限,則無法將資料饋送檔案寫入值區。您必須重新訂閱資料摘要,以接收資料摘要檔案。

  • 每個資料摘要檔案皆擁有自己的 ACL (和儲存貯體的 ACL 不同)。儲存貯體擁有者具有對資料檔案的 FULL_CONTROL 權限。資 AWS 料饋送帳戶具有讀取和寫入權限。

  • 如果您為儲存貯體套用已停用的 ACL,請新增儲存貯體政策,以便允許擁有完整控制權的使用者寫入儲存貯體。如需詳細資訊,請參閱檢閱和更新儲存貯體政策

  • 如果您刪除資料饋送訂閱,Amazon EC2 不會移除儲存貯體或資料檔案上 AWS 資料饋送帳戶的讀取和寫入許可。您必須自行移除這些權限。

  • 如果您使用伺服器端加密和存放在 AWS Key Management Service (SSE-KMS) 中的金鑰來加密 Amazon S3 儲存貯體,則必須使用客戶受管金 AWS KMS 鑰。如需詳細資訊,請參閱 Amazon S3 儲存貯體伺服器端加密Amazon CloudWatch 日誌使用者指南

    注意

    對於競價型執行個體資料饋送,產生 S3 檔案的資源不再是 Amazon CloudWatch 日誌。因此,您必須從 S3 儲存貯體許可政策和 KMS 政策移除 aws:SourceArn 區段。

訂閱 Spot 執行個體資料摘要

若要訂閱您的資料饋送,請使用create-spot-datafeed-subscription指令。

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

範例輸出

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

描述 Spot 執行個體資料摘要

若要描述您的資料饋送訂閱,請使用describe-spot-datafeed-subscription指令。

aws ec2 describe-spot-datafeed-subscription

範例輸出

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

檢視資料饋送中的資料

在中 AWS Management Console,開啟 AWS CloudShell。使用下列 s3 sync 命令,從資料饋送的 S3 儲存貯體取得 .gz 檔案,並將這些檔案存放於您指定的資料夾。

aws s3 sync s3://my-s3-bucket ./data-feed

若要顯示 .gz 檔案的內容,請變更至您存放 S3 儲存貯體內容的資料夾。

cd data-feed

使用 ls 命令檢視檔案的名稱。使用具有檔案名稱的 zcat 命令,顯示壓縮檔案的內容。下列是範例命令。

zcat 111122223333.2023-12-09-07.001.b959dbc6.gz

下列為範例輸出。

#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

刪除 Spot 執行個體資料摘要

若要刪除資料饋送,請使用delete-spot-datafeed-subscription指令。

aws ec2 delete-spot-datafeed-subscription