0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】PowerBIでAWSのコストダッシュボード構築

Posted at

はじめに

今回はさくっとAWSのコスト可視化を行っていきたいと思います。PowerBIでAWSのコストを読み込むことで、簡易なコストダッシュボードを作成します。PowerBIを用いたコストダッシュボードは以下のようなユースケースがあると考えています。

  • QuickSightやSaaS等を用いてコストの可視化を推進したいと考えているものの、とりあえずダッシュボードで確認してみたい
  • 上記の導入にあたり、ステークホルダを説得する材料が欲しい
  • 小規模で利用を検討している

環境

イメージ図

image.png

実装

AWS側の設定

コストデータエクスポートの設定

  • 請求とコスト管理>[データエクスポート]>[作成]
    image.png

  • 以下の内容を入力>[作成]

    • 詳細をエクスポート:標準データエクスポート
    • エクスポート名:{レポート名}
    • データテーブルコンテンツ:CUR 2.0
    • データテーブルの設定
    • 時間粒度:日次
    • 圧縮タイプトファイル形式:Parquet
    • ファイルのバージョニング;既存のデータエクスポートファイルを上書き
  • 補足:

    • 今回は個人のAWSアカウントということもあり、以下のデータを含めています。AWSのリソースIDやコスト配分データを含めることでコストが高騰しているリソースの特定に役立ちます。後から変更できないのでご注意ください。
      • リソースID
      • コスト配分データ
    • 今回はAthenaで読み込むため、Parquet形式のファイルを選択しています。

image.png
image.png
image.png

Athenaの設定

  • [ワークグループ]>ワークグループを選択して[アクション]>[編集}

image.png

  • クエリ結果の設定後、[変更を保存]を押下
    クエリ結果の管理を設定設定する必要があります。今回は長時間クエリ結果を保持する必要が無いためAthenaマネージドを選択しています。
    image.png

Glueクローラーの設定

  • AWS Glue>[Crawlers]>[Create crawler]

image.png

  • 以下を入力して[Next]を押下
    • Name:{レポート名}

image.png

  • 以下を入力して[Next]を押下
    • Data source configuration: Not yet
      ※[Add a data source]を押下して、データソースを追加する。次に掲載しているスクショのポップアップが表示されるため入力して戻ってくると、データソースが追加された状態になる。

image.png

  • 以下を入力して[Add an S3 datasource]を押下
    • Data source: S3
    • Location of S3 data: In this account
    • S3 path: {S3://{Data Exportsの出力先として作成したS3バケット名}}
    • Subsequent crawler runs: Crawl all sub-folders

image.png

  • IAM Roleを設定して[Next]を押下

image.png

  • 以下を入力して[Next]を押下
    • Frequency
    • Start time
      ※[Add database]を押下して、データベースを新規作成する。次に掲載するスクショの画面がポップアップするので必要事項を入力して本画面に戻ってくる

image.png

  • Nameを入力して[Create database]を押下

image.png

  • 設定をレビューして問題なければ作成を完了する

  • Crawlers>[Run]
    一度データが保存されている状態でCralwerを走らせることによって、テーブルを作成できます。
    image.png

IAMユーザの作成

今回はPowerBIからAthenaに接続する際、IAMのアクセスキー/シークレットキーを使用するため、Athena,S3の権限を付与したIAMユーザを作成しています。

ローカルPC側作業

ODBCの設定

  • ODBCドライバーのインストール
    こちらからインストール可能です。

  • ODBCデータソースアドミニストレータを開き、[システムDSN]>[追加]
    image.png

  • Amazon Athena ODBCを選択
    image.png

  • 以下を入力して、OK]を押下

    • Data Source Name:{任意の名前}
    • Region:AthenaのAWSリージョン(東京リージョンならap-northeast-1)
    • WoekGroup:Athenaへ接続するためのワークグループ
      ※今回はデフォルトのワークグループを使用
      image.png
  • [Authentication Opstions]を押下
    image.png

  • [IAM Credentials]を選択して、以下を入力して[OK]を押下

    • UserName:アクセスキー
    • Password:シークレットキー

PowerBIの設定

  • Microsoft StoreからPowerBIをインストール

  • PowerBIDesktopから接続設定

    • [別のソースからデータを取得する]
      image.png
  • [その他]>[ODBC]>[接続]
    image.png

  • [規定またはカスタム]>[接続]
    image.png

  • テーブルを選択し[読み込み]を押下

image.png

データが表示されたら完了です。
image.png

本番運用をするにあたっての検討事項

  • DataExportsでのデータ絞り込み
    DataExportsでのデータの絞り込みを行うことにより、配信先で閲覧してほしくない情報を連携しないことが重要です。また、必要な情報のみに絞り込みを行うことによってAthnaで読み込むデータ量を削減できるため、コスト削減にもつながります。

  • ODBCの認証
    ODBC接続する場合、認証としてはこちらをサポートしているので、組織に合った認証を選択いただければと思います。IAMのアクセスキー/シークレットキーを使用して接続することはセキュリティ上あまりよくないので、実際に組織で運用していく場合はAzure ADやPingなど他の接続方法での接続が良いと思います。

  • 出力形式
    今回はCUR2.0にしていますが、FOCUSという複数のクラウドベンダーにまたがるコストと使用量データを標準化仕様を選択しておくと、他クラウドサービスを使用し始めた際に統一しやすいと思います。

  • Quick Sightとの比較

    • 構築の手間:Quick Sightのほうがメリットは大きい
      DataExportsから一撃でデプロイできるため、Quick Sightのほうが構築の手間は少ないです。また、Cloud Intelligence Dashboards on AWSとしてより詳細な使用料などを含めたダッシュボードも簡単にデプロイ可能です。DataExportsを使ってスモールスタートし、CUDOSダッシュボードを利用して自社にあったカスタマイズをしていくという進め方がよさそうです。
    • コスト:PowerBIのほうがメリットは大きい(可能性がある)
      コストの大きな違いはユーザ単位での料金かと思います。QuickSightの閲覧者は3USD/月、作成者は24USD/月(年間契約の場合は18USD/月)かかります。一方、Microsoft PowerBIは会社のプランによっては追加の料金支払いは発生しない可能性があります。無料版PowerBIの場合は自分の環境に閉じており、レポートの共有などができません。そのため有償版が望ましいです。 

まとめ

今回はPowerBIにてAWSのコスト可視化を行いました。Billingの権限は開発者に付与しないケースが多いと思います。会社のOfficerライセンスによっては追加料金なしで他のメンバーにも共有可能であるため、SaaSを利用していない場合、開発者と共有しながらコスト可視化を行っていく1つの方法として有用なのではないかと思います。
今回はあくまで構築に主眼を置きましたが、ビジュアライゼーションのパターンについてはどこかで記事にまとめられればと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?