AWS Cost and Usage Report のアイコン

AWS Cost and Usage Report 専門2015年〜

AWS の詳細なコストと使用量データを S3 に配信するレポートサービス

何ができるか

AWS Cost and Usage Report (CUR) は、AWS の利用料金と使用量に関する最も詳細なデータを CSV または Parquet 形式で S3 バケットに配信するサービスです。リソース単位の料金明細、使用時間、データ転送量、割引適用状況など、請求に関するあらゆる情報が含まれます。Cost Explorer では確認できない粒度の細かいデータを取得でき、独自のコスト分析基盤を構築できます。

どのような場面で使うか

大規模な AWS 環境で、リソース単位のコスト配分を正確に行う場面や、AthenaQuickSight を使って独自のコストダッシュボードを構築する場面で活用されています。また、FinOps チームが月次のコストレポートを自動生成したり、Savings Plans や Reserved Instances のカバレッジを詳細に分析する場面でも利用されます。

身近な例え

クレジットカードの利用明細に例えるとわかりやすいでしょう。Cost Explorer が月次の請求書 (合計金額とカテゴリ別の内訳) だとすると、CUR は 1 件 1 件の取引明細 (日時、店舗名、金額、ポイント適用状況) に相当します。明細データがあれば、独自の集計や分析を自由に行えます。

Cost and Usage Report とは

AWS Cost and Usage Report (CUR) は、AWS の利用料金に関する最も詳細な生データを提供するサービスです。Cost Explorer がグラフィカルな分析ツールであるのに対し、CUR は生の明細データを S3 に配信します。このデータを AthenaRedshiftQuickSight などで分析することで、Cost Explorer では実現できない高度なコスト分析が可能になります。

レポートの内容と粒度

CUR には、リソース ID、使用タイプ、オペレーション、料金、割引額、タグ情報など、数百のカラムが含まれます。時間単位、日単位、月単位の粒度を選択でき、時間単位を選べば「この EC2 インスタンスが何時から何時まで稼働し、いくらかかったか」まで追跡できます。リソース ID を含めると、個々のリソースごとのコストを正確に把握できます。

Athena との連携

CUR のデータを Athena で分析するのが最も一般的なパターンです。CUR の設定で「Athena との統合」を有効にすると、Glue データカタログにテーブルが自動作成され、SQL クエリでコストデータを分析できます。たとえば「先月の EC2 コストをインスタンスタイプ別に集計」「タグ未設定のリソースのコスト合計」といったクエリを実行できます。Parquet 形式を選択すると、クエリのスキャン量が削減されて Athena のコストも抑えられます。 Athena との連携の概念や手法を整理するには Amazon の技術書 が便利です。

はじめかた

CUR を使い始めるには、請求コンソールの「Cost and Usage Reports」から新しいレポートを作成します。レポート名、時間粒度、データ形式 (CSV または Parquet)、配信先の S3 バケットを指定します。レポートは 1 日に数回更新され、S3 バケットに配信されます。Athena との統合を有効にすれば、配信されたデータをすぐに SQL で分析できます。

注意点

  • CUR 自体は無料だが、配信先の S3 ストレージ料金と、Athena でのクエリ実行料金が発生する。Parquet 形式を選択するとデータサイズが削減され、コストを抑えられる
  • リソース ID を含めるとレポートのデータ量が大幅に増加する。詳細な分析が不要な場合はリソース ID を除外してデータ量を抑えること
  • CUR のデータは最大 24 時間の遅延がある。リアルタイムのコスト監視には Cost Explorer や Budgets を併用すること
共有するXB!