翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon DataZone を使用してエンタープライズデータメッシュを構築する AWS CDKAWS CloudFormation
Dhrubajyoti Mukherjee、Ravi Kumar、Weizhou Sun、Adjoa Taylor (Amazon Web Services)
概要
Amazon Web Services (AWS) のお客様は、イノベーションを加速し、企業のビジネス価値を推進するための鍵がデータであることを理解しています。この膨大なデータを管理するには、データメッシュなどの分散アーキテクチャを採用します。データメッシュアーキテクチャはプロダクト思考を促進します。これは、お客様、目標、市場を考慮に入れる考え方です。データメッシュは、データへの高速で安全なアクセスを提供するフェデレーテッドガバナンスモデルを確立するのにも役立ちます。
「Strategies for building a data mesh-based enterprise solution on AWS」では、Data Mesh Strategy Framework を使用して、組織のデータメッシュ戦略を策定および実装する方法について説明します。Data Mesh Strategy Framework を使用すると、チーム編成とそのやり取りを最適化して、データメッシュジャーニーを加速できます。
このドキュメントでは、Amazon DataZone でエンタープライズデータメッシュを構築する方法に関するガイダンスを提供します。Amazon DataZone は、、オンプレミス、およびサードパーティーのソースに保存されたデータをカタログ化、検出 AWS、共有、管理するためのデータ管理サービスです。このパターンには、 AWS Cloud Development Kit (AWS CDK) と を使用してデータメッシュベースのデータソリューションインフラストラクチャをデプロイするのに役立つコードアーティファクトが含まれています AWS CloudFormation。このパターンは、クラウドアーキテクトと DevOps エンジニアを対象としています。
このパターンの目的とソリューションの範囲については、「追加情報」セクションを参照してください。
前提条件と制限
前提条件
少なくとも 2 つのアクティブな AWS アカウント: 1 つは中央ガバナンスアカウント用、もう 1 つはメンバーアカウント用
AWS 開発環境の中央ガバナンスアカウントの管理者認証情報
AWS Command Line Interface コマンドライン AWS のサービス から を管理するためにインストールされた (AWS CLI)
AWS CDK アプリケーションを管理するためにインストールされた
Node.js と Node Package Manager (npm) AWS CDK npm を使用して開発環境にグローバルにインストールされ、 AWS CDK アプリケーションを合成およびデプロイするツールキット
npm install -g aws-cdk開発環境にインストールされた Python バージョン 3.12
開発環境にインストールされるか、または npm コンパイラを使用してグローバルにインストールされた TypeScript
npm install -g typescript開発環境にインストールされた Docker
ソリューションのソースコードを維持するための、Git などのバージョン管理システム (推奨)
Python と TypeScript をサポートする統合開発環境 (IDE) またはテキストエディタ (強く推奨)
制限事項
このソリューションは、Linux または macOS を実行しているマシンでのみテストされています。
現在のバージョンでは、ソリューションは AWS IAM アイデンティティセンター デフォルトで Amazon DataZone と の統合をサポートしていません。ただし、この統合をサポートするように設定できます。
製品バージョン
Python バージョン 3.12
アーキテクチャ
次の図は、データメッシュリファレンスアーキテクチャを示しています。このアーキテクチャは Amazon DataZone に基づいており、Amazon Simple Storage Service (Amazon S3) と をデータソース AWS Glue Data Catalog として使用します。データメッシュの実装で Amazon DataZone AWS のサービス で使用する は、組織の要件によって異なる場合があります。

プロデューサーアカウントでは、raw データは現在の形式で消費に適しているか、 を使用して消費のために変換されます AWS Glue。データの技術メタデータは Amazon S3 に保存され、 AWS Glue データクローラーを使用して評価されます。データ品質は、AWS Glue Data Quality を使用して測定されます。データカタログのソースデータベースは、Amazon DataZone カタログにアセットとして登録されます。Amazon DataZone カタログは、Amazon DataZone データソースジョブを使用して中央ガバナンスアカウントでホストされます。
中央ガバナンスアカウントは、Amazon DataZone ドメインと Amazon DataZone データポータルをホストします。データプロデューサーとコンシューマー AWS アカウント の は、Amazon DataZone ドメインに関連付けられています。データプロデューサーとコンシューマーの Amazon DataZone プロジェクトは、対応する Amazon DataZone ドメインユニットで編成されます。
データアセットのエンドユーザーは、 AWS Identity and Access Management (IAM) 認証情報またはシングルサインオン (IAM Identity Center を介した統合) を使用して Amazon DataZone データポータルにログインします。エンドユーザーは、Amazon DataZone データカタログ内のアセット情報 (データ品質情報、ビジネスメタデータ、技術メタデータなど) を検索、フィルタリング、表示します。
目的のデータアセットを見つけたエンドユーザーは、Amazon DataZone サブスクリプション機能を使用してアクセスをリクエストします。プロデューサーチームのデータ所有者は通知を受け取り、Amazon DataZone データポータルでサブスクリプションリクエストを評価します。データ所有者は、その有効性に基づいてサブスクリプションリクエストを承認または拒否します。
サブスクリプションリクエストが付与および受理されると、以下のアクティビティのために、コンシューマーアカウントでアセットがアクセスされます。
Amazon SageMaker AI を使用した AI/ML モデル開発
Amazon Athena と Amazon Quick Suite を使用した分析とレポート
ツール
AWS のサービス
Amazon Athenaは、標準 SQL を使用して Amazon Simple Storage Service (Amazon S3) 内のデータを直接分析できるようにするインタラクティブなクエリサービスです。
AWS Cloud Development Kit (AWS CDK) は、コードで AWS クラウド インフラストラクチャを定義およびプロビジョニングするのに役立つソフトウェア開発フレームワークです。
AWS CloudFormation は、 AWS リソースをセットアップし、迅速かつ一貫してプロビジョニングし、 AWS アカウント および 全体のライフサイクルを通じてリソースを管理するのに役立ちます AWS リージョン。
Amazon DataZone は、 全体、オンプレミス、およびサードパーティーソースに保存されているデータのカタログ化、検出 AWS、共有、管理を支援するデータ管理サービスです。
Amazon Quick Suite は、視覚化、分析、レポート生成に使用できるクラウドスケールのビジネスインテリジェンス (BI) サービスです。
Amazon SageMaker AI はマネージド型の機械学習 (ML) サービスで、ML モデルの構築とトレーニングを行い、それらを本番稼働環境に対応したホスティング環境にデプロイします。
Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
「Amazon Simple Queue Service (Amazon SQS)」は、安全で耐久性があり、配信ソフトウェアシステムとコンポーネントを統合および分離できる利用可能なホスト型キューを提供します。
Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
コードリポジトリ
このソリューションは、GitHub の data-mesh-datazone-cdk-cloudformation
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
リポジトリのクローン作成 | リポジトリのクローンを作成するには、ローカル開発環境 (Linux または macOS) で次のコマンドを実行します。
| クラウドアーキテクト、DevOps エンジニア |
環境の作成 | Python 仮想環境を作成するには、次のコマンドを実行します。
| クラウドアーキテクト、DevOps エンジニア |
アカウントをブートストラップする | を使用して中央ガバナンスアカウントをブートストラップするには AWS CDK、次のコマンドを実行します。
にサインインし AWS マネジメントコンソール、中央ガバナンスアカウントコンソールを開き、 AWS CDK 実行ロールの Amazon リソースネーム (ARN) を取得します。 | クラウドアーキテクト、DevOps エンジニア |
|
| クラウドアーキテクト、DevOps エンジニア |
テンプレートの作成を確認 | CloudFormation テンプレートファイルが の | クラウドアーキテクト、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
設定ファイルの変更 |
残りのパラメータは空のままにします。 | クラウドアーキテクト、DevOps エンジニア |
Amazon DataZone 用語集の設定を更新 |
| クラウドアーキテクト、DevOps エンジニア |
Amazon DataZone メタデータフォームの設定を更新 |
| クラウドアーキテクト、DevOps エンジニア |
AWS 認証情報をエクスポートします。 | 管理者権限を持つ IAM ロールの開発環境に AWS 認証情報をエクスポートするには、次の形式を使用します。
| クラウドアーキテクト、DevOps エンジニア |
テンプレートの合成 | CloudFormation テンプレートを合成するには、次のコマンドを実行します。
| クラウドアーキテクト、DevOps エンジニア |
ソリューションのデプロイ | ソリューションをデプロイするには、次のコマンドを実行します。
| クラウドアーキテクト、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
テンプレートのデプロイ | 次の入力パラメータを使用して、メンバーアカウントの
| クラウドアーキテクト、DevOps エンジニア |
ARN の更新 | メンバーアカウントの CloudFormation StackSet 実行ロール ARNs のリストを更新するには、次のコードを使用します。
| クラウドアーキテクト、DevOps エンジニア |
合成とデプロイ | CloudFormation テンプレートを合成してソリューションをデプロイするには、次のコマンドを実行します。
| クラウドアーキテクト、DevOps エンジニア |
メンバーアカウントの関連付け | メンバーアカウントを中央ガバナンスアカウントに関連付けるには、次の手順を実行します。
| クラウドアーキテクト、DevOps エンジニア |
パラメータの更新 |
| クラウドアーキテクト、DevOps エンジニア |
テンプレートを合成してデプロイ | CloudFormation テンプレートを合成してソリューションをデプロイするには、次のコマンドを実行します。
| クラウドアーキテクト、DevOps エンジニア |
メンバーアカウントの追加 | データソリューションで追加のメンバーアカウントを作成して設定するには、これまでの手順をメンバーアカウントごとに繰り返します。 このソリューションでは、データプロデューサーとコンシューマーは区別されません。 | クラウドアーキテクト、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
メンバーアカウントの関連付けを解除 | アカウントの関連付けを解除するには、次の手順を実行します。
| クラウドアーキテクト、DevOps エンジニア |
スタックインスタンスの削除 | CloudFormation スタックインスタンスを削除するには、次の手順を実行します。
| クラウドアーキテクト、DevOps エンジニア |
すべてのリソースを破棄 | リソースを破棄するには、ローカル開発環境 (Linux または macOS) で次の手順を実行します。
| クラウドアーキテクト、DevOps エンジニア |
関連リソース
追加情報
目的
このパターンを実装すると、次のことが可能になります。
データの分散所有権 – 中央チームのデータ所有権を、組織のソースシステム、ビジネスユニット、ユースケースを表す各チームに移行します。
プロダクト思考 – 組織内のデータアセットを検討する際に、顧客、市場、その他の要因を考慮するプロダクトベースの考え方を導入します。
フェデレーテッドガバナンス – 組織のデータ製品全体のセキュリティガードレール、コントロール、コンプライアンスを改善します。
マルチアカウントおよびマルチプロジェクトのサポート – 組織のビジネスユニットまたはプロジェクト全体で、効率的で安全なデータ共有とコラボレーションをサポートします。
一元的なモニタリングと通知 – Amazon CloudWatch を使用してデータメッシュのクラウドリソースをモニタリングし、新しいメンバーアカウントが関連付けられた場合は各ユーザーに通知します。
スケーラビリティと拡張性 – 組織の進化に合わせて、データメッシュに新しいユースケースを追加します。
ソリューションの範囲
このソリューションを使用すると、小規模から開始して、データメッシュジャーニーの進行に合わせてスケールできます。多くの場合、メンバーアカウントがデータソリューションを採用すると、組織、プロジェクト、またはビジネスユニットに固有のアカウント設定が含まれます。このソリューションは、以下の機能をサポートすることで、これらの多様な AWS アカウント 設定に対応します。
Amazon DataZone のデータソースとしての AWS Glue データカタログ
Amazon DataZone データドメインと関連するデータポータルの管理
データメッシュベースのデータソリューションへのメンバーアカウント追加を管理
Amazon DataZone プロジェクトと環境の管理
Amazon DataZone 用語集とメタデータフォームの管理
データメッシュベースのデータソリューションユーザーに対応する IAM ロールの管理
データメッシュベースのデータソリューションユーザーへの通知
プロビジョニングされたクラウドインフラストラクチャのモニタリング
このソリューションでは、 AWS CDK と CloudFormation を使用してクラウドインフラストラクチャをデプロイします。を使用して以下 CloudFormation を実行します。
クラウドリソースをより低い抽象化レベルで定義してデプロイ。
からクラウドリソースをデプロイします AWS マネジメントコンソール。このアプローチを使用すると、開発環境なしでインフラストラクチャをデプロイできます。
データメッシュソリューションは、 AWS CDK を使用して、より高い抽象化レベルでリソースを定義します。その結果、このソリューションでは、該当するクラウドリソースのデプロイに関連するツールを選択することにより、分離されたモジュール式によるスケーラブルなアプローチを実現できます。
次のステップ
Amazon DataZone でデータメッシュを構築するためのガイダンスについては、 AWS エキスパート
このソリューションにはモジュール性があるため、データファブリックやデータレイクなど、さまざまなアーキテクチャでデータ管理ソリューションを構築できます。さらに、組織の要件に応じて、このソリューションを他の Amazon DataZone データソースにも拡張できます。