AWS Cost Explorerとは
AWS Cost Explorerは自社で利用しているAWSの各ツールにかかっているコストや、どのユーザーの使用率が高いかなどをチェックすることが出来ます。数人〜数十人程度の利用ならともかく、数百人単位でAWSを利用するような体制であればコスト管理も重要になってきます。このような場合、AWS Cost ExplorerのデータをDWH(データウェアハウス)へ統合し、データの可視化に特化したBIツール上で可視化することが有効ではないでしょうか。
しかしAWS Cost Explorerに限らず、日々更新されるデータをその都度DWHへ統合していくという作業は手間がかかります。またそもそもDWHとの連携という工程のハードルも高くなってしまいます。
概要
そこで今回はtrocco®というデータ分析基盤構築サービスを利用し、AWS Cost ExplorerのデータをGoogle BigQueryへ統合し、Looker Studio(旧:Googleデータポータル)というBIツールでそのデータを視覚的にわかりやすくするため可視化します。
なお今回データの転送手段として使用するtrocco®は、AWS Cost Explorerの他にも様々な広告・CRM・DBなどのデータソースに対応しています。

ゴール

↓このようなグラフをを30分くらいで作成します。また作成後は自動でデータが更新されるようにします。

こんな人におすすめ
- AWS Cost Explorerに備わっている機能以外の分析をしたい
- AWSにかかるコストを自動的に分析できるようにしたい
- AWS Cost Explorerをデータ元として利用したい
1. DWHと同期する手段の選定
1-1. DWH決定とデータを転送する方法
まずはデータを集約する場所である、DWHを決定します。
- Amazon Redshift
- Google BigQuery
- MySQLやPostgreSQL など
trocco®はいずれのサービスにも対応していますが、今回はGoogle BigQueryを利用することにします。
1-2. AWS Cost ExplorerのデータをGoogle BigQueryに転送する4つの方法
Google BigQueryにデータを集約することが決まったので、続いてはデータを転送するための手段を検討します。
- AWS Cost ExplorerのデータをCSV形式でエクスポートし、Google BigQueryへ直接インポートする
- Google BigQuery データコネクタであるコネクテッド シートを使用する(ただしGoogle WorkspaceのプランがEnterprise以上である必要あり)
- trocco®を利用し、画面上の設定のみで転送する。
1 は一年に一度程度のスパンでの分析でしたら可能ですが、日々集めたデータを更新し続けるのは手間がかかります。
2 の方法ではGoogle BigQueryを操作するGoogleアカウントがデータ元となるスプレッドシートに対して閲覧以上の権限を有する必要があります。またGoogle Workspaceのプランという制限も発生します。
今回はデータの自動更新機能があり、一度Googleアカウントとの連携を行えば設定を保存して異なる分析にも使い回せる3 のtrocco®を利用してみたいと思います。
2. trocco®でAWS Cost Explorer → Google BigQueryの転送自動化
2-0. 事前準備
データの転送のためにはtrocco®のアカウント、Google BigQuery・Looker Studioを利用するGoogleアカウントが必要です。
trocco®は無料のトライアルを実施しているので、事前に申し込みをしておきましょう。
https://trocco.io/lp/inquiry_free.html
2-1. 転送元・転送先を決定
trocco®にアクセスして、ダッシュボードから「転送設定を作成」ボタンを押します。

転送元に「AWS Cost Explorer」を指定し、転送先に「Google BigQuery」を選択して「この内容で作成」のボタンを押します。

設定画面になるので、必要な情報を入力していきます。
2-2. AWS Cost Explorerとの連携設定
trocco®には社内のユーザー間でチームを作成し、チームで転送設定を共有するチーム機能があります。チームの他メンバーが見返したときにわかるよう転送設定の名前とメモを入力します。

次に「転送元AWS Cost Explorerの設定」内の「接続情報を追加」ボタンを押します。

別のタブでAWS Cost Explorerの接続情報の新規作成画面が開きます。
接続情報を作成するためにAWSアクセスキーIDとAWSシークレットアクセスキーが必要になります。

接続確認を行って問題がなければ保存します。再度転送設定画面に戻り、接続情報の「接続情報を読み込む」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。

2-3. AWS Cost Explorerからのデータ抽出設定
どのようなデータを取得するかを設定していきます。
今回は以下のようなシートから合計コストと日付に関するデータを取得してみます。

必要なデータを入力していきます。
今回指標は「AmortizedCost:リザーブインスタンスの料金を、課金した日に一気に支払ったとして計算するのではなく、日割り計算で算出した金額」を選択します。

2-4. 転送先Google BigQueryの設定
転送元と同様に設定していきます。Google BigQueryとの接続には、Googleアカウントとの連携が必要です。(事前に転送先となるデータセットとテーブルを作成しておいてください。)

転送先とするデータセット名、テーブルを設定します。

これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。
2-5. データのプレビュー
転送元からどのようにデータが転送されるかのプレビューが作成されます。ここではAWS Cost Explorerから取り込んだデータが表示されています。

希望のデータが転送されているので設定を完了します。
転送設定の一覧から作成した設定を選び「スケジュール・通知設定」に進みます。
2-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開きます。

「スケジュールを追加」ボタンを押すと、以下の画像のようなモーダルが出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。

2-7. データ転送ジョブの実行
設定は以上です。最後に、手動で転送ジョブを実行し、Google BigQueryにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。

これで転送は完了です。
3. Google BigQueryの設定
Google BigQuery側で特に設定することはありませんが、ためしにプレビューを確認してみると確かにデータが転送されています。

4. Looker Studioで可視化
最後に転送したデータをLooker Studio(旧:Googleデータポータル)で可視化していきます。
まずはGoogle BigQueryとLooker Studioの接続設定を行います。
Looker Studioを開いて、新規のレポートを作成します。

「データを追加」のボタンを押し、データ元の選択肢からGoogle BigQueryを選択します。

転送に使用したプロジェクト、データセット、表(テーブル)を選択し、追加します。

データベースに接続できたら、右側の設定を変更し、必要な情報を表示させます。
後で作成する棒グラフにおいて、「ディメンション」が横軸、「指標」が縦軸に対応します。

最後に右上のグラフ一覧から目的に合ったグラフの形を選択します。
今回は閲覧数の比較をするため、棒グラフを選択します。

まとめ
いかがでしたでしょうか。trocco®を使うと、日々更新されるAWS Cost Explorerのデータでも自動でGoogle BigQueryにまとめていくことができるほか、100万規模の大きなデータからごく小さなデータまで複雑なコーディングをせずtrocco®の画面上の設定のみでデータを転送し、連携するBIツールでデータを可視化することが可能になります。
trocco®では、クレジットカード不要のフリープランをご案内しています。ご興味がある方はぜひこの機会に一度お試しください。
