LoginSignup
0
0

More than 1 year has passed since last update.

QuickSight on S3 でCURを可視化

Last updated at Posted at 2021-07-28

QuickSightでCURを可視化する

CURは、Cost & Usage Reportsの略で、AWSのコストと使用状況レポートを表します
今回は、AWSのBIサービスQuickSightを使って、CURを可視化します。

事前準備

S3バケット作成

CURのデータを入れるS3バケットを作成します
バケット名:demo-report-ue

CURの設定

CURのデータをS3に出力するレポート作成を行います。
AWSの管理画面の画面右上のユーザー名をクリックし、"マイ請求書ダッシュボード"をクリックし、左側メニューの"Cost & Usage Reports"をクリックします。
その後、真ん中上部の[レポート作成]をクリックします。
※この画面ではテスト実行後に画面キャプチャ取得したため、レポートが作成された状態になっていますがご了承ください

スクリーンショット 0003-07-28 11.45.26.png

1つ目の画面でレポート名に任意の名前を入れ[次へ]をクリックします。
2つ目の画面で、S3バケットを設定します。[設定]をクリックします。

スクリーンショット 0003-07-28 12.09.37.png

作成したバケット(demo-report-ue)を選択し、[次へ]をクリックします

スクリーンショット 0003-07-27 16.56.22.png

適用されるバケットポリシーが出力されます。問題なければ"このポリシーが正しいことを確認しました"にチェックを入れ、[保存]をクリックします

スクリーンショット 0003-07-27 16.56.42.png

その他は以下の設定を入れ、[次へ]をクリックします。
ポイントとしては"レポート統合の有効化"でQuickSightを選んでいます。これによって後述するQuickSightのマニフェストファイルが自動作成されます。

  • レポートパスのプレフィックス:demo
  • 使用量の時間詳細度:時間別
  • レポートバージョニング:既存レポートを上書き
  • レポートデータ統合の有効化:Amazon QuickSight

スクリーンショット 0003-07-29 11.21.10.png

次の画面はサマリが出ますので[確認して完了]をクリックします。

スクリーンショット 0003-07-29 11.22.28.png

S3の操作

作成したバケットに、レポート配信確認用オブジェクト"aws-programmatic-access-test-object"ができてることを確認します。
また、プレフィックスで設定した"demo"のディレクトリが出来ていることを確認します。このdemoのディレクトリはレポートデータが出力されるため、データが出力されるまで作成されません。数時間か一日くらい時間がかかります。

スクリーンショット 0003-07-28 12.12.38.png

CURが出力されると"demo"ディレクトリが作成され、demo-reportの下にCURデータが入るフォルダと、"QuickSight"という名前のフォルダが出来ます。

スクリーンショット 0003-07-28 14.29.08.png

"QuickSight"ディレクトリをクリックすると、json形式のマニフェストファイルがあります。これはQuickSightでS3のデータを可視化する際に使うファイルで、可視化するS3上のファイルの位置や形式を記述しています。
このマニフェストファイルの"オブジェクトURLを"コピーしておきます。

スクリーンショット 0003-07-28 10.59.49.png

QuickSightの操作

QuickSightの初期設定は割愛します。必要なら別途公式ドキュメントを確認ください。

QuickSightが使える状態になったら、データセットを作成します。画面右側メニューの"データセット"をクリックし、画面右上の[新しいデータセット]をクリックします。

スクリーンショット 0003-07-28 11.03.50.png

"S3"をクリックします。

スクリーンショット 0003-07-28 11.04.01.png

以下を入力し[接続]をクリックします。

  • データソース名:Demo-CUR
  • マニフェストファイルのアップロード:先程コピーしたURL

スクリーンショット 0003-07-28 11.05.08.png

次の画面で[視覚化する]をクリックします。

スクリーンショット 0003-07-28 11.11.07.png

画面操作でダッシュボードを作っていきます。

スクリーンショット 0003-07-28 11.11.53.png

QuickSightでダッシュボード作成

このハンズオン資料を参考にダッシュボードを作ります。若干カラム名が違いますが分かると思います。ハンズオン資料はQuickSight+Athenaの想定ですが、今回のQuickSight+S3でもQuickSight上のダッシュボード作成にはさほど違いはありません。

カラム名は以下のように違いがあります
line_item_unblendedcost => lineitem/unblendedcost のような"/"を使った形になってる

ハンズオンで出てくる計算フィールドはこんな感じ↓

ifelse(split({lineItem/UsageType},':',1) = 'SpotUsage','Spot',ifelse(right(split({product/usagetype},':',1), 8) = 'BoxUsage',{pricing/term},'other'))

このようなダッシュボードが出来ます

スクリーンショット 0003-07-28 14.18.35.png

運用

QSでS3データを可視化した場合、S3のデータのパスを表すマニフェストファイルは、日時なりCURの更新タイミングで更新されます。そのため、QuickSight側もSPICEを定期的に更新する設定をすることで、更新されたマニフェストファイルやデータを取り込み、最新のCURデータの反映が行われます。
CURの配信オプションの"レポートバージョニング"を"既存レポートを上書き"にした場合は、上書きされていく1つのファイルのパスが書き込まれます。"新しいレポートバージョンを作成"にした場合は、新しく作成されたファイルのパスがファイル作成時に書き込まれます。この"新しいレポートバージョンを作成"オプションの場合は指定頻度でファイルが増えていくためデータ容量を食いますが、過去のカラム情報ものこせるので過去のデータを正確に追えることがメリットだと思います。

参照リンク

こちらが公式のナレッジです。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/quicksight-cost-usage-report/

公式ハンズオン
https://www.wellarchitectedlabs.com/cost/200_labs/200_5_cost_visualization/2_create_visualizations/

CTCの方のJAWSの資料「Cost Exploreでは満足できない!」
https://jawsdays2020.jaws-ug.jp/wp-content/uploads/2020/03/CostExplorer%E3%81%A7%E3%81%AF%E6%BA%80%E8%B6%B3%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.pdf

Amazon S3 でのコストおよび使用状況レポートへのアクセス
https://docs.aws.amazon.com/ja_jp/cur/latest/userguide/access-cur-s3.html#manifest-cur-files

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0