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?

CUDOS構築記 Vol.4: データソース、およびダッシュボードを作成する

Posted at

こちらの記事は、CUDOS構築記 Vol.3: CURの出力と集約先へのレプリケーション設定をするの続きです。
前回は、CURの集約先の作成について紹介しました。今回は、Step3:データソース、およびダッシュボードの作成についてコードを交えながら解説します。

本記事の構成

  • 前提のおさらい
  • 構築範囲の確認
  • 構築手順

前提のおさらい

  • CUDSの構築ステップは3つ
    • (作成済み)Step1: CURの集約先を作成する
    • (作成済み)Step2: CURの出力と集約先へのレプリケーション設定をする
    • Step3: データソース、およびダッシュボードを作成する
  • 構築先アカウント
    • Step1,3:ダッシュボードを設置するアカウント
    • Step2: 可視化対象アカウントすべて
  • CUDOSの構築方針
    • Step1,2はTerraformで構築
    • Step3はCLI(cid-cmd tool)で構築

構築範囲の確認

構築範囲

赤枠で囲ってある範囲が、本記事で構築する対象です。
データソースの設定とダッシュボードを作成します。
ここまでの構築が終わっていれば、コマンドを叩くだけでダッシュボードが作成されます。

構築作業

前提

  • Step2の構築が完了していること
  • 設定先のAWSアカウントに対する適切なアクセス権限を保持していること
  • Athenaworkgroupが設定済みであること
    • 未設定の場合は、サンプルコードを参考に設定してください
  • QuickSightEnterprise editionが利用可能であること

Athenaのworkgroupの設定サンプル

Athenaのworkgroupの設定サンプル
resource "aws_athena_workgroup" "cid" {
  name        = "CID"
  description = "Used for CloudIntelligenceDashboards"

  configuration {
    enforce_workgroup_configuration    = true
    publish_cloudwatch_metrics_enabled = true

    result_configuration {
      output_location = "s3://<your-bucket-name-of-athena-result>/"

      encryption_configuration {
        encryption_option = "SSE_S3"
      }
    }
  }
}

事前準備

ダッシュボードを設置するAWSアカウントにログインして、CloudShellを起動します。
この際に、リージョンがus-east-1であることを確認してください。

CILのインストール

コマンドラインツールであるcid-cmdをインストールします。

python3 -m ensurepip --upgrade
...
pip3 install --upgrade cid-cmd
...

デプロイ

cid-cmd deploy

インタラクティブなプロンプトが表示されるので、入力していきます。

# デプロイするダッシュボード: CUDOS Dashboard v5
? [dashboard-id] Please select a dashboard to deploy: (Use arrow keys)
   FOUNDATIONAL
 »   [cudos-v5] CUDOS Dashboard v5

# Athenaのworkgroup: 事前に作成したものを選択
? [athena-workgroup] Select Amazon Athena workgroup to use: (Use arrow keys)
 » CID
   primary

# データソース: 新規作成
? [quicksight-datasource-id] Please choose DataSource (Select the first one if not sure): (Use arrow keys)
 » CID-CMD-Athena <CREATE NEW DATASOURCE>

# QuickSightのロール: 新規作成
? [quicksight-datasource-role] Please choose a QuickSight role. It must have access to Athena: (Use arrow keys)
   <USE DEFAULT QuickSight ROLE (You will need to login to QuickSight (https://quicksight.aws.amazon.com/sn/admin#aws) and configure S3 and Athena access there)>
   aws-quicksight-service-role-v0
 » CidCmdQuickSightDataSourceRole <ADD NEW ROLE>

# Athenaのデータベース: 新規作成
? [athena-database] Select AWS Athena database to use: (Use arrow keys)
 » customer_cur_data (CREATE NEW)

# Step1で作成したCURの集約先のバケットを選択
? [view-cur-s3-bucket] Enter a bucket with CUR: (Use arrow keys)
 » cid-xxxxxxx-shared

# CURのパス
? [view-cur-location] Enter an S3 path. We support only 2 types of CUR path: s3://{bucket}/cur and s3://{bucket}/{prefix}/{name}/{name}: s3://cid-xxxxxxx-shared/cur/

# GlueCrawlerのロール: 新規作成
? [crawler-role] Provide a crawler role name: (Use arrow keys)
 » CidCmdCurCrawlerRole <CREATE NEW>

# ダッシュボード上のアカウント表示名の設定
# こちらは後から変更するので、Dummyを選択
? [account-map-source] Please select account metadata collection method: (Use arrow keys)
 » Dummy (CUR account data, no names)
   AWS Organizations (one time account listing)
   CSV file (relative path required)

# Timezoneの設定
? [timezone] Please select timezone for datasets scheduled refresh.: Asia/Tokyo

# ダッシュボードの共有設定: こちらはお好みで
 [share-with-account] Share this dashboard with everyone in the account?: (Use arrow keys)
 » No

CUDOS Dashboard v5 is available at: <URL>

最後に出力されるたURLへアクセスして、ダッシュボードが表示されることを確認してください。

dashboard

CURに関しては反映まで24時間ほどかかるので、時間をおいて確認してください。


以上で、この記事は終了です。
これまで4回にわたって、CUDOSの構築手順を解説してきました。
CUDOSを構築するに当たり、情報が少なく手探りで進めることが多かったので、今後の誰かの参考になればと思い執筆しました。
もし、何か不明点や誤りがあれば、お気軽にコメントいただけると幸いです。

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?