Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ダッシュボードもコード管理!Amazon QuickSightで考えるBIOps

Avatar for Niino Niino
July 23, 2023

ダッシュボードもコード管理!Amazon QuickSightで考えるBIOps

DevelopersIO 2023大阪で発表した資料です。

Avatar for Niino

Niino

July 23, 2023
Tweet

More Decks by Niino

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 niino • データアナリティクス事業本部 インテグレーション部 コンサルティングチーム ◦ ソリューションアーキテクト ◦ 2023

    Japan AWS Top Engineer(Analytics) • データ分析基盤に関するコンサルティング • 好きなAWSサービス:Amazon Athena • 奈良県出⾝ ⼤阪オフィス所属 この辺の出身
  2. QuickSightのいいところ:安い 7 • とにかく安価 • AWS内の費⽤として計 上できるため、稟議が 通しやすく、 始めやすい 1ヶ⽉

    年間 作成者(Author) $24/⽉ $18/⽉ QuickSight Qを利⽤する作成者 (Author) ※QuickSight Qを利⽤するには $250/⽉が別途必要 $34/⽉ $28/⽉ Enterprise Editionの場合
  3. QuickSightのコード管理 20 API機能の拡充! • アセットの定義情報をJSON 形式で取得可能に • Create/UpdateのAPIにダッ シュボード、分析、テンプ レートの定義情報を指定可能

    • 依存関係にあるアセットを パッケージ化(アセットバン ドル) つまり、コマンド⼀発で アセットを作成可能!
  4. BIにおけるコード管理のうれしさ 28 • アセットを定義し、保持することでSingle Source Of Truth(信頼できる唯一の情報源)を担保 • バージョン管理による変更の追跡 •

    アセットの移行が容易 • 自動化による継続的なデプロイ 分析までのライフサイクルを短縮し、 信頼性の高い内容で継続的にデリバリーできる
  5. BIにおけるコード管理のうれしさ 29 • アセットを定義し、保持することでSingle Source Of Truth(信頼できる唯一の情報源)を担保 • バージョン管理による変更の追跡 •

    アセットの移行が容易 • 自動化による継続的なデプロイ 分析までのライフサイクルを短縮し、 信頼性の高い内容で継続的にデリバリーできる BIOps
  6. ダッシュボードをバージョン管理 34 • describe-dashboard-defin itionコマンドで定義を JSON形式で取得 • GithubやCode Commitに プッシュし、定義情報を管理

    変更を追跡可能 $ aws quicksight describe-dashboard-definition --aws-account-id <AWSアカウントID> --dashboard-id <ダッシュボードID> > ./code/dashboard-definition.json
  7. データセットの定義を保持 36 $ aws quicksight describe-data-set --aws-account-id <AWSアカウントID> --data-set-id <データセットID>

    > dataset-definition.json "Catalog": "AwsDataCatalog", "Schema": "salesdb", "Name": "sales_dataset", "InputColumns": [ { "Name": "sales", "Type": "INTEGER" }, :(中略) "CreateColumnsOperation": { "Columns": [ { "ColumnName": "total_sales", "ColumnId":"c8739369-..........", "Expression": "{sales}*{amount}" } • カラムのデータ型 • 計算フィールドの定義 計算フィールドを利⽤して いる場合、データがどんな 計算ロジックで算出されて いるのか含めて定義
  8. バックアップ取得とデプロイ 38 • アセットバンドル(依存関係 含めたアセット定義)をエク スポート • アセットバンドルを QuickSightへインポート •

    定義をCodeCommitにプッ シュしておけば アセットバンドルの バージョン管理も可能 $ aws quicksight describe-asset-bundle-export-job --aws-account-id <AWSアカウントID>  --asset-bundle-export-job-id <ジョブ名>
  9. まとめ 47 参考 • AWS QuickSight as “Code”; a unified

    approach for QuickSight development and deployment, using AWS CDK, CLI, and CodePipeline | by Gmournos | Jun, 2023 | Medium https://medium.com/@gmournos/aws-quicksight-as-code-a-unified-approach-for-quicksight-development-and-d eployment-using-aws-30bbb6bd253a • [アップデート] Amazon QuickSight でアセットのインポート・エクスポートジョブを実行することが出来るようになりました | DevelopersIO https://dev.classmethod.jp/articles/quicksight-inport-export-job/ • Amazon QuickSightのアセットのインポート・エクスポートジョブで別アカウントにダッシュボードを共有してみた | DevelopersIO https://dev.classmethod.jp/articles/quicksight-inport-export-job-share-s3-dashboard/ • [BIOps: Amazon QuickSight object migration and version control | AWS Big Data Blog](https://aws.amazon.com/jp/blogs/big-data/biops-amazon-quicksight-object-migration-and-version-control/) • Automate and accelerate your Amazon QuickSight asset deployments using the new APIs | AWS Big Data Blog https://aws.amazon.com/jp/blogs/big-data/automate-and-accelerate-your-amazon-quicksight-asset-deployment s-using-the-new-apis/
  10. 49