📁

Amazon DataZoneってなんだ...?

2023/06/29に公開

はじめに

こんにちは。D2C データエンジニアの飯森です。

最近、AWSにAmazon DataZoneと呼ばれるサービスがプレビュー版で公開されました。
このDataZoneは非エンジニア向けのUI機能が整ったデータカタログとして注目されております。D2Cでは大規模なデータ基盤を運用しており、DataZoneのようなユーザ向け機能が付いたマネージドサービスが公開されないかと期待していた所、今回ちょうどこちらが発表されましたので期待感が高まっております。
この記事では、そのDataZoneについて知見を深めるため個人的に調査した内容を書いていこうと思います。

DataZoneとは?

Amazon DataZoneはAWS re:Invent 2022にて初めて発表され、2023年3月29日にプレビュー版が公開されたばかりの出来立てほやほやなサービスになります。
サービス内容について、公式サイトでは

Amazon DataZone は、データのカタログ化、発見、管理、共有、分析を可能にするデータ管理サービスです。Amazon DataZone では、アカウントやサポートされているリージョン間でデータを共有し、アクセスできます。(管理された分析 – Amazon DataZone – Amazon Web Services)

とありますが、中身はデータの共有管理機能とクエリ実行機能が付いたデータカタログツールになります。

AWS内での位置付けとしては、Glue Data Catalog、Lake Formation、Athenaのいいとこ取りのような位置にあるもので、DataZoneではそこに非技術職が利用することを考えたGUI機能、プロジェクトおよびユーザ管理機能、そして利用者間のデータ共有に関する承認フロー機能が加わった、リッチなツールになってます。


引用:公式ページより

社内で他部署のデータを使わせてもらいたい場合、同じクラウド環境で同じサービスをそれぞれの部署で使っていても、その連携までには社内コミュニケーションツールを使ったり、もしくはメールでやりとりしたりなど事務的な作業が必要になることに加え、技術的な連携作業を実施しなければいけないことが大半だと思います。しかし、このDataZoneでは、お互いの部署で所持している公開可能なテーブルを中身を見せない状態で確認し合うことを可能になっており、さらにそのデータの共有申請についてはそのGUI上で完結することが可能です。そして、その申請を承認者側が承認したら、なんの技術的操作も行わずに、自動的に申請元の環境でそのテーブルを閲覧することが可能になります。これまで面倒だった作業コストを大きく削減することができ、テーブルデータの連携フローについて一々考える必要もなくなるので、極めて利便性の高いツールだと言えます。


データの共有申請は右上のSUBSCRIBEを押して数箇所設定を埋めれば完了

そして、先に書かせていただいた通り、非技術者が利用することを考えた設計のツールに仕上がっており、各種データに関する詳細の書き込み自由度がかなり高いです。通常、このような非技術者向けなデータカタログツールが必要な場合、SaaSを利用するか、あるいは自社開発を行う必要があります。しかし、このDataZoneの登場により、AWSを利用している人は新しく一から用意せずとも、データカタログツールを導入することが可能になります。


論理名や説明を書く際は各カラムの右端の3点リーダーボタンを押せばその画面上で設定が可能

使ってみた感想について

このAmazon DataZoneですが、プレビュー版が公開されたばかりにも関わらず、既に公式ドキュメントに加え、YouTubeにチュートリアルの公式動画が公開されています。早速検証したかったため、こちらで公開されている動画を元に基本的な機能を体験してみました。

Publishing Flow

最初にドメイン(DataZoneにおけるルートディレクトリ的なもの)を作成し、その後データポータル画面に入って操作をしていきます。今回のチュートリアルではデータを展開する側である営業チームとデータを利用する側であるマーケティングチームのそれぞれが行うであろう基本的な操作を体験します。
まず、データを展開する側のフローとして、営業チームのプロジェクトを作成します。このプロジェクトを作成することで、Athenaにアクセスすることやそのプロジェクト専用のGlueテーブルおよびS3が使えるようになります。このプロジェクト作成では裏側でCloudFormationが動いており、少々時間がかかります。


プロジェクトを作成するとこのような画面で作業進捗が確認可能

プロジェクトを作成後、Athenaのコンソール画面に移り、サンプル用のテーブルを公式ドキュメントに記載のクエリを用いて作成しました。


コンソール画面は通常のAthenaと同じもので、特に違う部分はありません

その後データポータル画面に戻り、作成したテーブルの詳細画面上で説明の入力と公開設定を行いました。これで営業チーム側のデータ展開フローが完了しました。

Subscription Flow

続いて、データを利用する側のフローを体験していきます。
こちらでも最初にマーケティングチームのプロジェクトを作成します。その後、データポータル画面の上部にある検索ボックスに先ほど作ったテーブル名を入れて検索します。するとテーブルがヒットしてテーブルの詳細画面に飛べるので、遷移した画面でテーブルの利用申請を行います。


テーブルの詳細画面右上のSUBSCRIBEを押すと申請ポップアップが出てくる

次に、営業チームのプロジェクトに戻り、マーケティングチームから来ている申請を承認します。
すると、マーケティングチームプロジェクトで営業チームプロジェクトで作成したテーブルのデータが閲覧できるようになります。データの確認はAthena上から行うことが可能です。


クエリを見てわかるようにマーケティングプロジェクト上のDBに営業プロジェクト側で作ったテーブルがリソースリンクのように作成されて閲覧が可能

以上で最初のチュートリアルが一通り完了しました。
チュートリアルでは一対一の関係を持ったプロジェクト同士のやりとりを体験しましたが、部署ごとでAWSアカウントが別れていたり、あるいは一つのアカウント上でチーム全員が同じIAMで管理していたりする場合は、すぐこのチュートリアルを活かしてDataZoneを導入できそうに思えました。また、DataZone上での構成次第で、様々なニーズに対応したデータカタログの運用が可能であるようにも感じられました。

おわりに

Amazon DataZoneはまだプレビュー版のため、本番環境での利用がサポートされておりませんが、今回調査した結果、非常に期待感が高まるサービスであると感じました。今後も新しいアップデートをキャッチアップしていき、より良い形で組織に提供できるよう調査を続けていきたいと思います。

参考

https://aws.amazon.com/jp/datazone/
https://docs.aws.amazon.com/ja_jp/datazone/latest/userguide/getting-started.html
https://youtube.com/playlist?list=PLhr1KZpdzuketYaoX3WAz5lIOCTkI3wXJ

D2C m-tech

Discussion