はじめに
みなさんこんにちは!
以前こちらの記事で紹介した、Cloud Intelligence Dashboardsですが、ユースケースに応じてグラフの追加や記載内容の変更などカスタマイズが可能となっています。開発環境で作りこんだダッシュボードを、本番環境にリリースするケースや、別のプロジェクトで再利用したいといったケースも多いかと思います。今回は、このようなニーズに応えるために、Cloud Intelligence Dashboardsの1つである、CUDOS(Cost and Usage Dashboard Operations Solution)を別のQuickSight環境に展開する方法についてご紹介します。
全体像
以下の図に示すように、2つのアカウントで異なるダッシュボードを使用しているケースを想定し、cid-cmd コマンドツールを使用してダッシュボードを別の環境へ展開する方法を紹介します。流れとしては、①エクスポートアカウントでダッシュボードの定義ファイルをエクスポートし、②インポートアカウントで定義ファイルを用いてダッシュボードを展開します。なお、コマンドの実行は各AWSアカウントのCloudShellを使用します。
cid-cmd コマンドツールとは
Cloud Intelligence Dashboardsのデプロイ、アップデート、削除等を行う専用のコマンドです。詳細はこちらのGitHubをご確認ください。
前提
以下の前提条件を満たしている必要があります。
- インポート・エクスポート両方のアカウントで CloudShell に
cid-cmdコマンドツールがインストールされていること - インポート・エクスポート両方のアカウントに CUDOS がデプロイされていること
- エクスポートアカウントで CUDOS の分析が作成されていること
コマンド実行時に QuickSight の分析を選択する必要があります。既存のダッシュボードから分析を作成する方法については、こちらを参照してください。
展開方法
①エクスポートジョブ実行(エクスポートアカウント)
エクスポートアカウントのCloudShellで以下コマンドを実行します。
cid-cmd export
コマンド実行後は対話型で以下を回答していきます。
| # | 選択内容 | 概要 |
|---|---|---|
| 1 | [analysis-name] Select Analysis you want to share. | エクスポートする分析を選択 |
| 2 | [output] Enter a filename (.yaml) | エクスポートするyamlファイルのファイル名を設定 |
| 3 | [dashboard-id] dashboard id (will be used in dashboard URL. Use lowercase, hyphens(not underscores) and make it short but understandable for humans) | ダッシュボードIDを設定 |
| 4 | [dashboard-export-method] Please choose export method | エクスポート方法として、templateかdefinitionのどちらかを選択 |
| 5 | [taxonomy] leave only taxonomy filed you want to keep in export: | CUDOSのtaxonomyでエクスポートするフィールドを設定 |
#4のエクスポート方法によって生成されるyamlファイルの数が異なります。違いを以下に示します。今回はdefinitionを選択しています。
-
templete
#2で指定した名前のyamlファイルのみ生成されます。 -
definition
#2で指定した名前のyamlファイルに加えて、ダッシュボードのデータソース、配置等を記載したダッシュボードの定義ファイルも生成されます。
②インポートジョブ実行(インポートアカウント)
①実施後に生成されたyamlファイルをインポートアカウントのCloudShellにコピーした上で、以下コマンドを実行します。yamlファイルの名前は、①の#2で設定したものに置き換えてください。
cid-cmd deploy --resources ○○.yaml
コマンド実行後は対話型で以下を回答していきます。
| # | 選択内容 | 概要 |
|---|---|---|
| 1 | [dashboard-id] Please select a dashboard to deploy | 展開するダッシュボードを選択 |
| 2 | [athena-database] Select AWS Athena database to use as default | ダッシュボードで使用するデータセットを選択 |
| 3 | [athena-workgroup] Select Amazon Athena workgroup to use | 使用するAthenaワークグループを選択 |
| 4 | Select taxonomy fields to add as dashboard filters and group by fields | CUDOSのtaxonomyで使用するフィールドを選択 |
| 5 | [share-with-account] Share this dashboard with everyone in the account? | ダッシュボードをアカウント内のユーザに共有するか選択 |
コマンド実行後にインポートアカウントにダッシュボードが表示されていれば完了です。
終わりに
いかがでしたでしょうか。今回はCUDOSを別のQuickSight環境に展開する方法についてご紹介しました。ダッシュボード名やAWSアカウント内のAthenaデータセット・ワークグループを対話型で設定・選択できるため、簡単にダッシュボードの再利用ができると感じました。この記事が参考になりましたら、「いいね」や「記事のストック」をしていただけると嬉しいです。
- AWS は、米国その他の諸国における Amazon.com, Inc. またはその関連会社の商標です。
- その他、記載されている会社名および商品・製品・サービス名は、各社の商標または登録商標です。
