Amazon DataZone における複数アカウントの関連付けを行った上で、ポータル内でデータ共有する流れを試してみました。(備忘録メモとしての記事となります。)
Amazon DataZoneとは
Amazon DataZoneは、AWS、オンプレミス、サードパーティのソースに保存されたデータをカタログ化、検索、共有、管理するためのデータ管理サービスです。
Amazon DataZoneを使用して、組織間のデータアクセスを管理できます。
データのパブリッシュとサブスクライブのワークフローを提供しているので、これにより、データプロデューサーはアセットを、ドメイン内にデータカタログとして公開できます。
そして、データコンシューマーは、サブスクライプフローを通したアクセス制御メカニズムによって、カタログにあるデータにアクセスできるようになります。
Amazon DataZone では、さまざまなデータへのアクセス制御を一元化できるため、誰がどのデータをどのような目的で使用しているかを容易に確認することができます。
あともう1つ、Amazon DataZoneが支援するユースケースとしてあるのが、ビジネスカタログの整備です。
Amazon DataZoneでビジネス用語集を用意することができまして、提供されている検索ポータルから、データを組織内の共通言語によって検索できます。
そして見つけたそのデータカタログがどういったデータなのかを、直感的に理解し、より活用しやすい環境を、データ基盤として作れるというのも、このAmazon DataZoneの特徴にあります。
ではさっそく Amazon DataZone での複数アカウントの関連付けをしていきたいと思います。
この検証では AWS コンソールにおいて、アカウントAはダークモード表示、アカウントBをライトモード表示としております。また、DataZone ポータルでは左上のプロジェクト名でアカウントAとアカウントBを区別できます。
1. アカウントAでドメインを作成していきます。
2. DataLake のブループリントを有効にします。
3. アカウントAでプロジェクト、環境プロファイル、環境を作成していきます。
AccountAprofile という環境プロファイルを作成します。
AccountAenvironment という環境を作成します。
4. Corporate にアカウントBを関連付けしていきます。
5. アカウントBのプロジェクト、環境プロファイル、環境をCorporate内に作成していきます。
AccountBprofile という環境プロファイルを作成します。
プロファイル作成時にはAWSアカウントの選択でアカウントBのアカウントIDを選択します。
AccountBenvironment という環境を作成します。
※もし環境作成の途中でエラーがでたら、AWS Lake Formationで Data lake administrators にアカウントAのDataZoneプロビジョニングロールを追加して、再実行してください。
6. アカウントBでデータカタログを整備します。
アカウントBのS3バケットにデータファイルをアップロードします。
データソースにさきほどファイルをアップロードしたバケットを選択します。
ターゲットデータベースに Datazone の accountbenvironment の Pub DB を選択します。
crawler を実行する前に、Lake Formation で crawler 実行ロールにおける pub db へのテーブル作成権限を付与します。
AWS Glue の さきほど作った crawler を実行していきます。
Crawler が完了したら、テーブルが作成されていることが確認できます。
これで、アカウントBのデータカタログが DataZone 内のポータルで 利用できるようになりました。
7. アカウントB内にあるデータカタログを DataZone の Account_B プロジェクトに取り込みます。
8. Account_B プロジェクトからアカウントBのデータアセットを公開します。
データアセットを公開しようとすると、DataZone管理対象外というアラートがでます。
データアセットを管理対象とするため、アカウントBの AWS Lake Formation のData lake locations の設定を行います。S3 path にはデータファイルをあげたバケットを選択します。
登録ができたら、再度 DataZone ポータルで公開を試みると、管理対象外のアラートは消えているのでそのまま公開します。(自動生成メタデータのアラートは今回は無視しております。)
8. Account_A プロジェクトから公開されたアカウントBのデータアセットを検索してみます。
無事検索ができ、アカウントを関連付けした上で、Amazon DataZone 内でデータ共有ができることが確認できました。
今回、Amzon DataZone で 複数のアカウントを関連付けし、アカウントを跨いだデータ共有の流れを試してみました。まだ、Amazon DataZone は新しいサービスなので、今後 DataZone を試されるどなたかのヒントになれば幸いです。