Amazon Web Services ブログ

Amazon QuickSight を使用した AWS Cost and Usage Reports の可視化(前編)

本ブログは Amazon QuickSight を使用した AWS Cost and Usage Reports (AWS CUR)(コストと使用状況レポート)の可視化についてご紹介します。

2部構成であり、今回は前編をご紹介します。
前編: AWS CUR や Amazon Athena の設定、 Amazon Athena から SQL クエリを使用した AWS CUR の分析手順
後編: Amazon QuickSight のセットアップ、 AWS CUR の可視化、分析やダッシュボードの共有

クラウドのコストを最適化するためには、まず現在の使用状況を把握、分析することが重要です。
AWS CUR では、課金されるすべての AWS のサービスについて、月単位、日単位または時間単位の使用量の粒度、料金、コスト、使用属性が提供されるため、使用状況の把握、分析に利用することができます。

今回ご紹介する方法は「月次で AWS の利用状況をまとめたレポートを作成し、関係者に報告する」といったユースケースにご活用いただけます。
Amazon QuickSight に AWS CUR の情報を取り込んだダッシュボードを作成していただくことで、ご関係者様がレポートをいつでも見ることができるようになり、ご担当者様も毎月のレポート作成作業が不要になります。

Amazon QuickSight に AWS CUR の情報を取り込んで可視化する方法はいくつかありますが、今回は Amazon Athena 経由で取り込む方法をご紹介します。Amazon QuickSight を使用した可視化のほか、Amazon Athena から SQL クエリを使用したアドホックな AWS CUR の分析も行えるようになります。

AWS Well-Architected Cost Optimization Workshop

AWS Well-Architected Framework は、クラウド上でワークロードを設計および実行するための主要な概念、設計原則、アーキテクチャのベストプラクティスについて説明しており、運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コストの最適化、持続可能性の6つの柱で構成されています。
また、AWS Well-Architected Framework に沿ったワークショップが用意されており、各柱のベストプラクティスに沿って構成されています。
コスト最適化の柱では5つのベストプラクティスが用意されており、コストの可視化は経費支出と使用量の認識に含まれます。この5つのベストプラクティスに沿ったワークショップとして AWS Well-Architected Cost Optimization Workshop があり、コスト最適化を図るためのハンズオンを提供しています。
このワークショップを用いて、AWS CUR と Amazon QuickSight を使った可視化にフォーカスしてご紹介します。

AWS CUR (コストと使用状況レポート)の作成

この手順では以下の設定の AWS CUR を作成します。

  • リソース ID のインクルード
  • 自動的に更新(少なくとも1日1回更新)
  • 詳細度が時間別
  • Amazon Athena と統合

AWS CUR のデータの保存には、AWS CUR を作成した AWS アカウントが保有する Amazon S3 バケットを使用します。本手順ではレポートを保存する Amazon S3 バケットの作成も行います。

初回レポート作成までに最大24時間かかることがあります。詳細の手順は以下をご参照ください。
Configure a Cost and Usage Report
Configure the CUR Bucket for your Cost Optimization Account 以降は必要に応じて実施してください。

AWS CloudFormation を用いた Amazon Athena のセットアップ

この手順では以下を行います。

  •  AWS CUR のファイルが正しく作成されている事の確認
  •  AWS CloudFormation を使った AWS Glue , Amazon Athena のセットアップ

この手順を実施すると Amazon Athena から AWS CUR を検索できるようになります。
詳細の手順は以下をご参照ください。
Automated CUR Updates and Ingestion
Lab Prerequisites , Setup AWS Glue with CloudFormation の範囲を実施してください。
Multiple CURs は必要に応じて実施してください。

Amazon Athena から SQL クエリを使用して AWS CUR を分析する

この手順では Amazon Athena から SQL クエリを使用して、 AWS CUR に対していくつか実際に検索を行います。どのようなデータが AWS CUR に保存されているかを確認することができますのでぜひお試しください。なお、この手順では個別の設定は行いません。

詳細の手順は以下をご参照ください。
Cost and Usage Analysis – SQL
以下のような点を確認することが可能です。上記URLに下記情報を抽出するクエリサンプルが記載されています。

  • 上位のコスト
  • タグ付けがされているリソースに対するコスト
  • インスタンス購入オプションに対するコスト

AWS CUR の各項目名や意味は以下をご参照ください。

AWS コストと使用状況レポート – データディクショナリ

AWS Athena 上は項目名が全て小文字である点と、ヘッダーと明細項目名が“_”で接続されている点にご注意ください。なお、AWS CUR と Amazon QuickSight を直接連携する場合は上記 URL に記載の項目名になります。

前編のまとめ

AWS CUR はAWS のコストと利用状況に関する最も細かく最も包括的なデータが含まれています。
なお、AWS リソースの使用量・使用料金に関するデータを可視化し、分析するためのツールとして、 AWS Cost Explorer というサービスもあります。AWS Cost Explorer よりも詳細または複雑な分析、過去12か月を超える期間での分析、独自のダッシュボードでの可視化を行いたいときに、 AWS CUR が使用できます。AWS CUR では取得出来て AWS Cost Explorer では取得できない情報の1つとして、Savings Plans / リザーブドインスタンスの詳細情報があります。 AWS Organizations で共有されている、他のアカウントで購入された Savings Plans / リザーブドインスタンスの割引効果や、他のアカウントで利用された Savings Plans / リザーブドインスタンスの割引効果といったものも算出ができます。

以上、 AWS CUR や Amazon Athena の設定、 Amazon Athena から SQL クエリを使用したアドホックな AWS CUR の分析手順をご紹介しました。後編では Amazon QuickSight の設定からご紹介します。
後編はこちら

カスタマーソリューションマネージャー 森川 賢、髙木 香里