はじめに
Amazon DataZone は、AWS、オンプレミス、およびサードパーティのソース全体に保存されているデータを迅速かつ簡単にカタログ化、発見、共有、管理できるようにするデータ管理サービスです。
今回は、Redshift Serverless 上のデータを、DataZone のデータカタログポータルで公開して、利用する流れの手順を確認します。
DataZone Domain 作成
Amazon DataZone は、SageMaker Unified Studio のサービスの中に統合されています。ただ、SageMaker Unified Studio は利用せず、DataZone 単体で利用が可能です。
Create an DataZone domain を選択します。
名前などを指定して Create domain を押します。
DataZone の Domain として作成されました。
BluePrint に関する設定
Redshift Serverless のデータを DataZone で管理するために、Blueprint の設定が必要です。Default Data Warehouse を有効化して、詳細画面を開きます。
Parameter sets を Create します。
Redshift Serverless にアクセスするためのユーザー名とパスワードを入れます。
Redshift Serverless の Workgroup 名や、Database 名を入力して、Create を押します。複数の Database を利用したい場合は、複数の Parameter Set を作成します。
データ公開元 Project
DataZone の Portal サイトを開きます。
カタログの公開元として、プロジェクトの作成をします。
適当に名前をつけます。
プロジェクトが作成できました。
データ公開元 Project : 環境プロファイルを作成
プロジェクト内で、環境プロファイルを作成します。Redshift Serverless との接続に必要です。
データ公開元 Project : 環境を作成
環境を作成します。
内容は変更せず、デフォルトで作成します。
データ公開元 Project : データソースを追加
データソースを追加します。
データカタログに追加したいスキーマを指定します。この画像では、public
を指定していますが、アスタリスクで全スキーマを指定も可能です。
デフォルトのまま次へを押します。
スケジュールはオンデマンドにします。
実行を押します。
すると、Redshift Serverless にアクセスして、dev
データベース上のテーブルをスキャンして定義を作ってくれました。
データ公開元 Project : ビジネスメタデータの付与
スキャンした定義を基に、日本語でビジネス的な説明文章を入力していきます。データソースを選択します。
テーブル名を指定します。
生成 AI により、英語の説明文が生成されていますが、日本語で指定したいので、編集を押します。
編集しました。テーブル名や説明を入れました。
また、各列の情報についても、日本語でテキストを指定可能です。
アセットの公開を押すことで、DataZone のカタログから検索ができるようになります。
データ利用ユーザー : 別のユーザーでログインして、カタログを検索する
データを利用する側のユーザーで DataZone にログインします。すでにデータカタログで、検索ができる状態になっています。「購入」というキーワードで検索します。
顧客管理テーブルが検索に引っ掛かりました。
開くと、日本語の説明文章が見えます。
各列についても説明が見えます。
データ利用ユーザー : サブスクライブして、Redshift Serverless のデータをクエリーする。
データ利用ユーザーは、カタログを検索する点に加えて、実際のデータへのアクセスを提供できます。
データ利用側でプロジェクトを作成します。
サブスクライブを押します。
コメントもつけながら、プロジェクトに紐づける申請をします。
データ提供側の Project で、リクエストを確認できます。
承認をおします。
利用者側では、承認されたサブスクライブしたデータを確認できます。
環境へアセットを追加を押します。
追加を押します。
すると、画面右に Query data の欄が見えてきます。
Redshift の Query Editor 画面を開けます。
- 専用の権限付与がされている。
- DataZone でアクセス権限を付与したデータ以外は見れない
- アクセス権限を付与したテーブルに直接閲覧できるわけではなく、Redshift Serverless 上に専用のスキーマと View が用意されていて、それを経由してデータの閲覧が可能
- この View 以外はアクセスは出来ない
Tips : 生成 AI による説明
説明を生成を押してみる
テーブル全体の概要が英語で生成されている。
各列の説明についても、英語で生成されている。
Tips : QuickSight と見比べる
管理者側でデータを作成
管理者側で QuickSight 上で Redshift Serverless に接続
どのスキーマ、テーブルにするか選択
Redshift Serverless の列名を QuickSight 上で利用が可能。
User 側で利用
QuickSight のユーザー側としては、管理者が準備したデータセットを利用して独自の可視化を行うことが考えられる。
この customer_sample
に紐づくデータの意味を DataZone から確認可能。
DataZone でビジネス的な意味を確認しながら、QuickSight でダッシュボードを作成可能
QuickSight 上で列名を見て、DataZone と見比べながら可視化を進めることができる。
検証を通じてわかったこと
- DataZone は単体でも利用できるが、SageMaker Unified Studio に DataZone が統合するパターンも選択可能
- SageMaker AI は従来の SageMaker。SageMaker Unified Studio はデータや機械学習を活かした統合スイート
- SageMaker Unified Studio 自体は英語 Only なので、これを DataZone の代わりとして日本語 Native の方が利用するのは難しそう
- SageMaker Unified Studio 自体は、データエンジニアや機械学習エンジニア向けだったりするので、ビジネス向けには DataZone 単体で利用するのが良さそう。
- Datazone から Redshift へ接続する際の設定は大きくわけて以下の 2 つがある
- BluePrint 内の Parameter Set : Redshift のデータベース名を 1 つだけ指定が可能。表現を変えると、Datazone で管理したい データベースが複数あると、Parameter Set を複数定義が必要となる。
- データソース : 上記の Parameter Set に紐づく形で指定する。1 個のデータベース内で利用するスキーマを指定する。アスタリスクが指定可能なので、全てのスキーマを指定可能。
- DataZone の認証は、以下の 2 パターンから指定可能。組織内に展開するには全ユーザーに IAM を配布するのは考えにくいので、AWS Identity Center や、それと連携する SAML が考えられる。
- IAM Identity Center
- IAM
- DataZone と QuickSight が直接的に連携しているわけではない。ただし、Redshift Serverless の技術的なテーブル名に紐づくビジネス的な意味を検索できるため、新たなダッシュボードを作るときに参考にできるはず。
参考 URL