1
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?

troccoを使ってAWS Cost ExploreからBigQueryへデータ連携する

Posted at

今回troccoというSaaSを使って、AWS Cost Exploreの情報をBigQueryへ連携する方法について紹介します。

フリーランスでの案件獲得のため、下記の記事を元に実施して見ました。
これらの記事ではtroccoとAWS,GCPを接続する際のAWS,GCP側の設定についての記載が少なかったので、ここではそれらに焦点を当てて説明いたします。
https://blog.trocco.io/case-study/aws-cost-explorer_to_bigquery_to_dataportal
https://qiita.com/hiro_koba_jp/items/a7620585cd7e53ed42d5

AWS Cost Explore → trocco → BigQuery

というようにデータの連携を行いますが、そのために必要な手順は以下の通りです。

[手順]
1、AWSにおいてCost Exploreの権限を持つユーザーを作成し、アクセスキーを設定
2、GCPにおいてBigQueryへのデータ転送を行うAPIキーを発行
3、troccoにおいて1・2の接続情報を元にデータ連携フローを作成
4、作成したデータ連携フローを実行

[事前準備] ※詳細省略
・awsのアカウントを作成
・GCPのアカウントを作成
・troccoの無料プランを申込み(https://trocco.io/lp/index.html)

なおawsとgcpのアカウント作成にはクレジットカードが必要となります。
ただしtroccoの無料プランはクレジットカード不要で、申請後1日以内で利用可能となりました!

1、AWSにおいてCost Exploreの権限を持つユーザーを作成し、アクセスキーを設定

AWSにおいてCost Exploreの権限を持つユーザーを作成し、アクセスキーを設定しました。
今回はaccess-cost-exploreというユーザーを作成し、ViewBillingというカスタムポリシーを作成・アタッチしました。

Screenshot from 2024-01-25 12-46-19.png

ViewBillingは下記の内容で、Cost Explore関連の情報を参照できる権限を設定しております。

ViewBilling
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ce:Get*",
                "ce:Describe*",
                "ce:List*",
                "ce:GetCostAndUsage",
                "account:GetAccountInformation",
                "billing:Get*",
                "payments:List*",
                "payments:Get*",
                "tax:List*",
                "tax:```Get*",
                "consolidatedbilling:Get*",
                "consolidatedbilling:List*",
                "invoicing:List*",
                "invoicing:Get*",
                "cur:Get*",
                "cur:Validate*",
                "freetier:Get*"
            ],
            "Resource": "*"
        }
    ]
}

image.png

2、GCPにおいてBigQueryへのデータ転送を行うAPIキーを発行

GCPにて、適当なプロジェクトを作成後、APIキーを発行します。
APIキーではAPI制限をして「BigQuery API」「BigQuery Data Transfer API」の2つを許可しています。

image.png

image.png

3、troccoにおいて1・2の接続情報を元にデータ連携フローを作成

データ連携フローの作成については、冒頭で紹介したリンクの記事に詳しい記載があります。
ここでは詳細は省略しますが、簡単な流れとしては、左のメニューから「接続情報」で1と2で作成した情報を使用して接続定義を作成し、次にメニューの「データ転送」で簡単にデータ統合フローが作成できます。

Screenshot from 2024-01-25 14-44-39.png

4、作成したデータ連携フローを実行

データ転送のフロー作成が完了すると、このようにフローの詳細が表示されます。
右上の「実行」押下すると処理が実行され、BigQuery側にテーブルが作成されました。

Screenshot from 2024-01-25 13-13-49.png

処理後に「costexplore_trocco1」テーブルが作成されていることを確認。
image.png

今回の記事は以上です。次回は取得したデータをGCPのサービスと組み合わせてグラフ化などを行う予定です。

1
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
1
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?