本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon DataZone 建置企業資料網格 AWS CDK,以及 AWS CloudFormation
由 Dhrubajyoti Mukherjee (AWS)、Adjoa Taylor (AWS)、Ravi Kumar (AWS) 和 Wei announce Sun (AWS) 建立
Summary
在 Amazon Web Services (AWS) 上,客戶了解資料是加速企業創新和推動商業價值的關鍵。若要管理此大量資料,您可以採用分散式架構,例如資料網格。資料網格架構可促進產品思維,這是一種將客戶、目標和市場納入考量的思維方式。資料網格也有助於建立聯合控管模型,以快速、安全地存取您的資料。
在 上建置資料網格型企業解決方案的策略 AWS討論了如何使用資料網格策略架構來為您的組織制定和實作資料網格策略。透過使用資料網格策略架構,您可以最佳化團隊組織及其互動,以加速您的資料網格之旅。
本文件提供如何使用 Amazon DataZone 建置企業資料網格的指引。Amazon DataZone 是一種資料管理服務,用於編目 AWS、探索、共用和管理跨內部部署和第三方來源存放的資料。模式包含程式碼成品,可協助您使用 AWS Cloud Development Kit (AWS CDK) 和 部署資料網格型資料解決方案基礎設施 AWS CloudFormation。此模式適用於雲端架構師和 DevOps 工程師。
如需此模式目標和解決方案範圍的相關資訊,請參閱其他資訊一節。
先決條件和限制
先決條件
至少兩個作用中 AWS 帳戶:一個用於中央控管帳戶,另一個用於成員帳戶
AWS 開發環境中中央控管帳戶的管理員登入資料
AWS Command Line Interface AWS 服務 安裝 https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html (AWS CLI) 從命令列管理
安裝 Node.js 和 Node Package Manager (npm) https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
來管理 AWS CDK 應用程式 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 Identity Center 預設不支援 Amazon DataZone 和 的整合。不過,您可以將其設定為支援此整合。
產品版本
Python 3.12 版
架構
下圖顯示資料網格參考架構。架構是以 Amazon DataZone 為基礎,並使用 Amazon Simple Storage Service (Amazon S3) 和 AWS Glue Data Catalog 作為資料來源。根據組織的需求, AWS 服務 您在資料網格實作中與 Amazon DataZone 搭配使用的 可能會有所不同。

在生產者帳戶中,原始資料適合目前形式的取用,或使用 進行轉換以供取用 AWS Glue。資料的技術中繼資料存放在 Amazon S3 中,並使用 AWS Glue 資料爬蟲程式進行評估。使用 Data Quality 測量資料AWS Glue 品質。Data Catalog 中的來源資料庫會註冊為 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 QuickSight 進行分析和報告
工具
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 QuickSight 是一種雲端規模的商業智慧 (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 Management Console,開啟中央控管帳戶主控台,並取得 AWS CDK 執行角色的 Amazon Resource Name (ARN)。 | 雲端架構師、DevOps 工程師 |
建構 | 若要建構
| 雲端架構師、DevOps 工程師 |
確認範本建立。 | 確定範本 AWS CloudFormation 檔案是在 | 雲端架構師、DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
修改組態。 | 在
將剩餘的參數保留空白。 | 雲端架構師、DevOps 工程師 |
更新 Amazon DataZone 詞彙表組態。 | 若要更新
| 雲端架構師、DevOps 工程師 |
更新 Amazon DataZone 中繼資料表單組態。 | 若要更新 中的 Amazon DataZone 中繼資料表單組態
| 雲端架構師、DevOps 工程師 |
匯出 AWS 登入資料。 | 若要使用管理許可將 AWS 登入資料匯出至 IAM 角色的開發環境,請使用下列格式:
| 雲端架構師、DevOps 工程師 |
合成範本。 | 若要合成 AWS CloudFormation 範本,請執行下列命令:
| 雲端架構師、DevOps 工程師 |
部署解決方案。 | 若要部署解決方案,請執行下列命令:
| 雲端架構師、DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
部署 範本。 | 使用下列輸入參數部署位於成員帳戶中
| 雲端架構師、DevOps 工程師 |
更新 ARNs。 | 若要更新成員帳戶的 AWS CloudFormation StackSet 執行角色 ARNs清單,請使用下列程式碼:
| 雲端架構師、DevOps 工程師 |
合成和部署。 | 若要合成 AWS CloudFormation 範本並部署解決方案,請執行下列命令:
| 雲端架構師、DevOps 工程師 |
關聯成員帳戶。 | 若要將成員帳戶與中央控管帳戶建立關聯,請執行下列動作:
| 雲端架構師、DevOps 工程師 |
更新參數。 | 若要更新 組態檔案中的成員帳戶特定參數
| 雲端架構師、DevOps 工程師 |
合成和部署 範本。 | 若要合成 AWS CloudFormation 範本並部署解決方案,請執行下列命令:
| 雲端架構師、DevOps 工程師 |
新增成員帳戶。 | 若要在資料解決方案中建立和設定其他成員帳戶,請為每個成員帳戶重複上述步驟。 此解決方案不會區分資料生產者和消費者。 | 雲端架構師、DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
取消成員帳戶的關聯。 | 若要取消帳戶關聯,請執行下列動作:
| 雲端架構師、DevOps 工程師 |
刪除堆疊執行個體。 | 若要刪除 AWS CloudFormation 堆疊執行個體,請執行下列動作:
| 雲端架構師、DevOps 工程師 |
銷毀所有資源。 | 若要銷毀資源,請在本機開發環境 (Linux 或 macOS) 中實作下列步驟:
| 雲端架構師、DevOps 工程師 |
相關資源
其他資訊
目標
實作此模式可達成下列目標:
資料的分散式擁有權 – 將資料擁有權從中央團隊轉移到代表組織來源系統、業務單位或使用案例的團隊。
產品思維 ‒ 在考慮組織中的資料資產時,引進以產品為基礎的思維,其中包括客戶、市場和其他因素。
聯合控管 ‒ 改善整個組織資料產品的安全防護機制、控制和合規性。
多帳戶和多專案支援 ‒ 支援跨組織業務單位或專案的高效、安全的資料共用和協作。
集中監控和通知 ‒ 使用 Amazon CloudWatch 監控資料網格的雲端資源,並在新成員帳戶相關聯時通知使用者。
可擴展性和可擴展性 ‒ 隨著組織的發展,將新的使用案例新增至資料網格。
解決方案範圍
當您使用此解決方案時,您可以啟動小型 並隨著資料網格旅程的進展進行擴展。通常,當成員帳戶採用資料解決方案時,它包含組織、專案或業務單位特定的帳戶組態。此解決方案支援下列功能,以容納這些不同的 AWS 帳戶 組態:
AWS Glue Data Catalog 作為 Amazon DataZone 的資料來源
Amazon DataZone 資料網域和相關資料入口網站的管理
在資料網格型資料解決方案中新增成員帳戶的管理
Amazon DataZone 專案和環境的管理
Amazon DataZone 詞彙表和中繼資料表單的管理
與資料網格型資料解決方案使用者對應的 IAM 角色管理
資料網格型資料解決方案使用者的通知
監控佈建的雲端基礎設施
此解決方案使用 AWS CDK 和 AWS CloudFormation 部署雲端基礎設施。它使用 AWS CloudFormation 執行下列動作:
在較低的抽象層級定義和部署雲端資源。
從 部署雲端資源 AWS Management Console。透過使用此方法,您可以在沒有開發環境的情況下部署基礎設施。
資料網格解決方案使用 在較高的抽象層級 AWS CDK 定義資源。因此,該解決方案透過選擇部署雲端資源的相關工具,提供解耦、模組化和可擴展的方法。
後續步驟
您可以聯絡 AWS專家
此解決方案的模組化性質支援使用不同的架構來建置資料管理解決方案,例如資料結構和資料湖。此外,根據您的組織需求,您可以將解決方案擴展到其他 Amazon DataZone 資料來源。