クラスメソッドメンバーズ提供の CUR を利用した Cloud Intelligence Dashboards の作り方
クラスメソッドでは、弊社サービスのクラスメソッドメンバーズに対応した AWS Cost and Usage Reports(CUR) を提供しています。前回は Parquet 版メンバーズ CUR を利用した Athena 分析環境を構築しました。
今回は Cloud Intelligence Dashboards(の中で CUR をデータソースにするダッシュボード)を構築していきます。
前提
下記2つのパターンで環境構築していきます。
- 単一の CUR を利用するパターン
- 複数の CUR を集約するパターン
Cloud Intelligence Dashboards(以降 CID)の中でも CUR をデータソースとする下記ダッシュボードの構築をゴールにします。
単一の CUR を利用するパターン
※ 便宜上、管理アカウントで構築していますが、本来は管理アカウントに必要上のリソースを作成することは推奨されていません。
1.メンバーズ CUR 準備
メンバーズユーザーガイドに沿って Parquet 版 CUR を出力します。本環境では10月から設定しておいたので、5ヶ月分のデータが出力されています。
s3://cm-cur-012345678901/
cur/012345678901/
cid-cur/
20241001-20241101/
cid-cur-Manifest.json
20241101-20241201/
cid-cur-Manifest.json
20241201-20250101/
cid-cur-Manifest.json
20250101-20250201/
cid-cur-Manifest.json
20250201-20250301/
cid-cur-Manifest.json
cid-cur/
year=2024/
month=10/
cid-cur-1.snappy.parquet
month=11/
cid-cur-1.snappy.parquet
month=12/
cid-cur-1.snappy.parquet
year=2025/
month=01/
cid-cur-1.snappy.parquet
month=02/
cid-cur-1.snappy.parquet
2.CID デプロイ
CID Framework 構築ガイドの Deployment - Step 3. [Data Collection Account] Deploy Dashboards から実施していきます。
QuickSight サインアップ
(サインアップ済みの場合は不要)
手順:
- QuickSight > QUICKSIGHT にサインアップ を選択
- (リージョンを変更すると入力がクリアされるため) QuickSight リージョン を選択
- OK を選択
- 各項目を入力
- IAM と Amazon Athena にチェック
- ピクセルパーフェクトレポートを追加 の "チェックを外す" > 完了 を選択
- QUICKSIGHT に移動する を選択
CloudFormation からダッシュボードを展開
手順:
- Launch Stack を選択
- CloudFormation へ遷移 > yes を選択 > 先ほど作成した QuickSight ユーザー名を入力
- CURVersion を 1.0 > CUDOS v5 Dashboard と CostIntelligenceDashboard を yes(KPI Dashboard を no)へ変更
- (最後尾にある)Path to Legacy Cost and Usage Report に メンバーズ CUR を出力したバケットの下記パス(上記例だと
s3://cm-cur-012345678901/cur/
)を入力
- チェックを入れて > スタックの作成 を選択
- しばらく待ちます ...(10分程度で終了します)
- 成功すると「出力」タブにダッシュボード URL が表示
- URL へアクセス
3.確認
出力された URL から各ダッシュボード(全てを確認するのは大変なので、気になるシート・タブのみ)を確認していきます。
CUDOS Dashboard v5
ダッシュボード概要を理解するには下記がおすすめです。
Account Names
今回3つの AWS アカウントのデータを持つ CUR をダッシュボードで可視化していますが、ちゃんとアカウント一覧に表示されています。(アカウント名にIDが入っているのは CUR 1.0 の仕様によるものです)
Executive: Billing Summary
過去月のデータを中心に可視化されています。
ここでは、3ヶ月前($50.75)、2ヶ月前($29.46)、前月($34.04)が表示されています。
同じタブにアカウント単位の推移があるので、足し上げてみると3ヶ月前(30+12+9=$51)、2ヶ月前(7+13+9=$29)、前月(12+13+9=$34)と概ね合致します。
Executive: RI/SP Summary
本環境では、メンバーアカウント1と2で EC2(t4g.nano)を1台ずつ起動し、全体で2台分に相当する EC2 Instance SP を購入しています。
購入オプション | 単価 / 時間(東京) | 1台あたり月額利用費 (1月は31日なので x744時間) |
---|---|---|
On-Demand | $0.0054 | $4.0176 |
EC2 Instance SP / No upfront | $0.0034 | $2.5296 |
Savings(節約額) | $0.002 | $1.488 |
※ 開発途中で今年のデータから適切に表示されています。
Compute
こちらも同様に今年以降のデータは全てのEC2がSPでカバーされていることが可視化されています。
Cost Intelligence Dashboard
(こちらは少し古いですが)ダッシュボード概要を理解するには下記がおすすめです。
Account ID
こちらも同様に CUR に含まれる3つの AWS アカウントが表示されています。
RI/SP Summary
1月における使用率やカバレッジが表示されています。
複数の CUR を集約するパターン
こちらのパターンでは組織に関係なく、特定アカウントでの各自の CUR を集約した S3 バケットを元に CID を構築します。
1.メンバーズ CUR 準備
メンバーズユーザーガイドに沿って Parquet 版 CUR を出力します。
2.集約先へのレプリケーション
下記ブログ記事を参考に進めます。
3.CID デプロイ
前述の「単一の CUR を利用するパターン」と同様の手順で進めます。
4.確認
CUDOS Dashboard v5
Linked Account IDs
各 AWS アカウントの CUR を集約した S3 バケットからダッシュボードを構築していますが、各アカウントが表示されています。
Executive: MoM Trends
3つのアカウントの合計での前月比を確認することが出来ます。
1つのアカウントを選択してフィルタリングするとすぐに反映されて、数値が変化しました。
Compute
インスタンスファミリーごとの日別の推移を確認することが出来ます。1月後半に特定のインスタンスファミリーが増えていることがわかります。
Amazon S3
バケット単位でのコスト、各バケットでのオペレーション別のコストを確認することが出来ます。先ほど、全体で最も利用費が高かったのが S3 でしたが、そういった際に深掘りしていくことが出来そうですね。
Databases
RDS 延長サポートの一覧が表示されます。対象はなさそうです。こういったテーマに関してもデフォルトで可視化出来るのが CID の強みでもあります。
Cost Intelligence Dashboard
Account ID
こちらも同様に対象となる3つの AWS アカウントが表示されています。
Cost Summary
前月利用費のサマリーや特に変動が大きかったサービスがピックアップされています。
Storage Summary
S3 ストレージクラスや EBS ボリュームタイプごとの利用費と割合を確認することが出来ます。
最後に
どちらのパターンでも Parquet 版メンバーズ CUR を利用した CID 環境を構築することが出来ました!
CID は本記事で確認した以外のダッシュボードも用意されていて、コスト可視化において非常に強力なソリューションとなっています。今までメンバーズ CUR を利用して CID を構築するには、既存の手順に加えて工夫をする必要がありましたが、今回のアップデートでそれらも不要となります。