AWS Cost Explorer の Hourly Usage report を使ったオフピーク分析

記事タイトルとURLをコピーする

CS課佐竹です。

冬で乾燥している昨今ですが皆様、加湿器炊いてますか?(挨拶)

はじめに

本ブログは「Savings Plans はどのように適用されるのか?」にて以下の通り記載しました内容の補足になります。

AWS Cost Explorer が時間とリソースレベルの詳細度に対応開始

時間別詳細度を有効にすることで、夜間またはオフピーク時のコストの推移を見るために、最大で過去 14 日分の時間別コストを表示できます。使用の開始には、支払者アカウントで Cost Explorer の設定ページを開き、時間およびリソースレベルの詳細度をオプトインします。利用コストは、1 か月間の 1,000 使用量レコード ごとに 0.01 USD です。使用量レコードは 1 つの使用量として定義されます。たとえば、1 つの EC2 インスタンスが 24 時間稼動していたとすると、時間別の詳細度では 24 個分の異なる使用量レコードが生成されます。

実際にやってみました。

Hourly を有効にする

Cost Explorer のコンソールの画面右上にある「Settings」を押下して、以下の画面を表示します。

2021年4月追記

現在は画面右上に設定ボタンはありません。以下の URL で設定ページにジャンプできます。

またこのページは画面左下にある「Preferences」を押下することでも到達可能です。

この画面で、「Hourly and Resource Level Data」にチェックを入れるとHourlyレベルのレポートが閲覧可能になります。なお、先に紹介しました通り少々コストが発生します点はご留意ください。利用が不要となれば再度チェックを外してHourlyを見れなくすることもできます。コストは以下の通りです。

AWS Cost Explorer CostDataStorage

$0.01 per 1,000 UsageRecord-month of stored Granular Cost Data Usage-records

Payer アカウントへの請求が行われます。

AWS Cost Explorer USE1-APIRequest

$0.01 per API Request

Cost Explorer を利用すると API リクエストが発生します。そのリクエストに対する請求です。Cost Explorer を利用したアカウントで発生します。

Hourly の Usage Report を確認する

Hourlyを有効にすると、グレーアウトされていたHourlyが選択可能になります。
「Cost Usage report Windows m3.medium Tokyo」は、私がカスタマイズで作成したレポートとなりまして、東京リージョンにおける、Windows OS の m3.medium だけに絞った Hourly 表示を「Charge Type」別に表示しています。

Charge Type の Usage Report の使い方

Cost Explorer において、Cost Usage Report を Charge Type のグループで確認することにおいて、以下の判断が可能です。

  1. Reserved Instance が適用されている利用料かどうか:Reservation applied usage
  2. Savings Plan が適用されている利用料かどうか:Savings Plan Covered Usage
  3. RIもSPも適用されていないOndemandの利用料かどうか:Usage

Savings Plan Negation」は Savings Planが適用されている額 (Savings Plan Covered Usage) と同額のマイナスが発生するものですが、Cost Explorer では画面上に描画されないため無視して構いません。先ほどのHourly Reportを見るだけで以下のことがわかります。

  1. 日中は利用料が高く、また反対に夜間や土日は低くなっており、時間あたりのAWS利用料が大きく変動している
  2. Reserved Instance が既に購入済で「9台/hour分」毎時間RIが利用料をカバーしている(オフピークで購入している)
  3. Savings Plan が適用されたり、また場合によっては適用されなかったりしている
  4. Savings Plan が適用されていない部分はオンデマンドの利用料のため高額であるため、赤色が突出している
  5. 「①」のタイミングで、Reserved Instanceが1時間分無駄になっていることがわかる
  6. 「②」のタイミングで、Convertible Reserved Instanceの交換(Exchange)機能を利用し、別のInstance Typeに交換
  7. RIを交換したことでカバー範囲が9台⇒8台になったことから以後RIの無駄は発生していない

このように、Hourlyを見ることでRIに無駄が発生していることがすぐにわかります。もう少しオフピークがわかりやすいグラフを見てみましょう。

オフピーク分析

「Cost Usage report Windows c4.large Tokyo」は同様に私がカスタマイズして作成したレポートです。今回もCharge Typeで分析します。「Daily」のReportでは、土日に利用料が下がるものの、まだRIが追加で買えそうな状況に見えます。これをHourly表示してみます。

Hourly でみると一目瞭然ですが、RIは完全に「オフピーク」で購入されていることがわかります。これ以上のRIの追加購入は「利用率100%」を目指す場合には「買いすぎ」となります。今までこのHourly Reportが見れないために「一度買ってみて利用率が100%割ったら減らそう」のように、閾値を手探りで探すようなことをしていましたがHourly Reportを見れば一目瞭然です。素晴らしい機能だと思います。

まとめ

今回は AWS Cost Explorer における新機能 Hourly Report を使った実践的なオフピークの確認について記載しました。
是非 Hourly Report を利用し、Savings Plan や Reserved Instance を適切に運用ください。
なお、Cost Explorer には Local Time Zone で表示する機能がないため、UTC の時刻でのみ確認できます。日本時間で換算するとおおよそ 23:00あたりからオフピークが始まり、6:00 AMあたりから 8:00 AMにかけてピークになります。これをUTCで表示すると、前者は 14:00(2:00 PM) であり、後者は 21:00(9:00 PM) - 23:00(11:00 PM) になる点はご留意ください。

以上になります。

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023 Japan AWS Top Engineers/2020-2023 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。