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

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

Niino
July 23, 2023

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

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

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