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などのデータソースに対応しています。

AWS Cost ExplorerのデータをGoogle BigQueryへ転送

ゴール

↓画像の赤枠のデータから

AWS Cost Explorer testデータ.png

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

テータ可視化.png

こんな人におすすめ

  • 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にデータを集約することが決まったので、続いてはデータを転送するための手段を検討します。

  1. AWS Cost ExplorerのデータをCSV形式でエクスポートし、Google BigQueryへ直接インポートする
  2. Google BigQuery データコネクタであるコネクテッド シートを使用する(ただしGoogle WorkspaceのプランがEnterprise以上である必要あり)
  3. 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/index.html
(申し込みの際にこちらの記事を見たという旨を記載していただければその後のご案内がスムーズに行なえます。)

2-1. 転送元・転送先を決定

trocco®にアクセスして、ダッシュボードから「転送設定を作成」ボタンを押します。

qiita_20200827_2.png

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

転送設定の新規作成.png

設定画面になるので、必要な情報を入力していきます。

2-2. AWS Cost Explorerとの連携設定

trocco®には社内のユーザー間でチームを作成し、チームで転送設定を共有するチーム機能があります。チームの他メンバーが見返したときにわかるよう転送設定の名前とメモを入力します。

転送設定の新規作成 .png

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

接続情報を追加.png

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

AWS 接続情報作成.png

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

接続情報選択.png

2-3. AWS Cost Explorerからのデータ抽出設定

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

AWS Cost Explorer testデータ.png

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

転送元の設定.png

2-4. 転送先Google BigQueryの設定

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

BigQuery接続情報作成.png

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

転送先BigQuery.png

これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。

2-5. データのプレビュー

転送元からどのようにデータが転送されるかのプレビューが作成されます。ここではAWS Cost Explorerから取り込んだデータが表示されています。

データプレビュー.png

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

2-6. スケジュール・通知設定

「スケジュール・トリガー設定」タブを開きます。

転送設定概要.png

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

新規スケジュール.png

2-7. データ転送ジョブの実行

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

実行.png

これで転送は完了です。

3. Google BigQueryの設定

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

BigQuery転送確認.png

4. Looker Studioで可視化

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

Qiitaテスト.png

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

BigQuery選択.png

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

データのレポートへの追加.png

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

データポータル反映.png

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

テータ可視化.png

まとめ

いかがでしたでしょうか。trocco®を使うと、日々更新されるAWS Cost Explorerのデータでも自動でGoogle BigQueryにまとめていくことができるほか、100万規模の大きなデータからごく小さなデータまで複雑なコーディングをせずtrocco®の画面上の設定のみでデータを転送し、連携するBIツールでデータを可視化することが可能になります。
https://trocco.io/lp/index.html

実際に試してみたい場合は、無料トライアルを実施しているので、この機会にぜひ一度お試しください。(申し込みの際にこちらの記事を見たという旨を記載していただければスムーズにご案内することが出来ます。)

データ分析基盤構築サービスtrocco
hirokazu.kobayashi

慶應義塾大学卒業後、2014年より株式会社リブセンスへ入社。データエンジニアとして同社分析基盤立ち上げをリードする。2017年より現職primeNumberに入社。自社プロダクト「systemN」におけるSpark/Redshift活用等のデータエンジニアリング業務を行うかたわら、データ統合業務における工数削減が課題だと感じ、データ統合を自動化するサービス「trocco®」を立ち上げる。