Slide 1

Slide 1 text

7/13(日) 第28回クラウド女子会 ~夏のLT大会!&AWS BuilderCards v2をプレイしよう~ 幅広く~AWSに関する技術の話~ LT QuickSight SPICE の効果的な運用戦略 ~S3 + Athena 構成での実践ノウハウ~

Slide 2

Slide 2 text

目次 2 ⚫ QuickSight、Athena とは(おさらい) ⚫ S3 + Athena + QuickSight 構成で課金が発生する箇所 ⚫ QuickSight データセット更新運用 ⚫ その他考慮事項 ⚫ まとめ

Slide 3

Slide 3 text

QuickSight、Athena とは(おさらい) 3 ⚫ QuickSight、Athena とは(おさらい) ⚫ S3 + Athena + QuickSight 構成で課金が発生する箇所 ⚫ QuickSight データセット更新運用 ⚫ その他考慮事項 ⚫ まとめ

Slide 4

Slide 4 text

QuickSight、Athena とは(おさらい)

Slide 5

Slide 5 text

5 ⚫ QuickSight とは ⚫ AWS が提供するビジネスインテリジェンス(BI)サービス ⚫ データの可視化とダッシュボード作成を簡単に行うことができ、 様々なデータソース(RDS、S3、Redshiftなど)に接続可能 ⚫ 機械学習を活用した自動的な洞察の発見機能や、自然言語での質問機能(Q&A)も搭載 QuickSight、Athena とは(おさらい) Amazon QuickSight

Slide 6

Slide 6 text

6 QuickSight、Athena とは(おさらい) 棒グラフ、円グラフ、サンキーチャートなどの ビジュアルを使って可視化できる

Slide 7

Slide 7 text

7 ⚫ QuickSight の主なアセット(QuickSight に含まれる要素) QuickSight、Athena とは(おさらい)

Slide 8

Slide 8 text

8 ⚫ QuickSight の主なアセット(QuickSight に含まれる要素) QuickSight、Athena とは(おさらい) データソース データのもととなるソース

Slide 9

Slide 9 text

9 ⚫ QuickSight の主なアセット(QuickSight に含まれる要素) QuickSight、Athena とは(おさらい) データセット 可視化対象のデータが格納されたデータソースへ QuickSight から接続するか、 インメモリデータベースである SPICE へデータを インポートする。 この単位をデータセットと呼ぶ。 ※SPICE については後述

Slide 10

Slide 10 text

10 ⚫ QuickSight の主なアセット(QuickSight に含まれる要素) QuickSight、Athena とは(おさらい) 分析 可視化するグラフや図の作成や編集ができる

Slide 11

Slide 11 text

11 ⚫ QuickSight の主なアセット(QuickSight に含まれる要素) QuickSight、Athena とは(おさらい) ダッシュボード 分析の Read Only モードのこと。 分析が作成され公開できる状態になると、作成者(Author)は それをダッシュボードとしてエクスポート・公開できる。

Slide 12

Slide 12 text

12 ⚫ SPICE(スパイス) ⚫ QuickSight には SPICEというインメモリ型の高速データベースが内蔵されている ⚫ この SPICE 領域にデータを取り込んでおくことで、高速な BI 応答が可能 ⚫ SPICE を使わず、データソースに直接クエリを発行して利用することも可能 QuickSight、Athena とは(おさらい)

Slide 13

Slide 13 text

13 ⚫ Athena とは ⚫ AWS が提供するサーバーレスのクエリサービス ⚫ Amazon S3 に保存されたデータに対して、標準的な SQL を使って直接クエリを実行できる ⚫ サーバーの管理やインフラの構築が不要で、必要な時にすぐにデータ分析を開始できる ⚫ CSV、JSON、Parquet、ORC 等の様々なデータ形式に対応しており、 実行したクエリの分だけ料金を支払う従量課金制 ⚫ 大量のデータに対してアドホックな分析やレポート作成を手軽に行える QuickSight、Athena とは(おさらい) Amazon Athena

Slide 14

Slide 14 text

14 QuickSight、Athena とは(おさらい) ①データソースを指定 データベースを作成 テーブルを作成 ②クエリを実行 ③実行結果

Slide 15

Slide 15 text

15 ⚫ S3 とは ⚫ AWS が提供するオブジェクトストレージサービス ⚫ ファイル、画像、動画、ドキュメントなど、あらゆる種類のデータを安全かつ高い耐久性 (99.999999999%)で保存できる ⚫ 容量は事実上無制限で、必要に応じて自動的にスケールし、使用した分だけの従量課金 ⚫ アプリケーションのデータ保存、バックアップ、データアーカイブ、静的 Web サイトの ホスティングなど幅広い用途で利用できる ⚫ 他の AWS サービスとの連携も優れており、多くのデータ基盤として 活用されている AWS の中核的なサービスの一つ QuickSight、Athena とは(おさらい) Amazon S3

Slide 16

Slide 16 text

S3 + Athena + QuickSight 構成で課金が発生する箇所 16 ⚫ QuickSight、Athena とは(おさらい) ⚫ S3 + Athena + QuickSight 構成で課金が発生する箇所 ⚫ QuickSight データセット更新運用 ⚫ その他考慮事項 ⚫ まとめ

Slide 17

Slide 17 text

S3 + Athena + QuickSight 構成で課金が発生する箇所

Slide 18

Slide 18 text

18 ⚫ S3 のデータを Athena でクエリし、Athena をデータソースとして QuickSight で可視化する際のざっくり構成 S3 + Athena + QuickSight 構成で課金が発生する箇所 ① S3 のデータを Athena でクエリ(抽出) ② Athena をデータソースとして QuickSight データセットを作成 ④ QuickSight データセットを もとに可視化する ③必要に応じてクエリしたデータを SPICE に保存し、 QuickSight データセットを作成

Slide 19

Slide 19 text

19 ⚫ QuickSight のデータ更新に関して発生する主な課金は以下の 2 箇所 ⚫ Athena スキャン料金 ⚫ Athena からクエリを発行し、S3 バケットにデータを取りに行くときにスキャンする データ量に応じて課金が発生 ⚫ USD 5.00 per TB of data scanned ⚫ SPICE データ保存料金 ⚫ QuickSight 内にデータを保持するための インメモリデータストア ⚫ GB/月あたり0.38 USD S3 + Athena + QuickSight 構成で課金が発生する箇所

Slide 20

Slide 20 text

20 ⚫ SPICE を使わない直接クエリ(ダイレクトクエリ)の場合、 分析やダッシュボードを開いて操作するたびに Athena から S3 への スキャンが走り、スキャン料金が多くなる可能性がある S3 + Athena + QuickSight 構成で課金が発生する箇所

Slide 21

Slide 21 text

21 ⚫ SPICE を使う場合、SPICE へのデータ保存料金がかかる ⚫ データを増分更新して追加することはできるが、古いデータを削除する操作は SPICE でサポートされていないため、データは増加し続ける ⚫ その代わり Athena で S3 へのスキャンが減るため、 Athena スキャン料金は 抑えられる S3 + Athena + QuickSight 構成で課金が発生する箇所

Slide 22

Slide 22 text

QuickSight データセット更新運用 22 ⚫ QuickSight、Athena とは(おさらい) ⚫ S3 + Athena + QuickSight 構成で課金が発生する箇所 ⚫ QuickSight データセット更新運用 ⚫ その他考慮事項 ⚫ まとめ

Slide 23

Slide 23 text

QuickSight データセット更新運用

Slide 24

Slide 24 text

24 ⚫ Athena スキャン料金と SPICE 保存料金を共に最適化するために、日次スケ ジューラと週次(もしくは月次)スケジューラの組み合わせ運用がおすすめ ⚫ 日次 SPICE 増分更新(Athena スキャン量を最適化するため) ⚫ 日付範囲指定ありの週次(もしくは月次)SPICE フル更新(SPICE 容量を最適化するため) ⚫ 実際には使用するデータを共有してもらい、現場の担当者と協議を重ねながら最適な運用設計を 練っていく形になる QuickSight データセット更新運用

Slide 25

Slide 25 text

25 ⚫ 詳細イメージ QuickSight データセット更新運用 Athena のパーティション射影(Partition Projection)を理解するためにイメージ図を書いた | DevelopersIO https://dev.classmethod.jp/articles/athena-partition-projection-image/

Slide 26

Slide 26 text

QuickSight データセット更新運用 26 ⚫ QuickSight、Athena とは(おさらい) ⚫ S3 + Athena + QuickSight 構成で課金が発生する箇所 ⚫ QuickSight データセット更新運用 ⚫ その他考慮事項 ⚫ まとめ

Slide 27

Slide 27 text

その他考慮事項

Slide 28

Slide 28 text

28 ⚫ その他考慮事項 ⚫ SPICE のスケジュール更新機能を使うためには日付カラムが必要 ⚫ S3 バケットへのデータ格納の前のデータ加工で日付カラムを含める ⚫ データ量が SPICE に収まりきらない可能性がある場合は、Athena で要約集計や 期間のデータのみを保持するデータマートを作成して、それを QuickSight から 読み込ませるなどの工夫も検討可能 ⚫ 日ごとのカテゴリごとに要約する、日ごとにまとめてしまう、ユーザーごとに まとめてしまう、など その他考慮事項

Slide 29

Slide 29 text

29 ⚫ データセット更新にかかる時間の目安 ⚫ SPICE データセットの更新時間はデータ量・クエリの複雑さ・データソース・ ネットワーク状況などにより異なり、公式な目安や上限値は公開されていない ⚫ Athena のクエリタイムアウトは 30 分の制限があり、引き上げも可能 ⚫ 参考情報(弊社で運用中の QuickSight ダッシュボードの SPICE 更新時間) ⚫ データセット A ⚫ フル更新、サイズ:23.8 GB、18455543 行の更新に最大で 28分(平均 10 分程度) ⚫ データセット B ⚫ フル更新、サイズ:1.3 GB、1195317 行の更新に最大で 3 分(平均 1 分 30 秒程度) その他考慮事項

Slide 30

Slide 30 text

まとめ 30 ⚫ QuickSight、Athena とは(おさらい) ⚫ S3 + Athena + QuickSight 構成で課金が発生する箇所 ⚫ QuickSight データセット更新運用 ⚫ その他考慮事項 ⚫ まとめ

Slide 31

Slide 31 text

まとめ

Slide 32

Slide 32 text

まとめ 32 ⚫ コスト最適化の観点 ⚫ Athena スキャン料金と SPICE 保存料金の両方を考慮した運用設計が重要 ⚫ 直接クエリ(ダイレクトクエリ)は操作のたびにスキャン料金が発生するため、 頻繁なアクセスがある場合は SPICE の活用を検討 ⚫ 推奨運用パターン ⚫ 日次増分更新 + 週次/月次フル更新の組み合わせ ⚫ 日次:Athena スキャン量を最適化 ⚫ 週次/月次:SPICE 容量を最適化(古いデータの削除) ⚫ 運用上の考慮事項 ⚫ SPICE スケジュール更新には日付カラムが必須 ⚫ データ量が SPICE 容量を超える場合は、Athenaでの要約集計やデータマート作成を検討 ⚫ 更新時間はデータ量や複雑さに依存 ⚫ 実際の運用では、現場の担当者と協議しながら最適な設計を練ることが重要

Slide 33

Slide 33 text

NEW!! Q in QuickSight が東京リージョンで GA しました! 33 ⚫ 生成 AI の力を用いてダッシュボード構築や 自然言語でのクエリ、分析を行える Q in QuickSight がついに東京リージョンで GA !! ⚫ Build Visual:自然言語でビジュアルの作成をサポート ⚫ 計算フィールドを自然言語で作成 ⚫ シノニム(類義語):業界特有用語や社内用語を登録することにより問い合わせの精度を上げる ⚫ データ Q&A:自然言語で生データに対して問い合わせ ⚫ Exective Summary:ダッシュボードの内容を要約 ⚫ データストーリー:ビジュアル月のリッチなレポートを出力 ⚫ シナリオ:詳細な原因分析やビジネスの提案など複雑な問いに答える Attention ⚫ Q in QuickSight の機能を使うには「プロ」ロールの QuickSight ユーザーが必要で、QuickSight アカウント自体に 250USD + ユーザー料金が月額固定課金されるため注意! [アップデート] Q in QuickSight が東京リージョンで GA しました! | DevelopersIO https://dev.classmethod.jp/articles/q-in-quicksight-ga-tokyo/

Slide 34

Slide 34 text

参考 34 ⚫ 料金 - Amazon Athena | AWS https://aws.amazon.com/jp/athena/pricing/ ⚫ 料金 - Amazon QuickSight | AWS https://aws.amazon.com/jp/quicksight/pricing/ ⚫ QuickSight ユーザーを削除した際に無料バンドルSPICE容量で追加料金が発生するタイミングを検証してみた | DevelopersIO https://dev.classmethod.jp/articles/quicksight-spice-bundle-user-delete/ ⚫ Athena のパーティション射影(Partition Projection)を理解するためにイメージ図を書いた | DevelopersIO https://dev.classmethod.jp/articles/athena-partition-projection-image/ ⚫ QuickSight の SPICE 増分更新の挙動をイメージ図付きで解説します | DevelopersIO https://dev.classmethod.jp/articles/quicksight-spice- incremental-update-behaviour-images/ ⚫ Athena で データが 0 件となり読み込めない原因が Partition Projection の range に指定した時間の時差が原因だった | DevelopersIO https://dev.classmethod.jp/articles/athena-partition-projection-range/ ⚫ Amazon QuickSightで増分更新したらデータが二重に? 増分更新が使える場合と使えない場合をまとめてみた | DevelopersIO https://dev.classmethod.jp/articles/quicksight-incremental-update/ ⚫ QuickSight の SPICE 増分更新の挙動をイメージ図付きで解説します | DevelopersIO https://dev.classmethod.jp/articles/quicksight-spice- incremental-update-behaviour-images/ ⚫ Athena から QuickSight SPICE へのクエリタイムアウトエラーの解決 | AWS re:Post https://repost.aws/ja/knowledge-center/quicksight-query- timeout-athena-spice ⚫ QuickSight のクエリタイムアウトの問題を解決する | AWS re:Post https://repost.aws/ja/knowledge-center/quicksight-resolve-query-timeout- issues

Slide 35

Slide 35 text

No content