コストと使用状況レポート(CUR)で Amazon QuickSight 統合のレポート配信オプションを使ってみた

2023.06.10

いわさです。

先日 QuickSight と CUR に関する AWS のアップデートアナウンスがありました。

その関係で CUR のレポート配信オプションでレポートデータの統合先に QuickSight を選択するオプションがあることに気が付きました。

アップデートアナウンスの内容がよくわかってなくてこれが今回のアップデートなのかなと思っていたのですが、どうやら CUR 関係の記事を見てみるとこのレポートデータの QuickSight 統合オプションは何年も前から存在する機能のようで、最新アップデートの内容とは無関係のようでした。

ただ、今回調べているうちにこの CUR と QuickSight のレポートデータの統合機能が、どういうものでどのように QuickSight で使うことが出来るのかがわかったので紹介します。

CUR でレポート作成と配信オプションの設定

CUR で必要なのはレポートの作成と、配信オプションでレポートデータの統合先に Amazon QuickSight を選択することだけです。

QuickSight 統合を選択した場合の CUR 出力内容

上記の QuickSight 統合を有効化すると、次のように通常の S3 へのレポート出力に加えて、QuickSight 用のフォルダが作成されます。

そして、その中には次のような JSON ファイルが格納されています。これは...

hogeusagereport-20230601-20230701-QuickSightManifest.json

{
  "entries":[{"url":"s3://hogeiwasausagereport/hoge/hogeusagereport/20230601-20230701/hogeusagereport-00001.csv.gz","mandatory":true}]
}

QuickSight を使ったことのある人はもしかすると気がつくかもしれません。
これは QuickSight で S3 バケットをデータソースとするデータセットを作成する場合に必要な、マニフェストファイルです。

マニフェストファイルで指定されたパスを確認してみると、次のように GZIP 形式のファイルが格納されていました。

QuickSight の分析で CUR の情報を表示してみる

マニフェストファイルまで用意されているので、後はデータセットを作成して可視化できればすぐにダッシュボードなどを作成出来そうですね。
QuickSight のサービスロールに Amazon S3 の CUR 配信先バケットへのアクセスが許可されていることを確認します。

データセット作成画面から新規 S3 データソースを作成し、マニフェストファイルに先程 CUR で自動作成されたマニフェストファイルの URL を指定します。

これだけですぐに SPICE へのインポートが完了しました。
ここではこのまま「視覚化」するを選択します。

データソースが CUR なのでフィールド数がさすがに多いですが、サービス別のブレンドコストの比率をグラフで表示してみました。

これまで Athena 経由で表示させることがあったのですが、S3 データセットを直接作成出来るのは良いですね。

さいごに

本日は コストと使用状況レポート(CUR)のレポート配信オプションの Amazon QuickSight 統合を使ってみました。

QuickSight でコストの可視化をしたい場合、ダッシュボードソリューションを作ったりちょっと面倒なイメージがあったのですが、これはかなり手軽に作成出来るので良いですね。
例えば SaaS アプリケーションを AWS 上でホスティングしていて、管理画面に AWS ランニングコストを表示したい場合などはこのまま埋め込みダッシュボードにしてやるだけで良いのではないでしょうか。

ちなみにクラスメソッドメンバーズをご利用の場合は独自の CUR を提供していたりします。今回の記事の対象外となりますのでご注意ください。