この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AWSチームのすずきです。
購入したリザーブドインスタンス(RI)と Savings Plans(SP)の利用率、 Cost Explorer を利用して、WEB画面と、CLIで確認する機会がありましたので紹介させていただきます。
Webコンソール
2/22〜24 の期間を指定し、利用率を確認しました。
リザーブドインスタンス
Savings Plans
CLI
Savings Plans に対応した「awscli」と「jq」を利用しました。
$ /usr/local/bin/aws --version
aws-cli/2.0.1 Python/3.7.3 Linux/4.14.165-103.209.amzn1.x86_64 botocore/2.0.0dev5
$ jq --version
jq-1.5
IAM
Cost Explorer(ce) の参照権限を付与したIAMロールを用意しました。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ce:Describe*",
"ce:List*",
"ce:Get*"
],
"Resource": "*"
}
]
}
4日前から3日分のRI、SPの使用率を求めました。
START_DATE=`date +"%Y-%m-%d" --date "-4 day"`
END_DATE=`date +"%Y-%m-%d" --date "1 day"`
aws ce get-reservation-utilization --time-period Start=${START_DATE},End=${END_DATE}
aws ce get-savings-plans-utilization --time-period Start=${START_DATE},End=${END_DATE}
リザーブドインスタンス
$ /usr/local/bin/aws ce get-reservation-utilization --time-period Start=${START_DATE},End=${END_DATE} | jq .Total
{
"UtilizationPercentage": "100",
"PurchasedHours": "2688.0",
"TotalActualHours": "2688.0",
"UnusedHours": "0.0",
(略)
}
Savings Plans
$ /usr/local/bin/aws ce get-savings-plans-utilization --time-period Start=${START_DATE},End=${END_DATE} | jq .Total.Utilization
{
"TotalCommitment": "18.9",
"UsedCommitment": "18.9",
"UnusedCommitment": "0.0",
"UtilizationPercentage": "100"
}
まとめ
リザーブドインスタンス、Savings Plansの購入や、対象となるEC2に変更が発生した場合、 その数日後を目安に Cost Explorer を確認して、使用率をご確認ください。
使用率 100% を連続して大きく下回る状態が発生した場合には、 低い使用率、負の値の純貯蓄 が発生している契約の詳細を確認した上で、早めに損失回避を試みる事をおすすめします。
リザーブドインスタンスの使用率の低下が頻発する場合には、 次回のRI更新時、柔軟性に優れたSavings Plans の利用をご検討ください。