21
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【AWS】Amazon QuicksightでQiita の情報をアウトプット

Last updated at Posted at 2022-01-17

タイトルは検証内容です。
2021年6月から開始したQiitaへの投稿ですが、年末にレポートを頂きました。
非常に嬉しかった記憶があります。

せっかくなので、Qiitaに関する情報を元にAmazon Quicksightでダッシュボードを作成してみました。

最終的なダッシュボードを以下のように作成しました。
image.png

今回は、検証プロセスをQuicksightの仕様と交えて説明していきます。

Amazon Quicksight について

Amazon QuickSight とは AWSのフルマネージドサービスであり、クラウド上のBIサービスです。多様なデータソースへ接続し、結合します。
ビジュアルと呼ばれるUIをアレンジし、ダッシュボードを公開する事で、閲覧者から用途に合った情報を取得する事が出来ます。

image.png
image.png

全体イメージ

QuickSight の全体イメージとなります。
image.png

  • QuickSightは、Standard EditionEnterPrise Edition が存在します。制約は後程記載します。

  • 開発者・分析者は、データセット分析ダッシュボードという段階的なプロセスを経て、閲覧者に適切なUIを提供します。

データセット

データセット はQuicksightからUIを表示する際に初めに作成します。

  • データセットを作成する際、データソースを選択します。新規のデータソースから選択する事も、既存のデータソースを選択する事も可能です。以下のように多様なデータソースをサポートします。今回は S3 の CSV を使用します。

image.png

  • データソースの選択が完了すると、データセット上からクエリエディタを使用して、表示したいフィールドの加工、抽出、SPICEの使用などの選択を行います。

フィールドとは、QuickSightがデータソースから認識する、あるいは加工された計算フィールドより認識される一意のデータの集合体となります。フィールドは、後述するいずれのビジュアルタイプにおいても重要な項目となります。

計算フィールドとは、データソースから取り込んだ既存のフィールドに対して、演算子や関数を使用して独自のフィールドを作成するものです。QuickSight 上でフィールドとは別に新しく認識され、計算フィールドを後述のビジュアルタイプから選択する事が出来ます。なお、Quicksight では多数の関数をサポートしております。

SPICE とは、インメモリであり、データソースのデータをインポートをします。これにより、データソースへ直接クエリを発行する必要がなくなり、パフォーマンスが向上します。但し、SPICE上へ保存できるデータ容量には制限がありますので注意が必要です。

image.png

Quick sightにおける カスタムSQLクエリとは、Quicksightからデータソースに実行するSQLを事前に定義する事です。通常は SELECT ステートメントを直接実行しますがカスタムSQLクエリにより、抽出するデータの変更が可能です。

Quicksight はクロスデータソース結合と呼ばれる複数のデータソースに対する、JOIN がサポートされます。データセットを作成する際に複数のデータソースを使用する場合、こちらを使用します。Inner / Left / Right / Full Outer JOIN をサポートします。

image.png

image.png

表示させるデータ、SPICEの選択を経てデータセットを作成します。

分析

データセットが作成すると、分析の画面へ遷移します。
分析のイメージは以下です。

image.png

  • レイアウト

レイアウトは、後述のビジュアルを表現する際のフォーマットを指定します。
2021年に新しくフリーフォーマットが使用可能となり、正確な座標を使用してダッシュボードのどこにでも配置できます。また、ビジュアルのオーバーラップが可能となり、重複する座標上で対象のビジュアルの前面、背面に指定する事で、UIの構成に幅が広がりました。

  • テーマ

テーマとは、対象の分析やダッシュボードに適用させるレイアウトの中の設定項目です。具体的には、シートの文字の色や背景色、分析内のグリッド線、枠線、フォントなどを全て指定出来ます。また、独自のテーマを作成する事が可能で、テーマや好みに合ったUIをデザインする事が出来ます。

image.png

  • ビジュアルタイプ

上記の設定が完了すると、ビジュアルを挿入していきます。
ビジュアルとは表やグラフ、画像動画など、一意のオブジェクトを示します。
用途に合ったビジュアルタイプを追加する事で、分析内のシート内にビジュアルを挿入する事が出来ます。

ビジュアルタイプとして様々な形式のグラフを使用する事が出来ます。

  • 主要業務指標(KPI)
    image.png

  • ゲージグラフ
    image.png

  • ドーナツグラフ
    image.png

  • 円グラフ
    image.png

  • 棒グラフ(各種)
    image.png

  • 折れ線グラフ
    image.png

  • ピポットテーブル
    image.png

  • テーブル
    image.png

  • ヒートマップ
    image.png

  • 散布図
    image.png

  • カスタムビジュアルコンテンツ (URL形式であればWebコンテンツのオンラインビデオ等も挿入可能です)
    image.png

ビジュアル毎に表示出来るデータに制限事項があります。
開発を行う際は、表示したいビジュアルタイプの制限事項はクリアにしといた方がよいかと思います。

  • ビジュアルでのフィールドの使用

ビジュアルの挿入が完了したら、分析内で認識されているフィールドを各ビジュアルの形式に沿ったフィールドウェルへ挿入していきます。

以下の例では、テーブル形式のビジュアルを選択しています。
フィールドリストには LGTM / Posted Date / Stock / Tag / Title のフィールドが存在し、これらをフィールドウェルへ挿入していき、テーブルを作成していきます。

image.png

なお、フィールド毎のアイコンの違いは、データタイプの違いとなります。
これはデータセットを作成する際にQuicksightが認識するデータタイプであり、変更も可能です。
例えば、Posted Dateは日付形式のデータタイプへ変更していますが、文字列などの異なるデータタイプへ変更が可能です。

image.png

image.png

image.png

分析のUIが完了したら、共有から、ダッシュボードの公開を押下して、ダッシュボードが公開されます。

image.png

ダッシュボード

ダッシュボードは、閲覧者が共有できる、分析の読み取り専用のスナップショットであり、公開時の分析設定が保存されます。

ここで権限について記載します。

ユーザー設計・アクセス設計

ユーザー管理

Quicksight を使用するユーザーは、IAM ユーザーを保持する事が必須条件ではありません。
後述する管理者が、有効なEメールアドレスへ招待メールを送信できます。招待されたユーザーがサインアップすると、新しいQuickSight専用のユーザーアカウントとして作成されます。

また、IAMユーザーを招待することもできます。
この場合は、IAM認証情報を使用してQuickSightにサインインします。
招待されたIAMユーザーは、上記と同様に有効なEメールアドレスも持っている必要があります。

image.png

なお、SSOや、Microsoft Active Directoryを使用したユーザー管理、Idp などもユーザー管理として使用出来ますが、私から EnterPrise Edition の検証は実施できない為、割愛します。

管理・操作・閲覧ユーザーの権限分離

EnterPrise Editionでは、マルチテナントをサポートしています。

マルチテナントとは同じアカウント上に、ネームスペース(名前空間)を作成する事が出来ます。
複数のネームスペースでは、Quicksightのリソース、ユーザーがネームスペース単位で作成されます。
例えば、一つのアカウント上でQuicksightを使用したいが、操作出来るリソースは部署単位で分けたい。といったオーダーに適しているかと思います。

image.png

また、Quicksight では、後述するユーザーを一括りにしたグループの生成が可能です。

aws quicksight create-group --aws-account-id=111122223333 --namespace=default --group-name="Sales-Management" --description="Sales Management - Forecasting" 

これにより、特定のダッシュボードをユーザーではなくグループ単位でセキュリティを管理する事ができます。

いずれもはAWSコンソールからではなく、AWS CLIから操作するという点も特徴の一つです。

ユーザー権限

QuickSight は Edition により、登場人物(Role)が異なります。

image.png

  • 管理者(Admin)
    ユーザー管理やSPICE 容量の購入などの管理タスク等の実行権限を持ちます。
    また、ロールとしての管理者と、IAM 管理者ユーザーが存在し、これもまた、権限が異なります。
    IAM 管理者ユーザーは、管理者権限および、アクセス許可の管理や、Editionのアップグレード、サブスクリプション解除も行うことができます。

  • 作成者(Author)
    データセットの作成、分析とダッシュボードの作成などを行う権限を持ちます。
    作成者の権限範囲は広いため、Authorの権限を制限する事も可能です。

  • 閲覧者(Reader)
    Enterprise Edition のみ、共有されたダッシュボードを操作できる Reader が存在します。

AWS サービスへのアクセス権限

Quicksight では、データソースへアクセスするサービスに対してIAMポリシーによる許可する必要があります。

  • IAM で Amazon QuickSight を使用する

追加のポリシーのアタッチ
Amazon Athena や Amazon S3 などの別の AWS のサービスを使用している場合は、特定のアクションを実行するための QuickSight アクセス権限を付与するアクセス権限ポリシーを作成できます。その後、後で QuickSight に渡す IAM ロールにポリシーをアタッチできます。

Amazon QuickSight で既存の IAM ロールを使用する
QuickSight 管理者で、QuickSight リソースを更新して IAM ロールを渡す権限を持っている場合は、QuickSight で既存の IAM ロールを使用できます。

image.png

補足情報

今回、検証で使用しなかった埋め込み分析Amazon QuickSight QML insightなどがあります。いずれも EnterPrise Edition から利用可能な機能ですが、Quicksightの分析への拡張性があるものかと思います。

  • 埋め込み分析の操作(EnterPrise Edition)

  • Machine Learning (ML) Insights の使用(EnterPrise Edition)

  • Amazon QuickSight Q の使用 (EnterPrise Edition)

ファイルのエクスポート

ダッシュボードや分析から CSV/EXCEL/PDF といったファイル形式へのエクスポートも可能です。
静的な情報になりますが、今回作成したPDF ファイルを画面キャプチャします。

image.png

参考文献

  • Amazon Quicksight User Guide

21
9
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
21
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?