
【第2回】個人向け!貧乏エンジニアのAWS節約術 ─ AWS Cost Explorer編
クラウドが普及した昨今、勉強のため、スキルアップのため、クラウドを実際に触って色々と検証をしているITエンジニアの方も多いのではないでしょうか。
すぐに始めることができ、様々なサービスを試すことができるのはクラウドの利点です。しかし、複雑な料金体系や使ったリソースを放置して想定外の利用料を請求されたという方もいらっしゃると思います。
この記事は、個人のITエンジニアの方を対象に、クラウド利用量の節約術について、何回か回数を分けて紹介していきます。
今回は2回ということで、より具体的な節約術を紹介していきます。今回取り上げるのは、CFMサイクルの可視化でよく利用される「AWS Cost Explorer」の紹介です。Cost Explorer の始め方、利用方法、便利な機能の紹介など解説しますので、ぜひ参考にされてください。
関連記事
- 【第1回】個人向け!貧乏エンジニアのAWS節約術 ─ クラウド導入編
- 【第3回】個人向け!貧乏エンジニアのAWS節約術 ─ EBSボリューム編
- 【第4回】個人向け!貧乏エンジニアのAWS節約術 ─ EC2インスタンス編
AWS Cost Explorerとは?
AWS Cost Explorer(以降Cost Explorerと表記します)は、AWSリソースの使用量とそのコストをサービス単位で可視化し、現状分析できるサービスです。
「節約しようにも何から始めたらいいか分からない…」とお困りの方には、とりあえずAWS Cost Explorerを利用して、クラウドの現状コストを把握することから始めましょう。
Cost Explorerでできること
Cost Explorerは、コストと利用状況を表示、分析するためのサービスです。
ただデータを表示してくれるだけではなく、最適な購入オプションやインスタンスサイズの推奨、未来データの予測もできます。
利用中のリソースに関して、利用費用と利用量を表やグラフなどの分かり易い形で表示してくれます。これらデータの経時的変化を可視化してくれるため、実際の費用と使用状況が想定通りであるかを一目で見ることができます。
主に次のようなことができます。
- 過去最大13ヶ月分のAWSサービス利用量と利用費用をグラフや表で確認
- グラフや表で可視化したAWSサービス利用量や利用費用をレポート出力
- アイドル状態やダウンサイジング対象のインスタンスを抽出
- EBSボリュームのタイプをgp2からgp3に切り替えた際に削減される費用の確認
- 現在のリザーブドインスタンスやSavings Plansの利用状況を確認
- 現在の利用状況から推測できるリザーブドインスタンスやSavings Plansの推奨や購入
- S3ストレージクラスの利用状況を確認
- EC2インスタンスサイズの適正化に関する推奨事項の表示
- スポットインスタンスの稼働状態を確認
このシリーズの第1回で紹介したCFMフレームワークにおける「可視化」、「最適化」、「予測・計画」の各フェーズで幅広く力を発揮できる、コスト節約には欠かせないサービスです。
AWS Cost Explorerを有効化する方法
AWS Cost Explorerは、初めてCost Explorer画面を起動することで有効化されます。
※この手順でAWS Cost Explorerにアクセスできない方は、後述の「AWS Cost Explorerにアクセスできない場合」をご参照ください!
1.AWSマネジメントコンソールのアカウントメニューより、「Billing and Cost Management」をクリックします。

2.画面左ペインのメニューより「Cost Explorer」をクリックします。

3.以下のような画面が起動することで、Cost Explorerが開始されます。

AWS Cost Explorerにアクセスできない場合
さっそく、この記事を読んで早速AWS Cost Explorerを使ってみようとしたところ、AWS Cost Explorerにアクセスできないという方が居らっしゃるかもしれません。
その場合は、AWS Cost Explorer自体が有効化されていないか、必要な権限が与えられていない可能性があります。AWS Cost Explorerを使用するのに必要なIAMポリシーを下記にまとめましたので、ご自身のユーザに権限が振られているか確認してみてください。
IAMポリシー | 機能 |
---|---|
ce:GetPreferences | Cost Explorerの設定ページを表示する |
ce:UpdatePreferences | Cost Explorerの設定ページを更新する |
ce:DescribeReport | Cost Explorerレポートページを表示する |
ce:CreateReport | Cost Explorerレポートページを使用してレポートを作成する |
ce:UpdateReport | Cost Explorerレポートページを使用して更新する |
ce:DeleteReport | Cost Explorerレポートページを使用してレポートを削除する |
ce:DescribeNotificationSubscription | 予約概要ページでCost Explorerの予約の失効アラートを表示する |
ce:CreateNotificationSubscription | 予約概要ページでCost Explorer予約の失効アラートを作成する |
ce:UpdateNotificationSubscription | 予約概要ページでCost Explorer予約の失効アラートを更新する |
ce:DeleteNotificationSubscription | 予約概要ページでCost Explorer予約の失効アラートを削除する |
Cost Explorerの利用方法
ここでは、Cost Explorerの基本的な利用方法をご紹介します。
Cost Explorer画面の見方
まずは、Cost Explorer画面の見方についての説明です。

①「請求とコスト管理」ウィンドウ
Billing and Cost Management の各種機能リンクへのナビゲーションペインです。Cost Explorer やAnomaly Detectionはここから起動します。
②Cost Explorer グラフ領域
コストや利用状況がグラフで可視化されます。
③データテーブル
グラフ領域に表示されるデータの詳細を確認できます。
④レポートパラメータ
表示するデータの範囲指定やフィルタリングが可能です。
Cost Explorerのグラフ
Cost Explorerには、3種類のグラフが用意されています。
- 棒グラフ
- 折れ線グラフ
- 積み上げ棒グラフ
グラフの切り替えは容易にでき、グラフ領域の右上にあるボタンで切り替えられます。

上記に掲載しているのは、積み上げ棒グラフです。他2種類のグラフ表示は次の通りです。
棒グラフ

折れ線グラフ

いずれのグラフタイプでも、グラフをマウスオーバー(*)することで、内訳を表示できます。
※マウスオーバー:マウスポインタを特定の箇所に重ね合わせるマウス操作のこと

データテーブル
アカウントで使用しているAWSサービスの合計コストを数値で表示します。
表示されるコストは「全サービスの合計値」と「サービス個別の合計値」で、月単位の合計値と最大13ヶ月分の合計値が表示されます。

なお、グラフをマウスオーバーすることでコスト内訳を表示できるのは前述の通りですが、その場合は上位9データまでしか表示されません。
10位以下の内訳も確認したい場合は、このデータテーブルで確認することができます。
また、データテーブルに表示されるデータは、CSV形式でのダウンロードが可能です。
データテーブル領域の右上にある「CSV形式でダウンロード」をクリックすることで、全てのデータをダウンロードすることができます。

▼ダウンロードしたCSVファイルの例

レポートパラメータ
パラメータを設定することで、表示データを絞り込むことができます。
パラメータとして、次の4項目が用意されています。
- 時刻
- グループ化の条件
- フィルター
- 詳細オプション
時刻パラメータ

時刻パラメータを扱うことで、表示するデータの時間範囲を指定する項目です。
「日付範囲」は、過去だけでなく未来日付も指定することができ、その場合は過去データに基づいた未来データを予測値として表示することができます(未来データの表示に関して、積み上げ棒グラフは使用できません)。
また、「粒度」を指定することで、データを「月別」、「日別」、「毎時」への切り替えも可能です(初期値は「月別」です)。
「毎時」は有料機能であり、あらかじめ以下の設定にチェックを入れて有効化しておく必要があります(各設定項目の詳細は後述の「データ設定」をご参照ください)。
「設定」メニュー>「コスト管理の設定」>「Cost Explorer」
- 時間単位の詳細度のすべてのAWSサービスのコストおよび使用状況に関するデータ
- EC2インスタンスリソースレベルのデータ
グループ化の条件パラメータ

「ディメンション」を指定し、フィルタータイプ別のデータをグループ化して表示することができます。全部で17種類のディメンションが用意されています。ディメンションの複数選択はできません。
ディメンション | 説明 |
---|---|
サービス | Amazon EC2、Amazon RDS、Amazon S3などのAWSサービス製品です。 |
連結アカウント | 組織内のメンバーアカウントです。 |
リージョン | AWSがリソースをホストする地域です。 |
インスタンスタイプ | Amazon EC2やAmazon RDSでインスタンスを起動する際のRIタイプです。 |
使用タイプ | 各サービスが特定タイプのリソース使用量を測定するために使用する単位です。 |
リソース | リソースの一意な識別子です。 |
コストカテゴリ | AWS Cost Categoryで作成したコストをグループ化するカスタムカテゴリです。 |
タグ | ビジネス内の特定のエリアまたはエンティティに関連するコスト追跡に使用できるラベルです。 |
APIオペレーション | AWSサービスに対して行われるリクエストやAWSサービスによって実行されるタスクです。 |
アベイラビリティゾーン | 他アベイラビリティゾーンの障害から隔離されたリージョン内の個別の場所です。 |
プラットフォーム | RIが動作するオペレーティング・システムです。 |
購入オプション | スポットやオンデマンドといったAmazon EC2インスタンスの支払い方法です。 |
テナンシー | Amazon EC2インスタンスのハードウェアが共有ホストか指定する値です。 |
データベースエンジン | OracleDBやSQLServerなどデータベースエンジンの種類です。 |
請求エンティティ | 請求書やトランザクションがAWS Marketplaceなのか他AWSサービスの購入なのかを識別する値です。 |
法人 | 特定の製品またはサービスの記録販売者です。 |
料金タイプ | クレジット料金、定期課金、払戻金、税など発生料金の種類です。 |
試しに、ディメンションに「サービス」を指定した場合と、「リージョン」を指定した場合の表示例を見てみましょう。
▼ディメンションに「サービス」を指定した場合
「EC2」や「Route53」など、サービスごとにグルーピングされた内訳が表示されます。

▼ディメンションに「リージョン」を指定した場合
今度は、「アジアパシフィック(東京)」や「global」など、リージョンごとにグルーピングされた内訳が表示されました。

フィルターパラメータ
フィルターを使用することで、データを絞り込んで表示することができます。
複数のフィルターを選択して組み合わせることも可能で、コスト分析を行う際に便利です。
フィルター項目は、全部で17個用意されています。
- サービス
- 連結アカウント
- リージョン
- インスタンスタイプ
- 使用タイプ
- 使用タイプグループ
- リソース
- コストカテゴリ
- タグ
- 料金タイプ
- アベイラビリティゾーン
- プラットフォーム
- 購入オプション
- テナンシー
- データベースエンジン
- 法人
- 請求エンティティ
- APIオペレーション
各フィルター項目の説明は、前述のディメンションで説明した内容とほぼ同じとなりますが、ディメンションで説明していない「使用タイプグループ」について簡単に説明します。
使用タイプグループは、「利用タイプ」フィルターの特定カテゴリーをグルーピングするフィルターです。DynamoDB、Amazon EC2、ElastiCache、Amazon RDS、Amazon Redshift、Amazon S3で利用可能で、利用できる使用タイプグループの種類は、AWSアカウントで利用しているサービスによって異なります。
詳細はAWS公式ドキュメントを参照してください。
詳細オプション
詳細オプションを利用することで、コストデータの表示方法をカスタマイズできます。
次の表示方法が用意されています。
表示方法 | 説明 |
---|---|
非ブレンドコスト | 正規料金に基づくコストを表示します。AWSの使用量を金額ベースで把握可能です。 |
償却コスト | 請求期間にわたって分散された初期費用と月額予約料の実効コストを表示します。前払い金額を契約期間で按分した値が表示され、毎月の傾向を把握するのに有効です。 |
ブレンドコスト | ブレンドレート(組織内で割引レートを適用したリソースとその他リソースとの平均レート)に基づくコストを表示します。割引オプションの活用割合を把握する為に使用可能です。 |
非ブレンド純コスト | ディスカウント適用後非ブレンドコスト(対象アカウントのみ使用可能)を表示します。 |
償却純コスト | ディスカウント適用後償却コスト(対象アカウントのみ使用可能)を表示します。 |
データ設定
組織についてのより詳細な履歴データを利用できる機能が用意されています。
「請求とコスト管理」ウィンドウの「設定」メニューより、「コスト管理の設定」をクリックし、表示された画面の「Cost Explorer」タブをクリックします。


履歴データの設定

組織全体について、月別の粒度で最大38ヶ月間の過去データ(AWS Cost Explorerでのみ利用可能)を有効化できます。年間を通してのコスト比較を行いたい場合に便利な機能です。
詳細データの設定

日単位の詳細度のリソースレベルのデータ
各サービスのリソースレベルのデータを日毎の粒度で有効化でき、コストの変動要因を特定することができます。最大で過去14日間のデータをサポートしています。
時間単位の詳細度のすべてのAWSサービスのコストおよび使用状況に関するデータ
過去14日間のコストデータや使用パターンを時間単位で表示することができます。
AWS使用量のピーク時間や、そのピーク時間の間にコストがどれだけ高くなるか理解するために
役立ちます。
Saving Plansの購入を検討している場合は、1時間あたりの平均支出を把握するのに役立つため、最適な購入を検討することができます。
AWS Cost Explorer とSaving Plans の使用状況レポート、カバレッジレポートで利用できます。
EC2インスタンスリソースレベルのデータ
EC2インスタンスについて、リソースレベルかつ時間単位でデータを表示することができます。
「自簡単位の詳細度のすべてのAWSサービスのコストおよび使用状況に関するデータ」とは別に、独立して設定することができます。
レポート
設定したフィルターとデータをレポートとして保存することができ、普段使用するフィルターを保存しておくと便利です。
レポート機能を使用するには、Cost Explorer画面グラフ領域の右上にある「レポートライブラリに保存」をクリックします。

レポートライブラリに保存したレポートは、「Cost Explorer保存済みレポート」からいつでも呼び出すことができます。

「Cost Explorer保存済みレポート」には、デフォルトで次のレポートが用意されているので、試しに使用してみるのもいいでしょう。
- Monthly costs by service(AWSサービス別の月別コスト)
- Monthly costs by linked account(連結アカウント別の月別コスト)
- Monthly EC2 running hours costs and usage(毎月のEC2実行時間のコストと使用状況)
- Daily costs(日別コスト)
- AWS Marketplace
- RI Utilization(予約(リザーブドインスタンス)の使用率・カバレッジ)
- RI Coverage(Savings Plans の使用率・カバレッジ)
- Utilization report
- Coverage report
さいごに
今回は、AWS Cost Explorerを紹介および解説してみました。無料で扱える範囲も多く、AWS環境のリソース使用量と費用に関する現状分析には必須のサービスですので、これを機に是非使いこなせるようになりましょう。
また、今後取り上げる節約術においても、AWS Cost Explorerは頻繁に登場することになります。
取り上げる節約のテーマに応じたAWS Cost Explorer の詳細な利用方法を説明していく予定ですので、全体を通してAWS Cost Explorer の利用イメージを膨らませていっていただければと思います。
AWS Cost Explorerを使いこなすことは、AWSコスト節約術の第一歩です。踏み出した歩みが次へと続いていくように、まずは実際に触ってみる事をおすすめします。
関連記事