Tác giả: Arun Pradeep Selvaraj, Piyush Mattoo, và Mani Yamaraja
Ngày phát hành: 05 MAR 2025
Chuyên mục: Amazon DataZone, Amazon Redshift, AWS Glue, Technical How-to, Thought Leadership
Chia sẻ dữ liệu đã trở thành một khía cạnh quan trọng thúc đẩy đổi mới, đóng góp vào tăng trưởng và thúc đẩy sự cộng tác giữa các ngành công nghiệp. Theo nghiên cứu của Gartner, các tổ chức thúc đẩy chia sẻ dữ liệu hoạt động tốt hơn các đối thủ cạnh tranh của họ trên hầu hết các chỉ số giá trị kinh doanh. Một cơ chế truy cập và chia sẻ dữ liệu đơn giản là rất quan trọng để cho phép chia sẻ dữ liệu hiệu quả trong toàn bộ tổ chức. Các tổ chức phải đối mặt với những thách thức như sự phức tạp trong việc quản lý quyền đa tài khoản (cross-account permissions) và khó khăn trong việc khám phá dữ liệu phù hợp giữa các tài khoản khi cố gắng chia sẻ các sản phẩm dữ liệu giữa các tài khoản AWS. Amazon DataZone là một dịch vụ quản lý dữ liệu được quản lý toàn phần mà khách hàng có thể sử dụng để lập danh mục, khám phá, chia sẻ và quản trị dữ liệu được lưu trữ trên Amazon Web Services (AWS).
Trong bài viết này, chúng tôi sẽ trình bày cách bạn có thể sử dụng Amazon DataZone để tạo điều kiện cho việc cộng tác dữ liệu giữa các tài khoản AWS.
Tổng quan giải pháp
Giải pháp này cung cấp một cách tiếp cận hợp lý để kích hoạt cộng tác dữ liệu đa tài khoản bằng cách sử dụng liên kết miền Amazon DataZone trong khi vẫn duy trì bảo mật và quản trị. Bài viết này mô tả quy trình sử dụng tài nguyên danh mục dữ liệu kinh doanh (business data catalog) của Amazon DataZone để xuất bản các tài sản dữ liệu, giúp các tài khoản khác có thể khám phá chúng. Sau khi được xuất bản, bạn có thể truy vấn các tài sản đã xuất bản từ một tài khoản AWS khác bằng cách sử dụng các công cụ phân tích như Amazon Athena và trình soạn thảo truy vấn Amazon Redshift (Amazon Redshift query editor), như được minh họa trong hình sau.

Trong giải pháp này (như được hiển thị trong hình trên), tài khoản AWS chứa các tài sản dữ liệu được gọi là tài khoản nhà sản xuất (producer account). Tài khoản AWS cần truy cập hoặc sử dụng dữ liệu từ tài khoản nhà sản xuất được gọi là tài khoản người tiêu dùng (consumer account). Miền Amazon DataZone được tạo và quản lý trong tài khoản nhà sản xuất, sau đó tài khoản người tiêu dùng được liên kết với miền đó.
Là một phần của liên kết miền Amazon DataZone, Amazon DataZone sử dụng AWS Resource Access Manager (AWS RAM) để chia sẻ tài nguyên. Khi các tài khoản AWS nhà sản xuất và người tiêu dùng nằm trong cùng một tổ chức trong AWS Organizations, việc liên kết miền sẽ diễn ra tự động. Nếu các tài khoản AWS nhà sản xuất và người tiêu dùng nằm trong các tổ chức khác nhau, AWS RAM sẽ gửi lời mời đến tài khoản AWS người tiêu dùng để chấp nhận hoặc từ chối cấp quyền tài nguyên.
Giải pháp này trình bày ba vai trò người dùng Amazon DataZone (user personas) như sau:
- Quản trị viên dữ liệu (Data administrators): Chủ sở hữu tài khoản trong cả tài khoản AWS nhà sản xuất và người tiêu dùng. Quản trị viên dữ liệu chịu trách nhiệm tạo miền Amazon DataZone, cấu hình liên kết miền và chấp nhận liên kết miền trong miền Amazon DataZone.
- Nhà xuất bản dữ liệu (Data publishers): Người dùng trong tài khoản AWS nhà sản xuất. Nhà xuất bản dữ liệu chịu trách nhiệm tạo các dự án và môi trường xuất bản Amazon DataZone, tạo và xuất bản các tài sản dữ liệu, và chấp nhận các yêu cầu đăng ký.
- Người đăng ký dữ liệu (Data subscribers): Người dùng trong tài khoản AWS người tiêu dùng. Người đăng ký dữ liệu chịu trách nhiệm tạo các dự án và môi trường đăng ký Amazon DataZone, tìm kiếm và đăng ký các tài sản dữ liệu, và truy vấn dữ liệu để rút ra thông tin chi tiết.
Điều kiện tiên quyết
Để làm theo các hướng dẫn, bạn sẽ cần:
- Hai tài khoản AWS, một đóng vai trò là nhà sản xuất và tài khoản kia đóng vai trò là người tiêu dùng. Tạo các tài khoản AWS mới nếu cần.
- Một cụm Amazon Redshift được cấp phép (provisioned cluster) hoặc một nhóm làm việc Amazon Redshift Serverless (Amazon Redshift Serverless workgroup) trong các tài khoản AWS nhà sản xuất và người tiêu dùng được cấp phép bởi quản trị viên dữ liệu.
- Một secret trong AWS Secrets Manager lưu trữ thông tin đăng nhập của người dùng chính (master user credentials) cho cụm hoặc nhóm làm việc Amazon Redshift trong các tài khoản AWS nhà sản xuất và người tiêu dùng.
- Các quản trị viên dữ liệu chịu trách nhiệm tạo secret.
- Các nhà sản xuất và người tiêu dùng dữ liệu có thể lấy Amazon Resource Name (ARN) của các secret từ quản trị viên dữ liệu trong các bước tạo môi trường hoặc hồ sơ môi trường.
Amazon DataZone sử dụng Amazon Redshift Datashares để chia sẻ dữ liệu giữa các cụm và tài khoản. Có các yêu cầu và hạn chế cụ thể khi sử dụng Amazon Redshift datashares.
- Đối với chia sẻ dữ liệu đa tài khoản, cả cụm nhà sản xuất và cụm người tiêu dùng phải được mã hóa. Xem phần Mã hóa cụm của datashare-considerations để biết thêm thông tin về quy trình mã hóa.
- Chia sẻ dữ liệu chỉ được hỗ trợ cho các loại cụm ra3 được cấp phép (ra3.16xlarge, ra3.4xlarge và ra3.xlplus) và Amazon Redshift Serverless.
Hướng dẫn thực hiện:
Sau đây là các bước cấp cao để cấu hình truy cập đa tài khoản. Chúng tôi đã cung cấp hướng dẫn từng bước trong các phần sau.
- Tạo miền Amazon DataZone trong tài khoản nhà sản xuất. Quản trị viên dữ liệu tạo miền Amazon DataZone.
- Yêu cầu liên kết miền Amazon DataZone từ tài khoản nhà sản xuất đến tài khoản người tiêu dùng.
- Chấp nhận yêu cầu liên kết miền trong tài khoản người tiêu dùng. Quản trị viên dữ liệu chấp nhận liên kết miền.
- Thêm người dùng dữ liệu vào miền Amazon DataZone.
- Tạo dự án xuất bản cần thiết cho AWS Glue và Amazon Redshift trong tài khoản nhà sản xuất.
- Tạo môi trường AWS Glue và Amazon Redshift để xuất bản các tài sản dữ liệu trong tài khoản nhà sản xuất.
- Tạo và chạy nguồn dữ liệu cho AWS Glue và Amazon Redshift để xuất bản tài sản vào danh mục kinh doanh.
- Tạo dự án đăng ký cho AWS Glue và Amazon Redshift.
- Tạo hồ sơ môi trường và môi trường AWS Glue và Amazon Redshift trong dự án đăng ký.
- Đăng ký các bảng AWS Glue và Amazon Redshift. Tiêu thụ dữ liệu bằng Athena và trình soạn thảo Amazon Redshift. Bước này được thực hiện bởi người đăng ký dữ liệu.
Tạo miền Amazon DataZone trong tài khoản nhà sản xuất
Các miền Amazon DataZone đóng vai trò là các đơn vị tổ chức cấp cao cho tài sản, người dùng và dự án, tạo điều kiện cho sự cộng tác giữa các nhóm và đa tài khoản. Bước này tập trung vào việc tạo miền Amazon DataZone trong tài khoản nhà sản xuất.
- Đăng nhập vào AWS Management Console cho Amazon DataZone của tài khoản nhà sản xuất bằng thông tin đăng nhập của quản trị viên dữ liệu.
- Tạo một miền Amazon DataZone có tiêu đề
Demo_cross_account_domainbằng cách sử dụng hướng dẫn tại tạo miền. - Trên màn hình Create domain, chọn hộp kiểm Quick setup để tự động hóa một số bước cấu hình, tiết kiệm thời gian và giảm thiểu khả năng xảy ra lỗi thiết lập. Quick setup cho phép hai blueprint mặc định và tạo các hồ sơ môi trường mặc định cho các blueprint data lake và data warehouse mặc định.



Yêu cầu liên kết miền Amazon DataZone từ tài khoản nhà sản xuất đến tài khoản người tiêu dùng
Để liên kết miền Amazon DataZone với tài khoản người tiêu dùng, tài khoản nhà sản xuất yêu cầu liên kết miền. Điều này liên quan đến việc cung cấp thông tin cần thiết về tài khoản người tiêu dùng và cấp các quyền thích hợp để truy cập và quản lý dữ liệu.
- Đăng nhập vào console Amazon DataZone của tài khoản nhà sản xuất bằng thông tin đăng nhập của quản trị viên dữ liệu.
- Điều hướng đến trang chi tiết miền, sau đó cuộn xuống và chọn tab Associated Accounts.
- Nhập ID tài khoản người tiêu dùng mà bạn muốn yêu cầu liên kết. Chọn Add another account nếu bạn muốn thêm nhiều hơn một tài khoản. Khi bạn hài lòng với danh sách ID tài khoản, chọn Request association.
- Sử dụng chính sách AWS RAM
DataZonePortalReadWritemới nhất khi yêu cầu liên kết tài khoản. Chính sách này cho phép người dùng trong tài khoản người tiêu dùng thực thi các API Amazon DataZone và sử dụng giao diện cổng dữ liệu.
- Sử dụng chính sách AWS RAM

Chấp nhận yêu cầu liên kết tài khoản từ miền Amazon DataZone
Bước này tập trung vào việc chấp nhận yêu cầu liên kết tài khoản từ miền Amazon DataZone trong tài khoản người tiêu dùng. Điều này cho phép tài khoản người tiêu dùng được liên kết với miền Amazon DataZone để kích hoạt chia sẻ và cộng tác dữ liệu giữa các tài khoản nhà sản xuất và người tiêu dùng.
- Đăng nhập vào tài khoản người tiêu dùng và truy cập console Amazon DataZone trong cùng AWS Region với miền. Trên trang chủ Amazon DataZone, chọn View requests.
- Chọn tên của miền Amazon DataZone mời và chọn Review request.
- Chọn Accept association, bạn sẽ thấy trạng thái của
Demo_cross_account_domainlà associated (đã liên kết) trong màn hình Associated domains.

- Chọn miền mà bạn muốn kích hoạt environment blueprint.
- Từ danh sách Blueprints, chọn blueprint DefaultDataLake.
- Trên trang Permissions and resources, để kích hoạt blueprint DefaultDataLake, đối với Glue Manage Access role, chỉ định một vai trò mới cấp cho Amazon DataZone quyền ủy quyền để nhập và quản lý quyền truy cập vào các bảng trong AWS Glue và AWS Lake Formation.

- Lặp lại các bước 4 đến 6 để kích hoạt blueprint DefaultDataWarehouse bằng cách chọn DefaultDataWarehouse thay vì DefaultDataLake.

Thêm người dùng dữ liệu vào miền Amazon DataZone
Để cấp quyền truy cập vào cổng dữ liệu Amazon DataZone từ console cho người dùng IAM nhà xuất bản dữ liệu và người đăng ký dữ liệu, hãy sử dụng các bước sau để thêm họ vào phần User Management của miền Amazon DataZone. Xem Quản lý người dùng trong console Amazon DataZone để biết thêm chi tiết.
- Đăng nhập vào console Amazon DataZone với tư cách là quản trị viên dữ liệu bằng tài khoản nhà sản xuất.
- Chọn miền Amazon DataZone và, trong phần User management, chọn Add và chọn Add IAM users.

Trên trang Add users, chọn Current account và thêm ARN người dùng của nhà sản xuất dữ liệu, sau đó chọn Add users.

Tiếp theo, chọn Associated account, và nhập ARN người dùng của người đăng ký dữ liệu và thêm người dùng bằng cách chọn Add users.

Tạo dự án xuất bản (publish project) cho AWS Glue và Amazon Redshift
Bước này tập trung vào việc tạo dự án xuất bản cho AWS Glue và Amazon Redshift trong tài khoản nhà sản xuất. Dự án sẽ được sử dụng để xuất bản dữ liệu từ các nguồn dữ liệu của bạn đến các dịch vụ AWS thích hợp.
- Sử dụng tài khoản nhà sản xuất, đăng nhập vào console Amazon DataZone với tư cách là nhà xuất bản dữ liệu.
- Chọn View domains và chọn demo_cross_account_domain.
- Chọn liên kết Open data portal và đăng nhập vào cổng dữ liệu.
- Chọn Create New Project và tạo một dự án có tên
Glue_Publish_Projectđể xuất bản tài sản dữ liệu AWS Glue và tạo dự án dưới demo_cross_account_domain.

- Tạo một dự án khác có tên
Redshift_Publish_Projectđể xuất bản tài sản dữ liệu Amazon Redshift, cũng dưới demo_cross_account_domain.

Tạo môi trường AWS Glue và Amazon Redshift để xuất bản tài sản dữ liệu
Trong bước này, bạn thiết lập môi trường AWS Glue và Amazon Redshift trong tài khoản nhà sản xuất để chia sẻ tài sản dữ liệu. Cơ sở hạ tầng cần thiết, chẳng hạn như AWS Glue Data Catalog và cụm Redshift để lưu trữ dữ liệu, phải được thiết lập sẵn. Sau khi thiết lập, điều này sẽ cho phép tài khoản người tiêu dùng truy cập và sử dụng các tài sản dữ liệu được chia sẻ. Xem Tạo môi trường mới để biết hướng dẫn chi tiết về việc tạo môi trường mới.
Tạo môi trường AWS Glue và bảng AWS Glue mới
- Trong cùng miền Amazon DataZone demo_cross_account_domain, chọn Browse Project và chọn Glue_Publish_Project và tạo Glue_Publish_Environment bằng cách sử dụng DataLakeProfile mặc định.
- Để trống producer_glue_db_name, consumer_glue_db_name và Workgroup_name.
- Chọn Create Environment và đợi quá trình hoàn tất.

- Sau khi môi trường được tạo, duyệt danh sách các dự án có sẵn và chọn Glue_publish_project.
- Tiếp theo, điều hướng đến Glue_Publish_Environment, và dưới Analytics tools, chọn Amazon Athena để mở trình soạn thảo truy vấn Athena

- Chọn Open Athena và đảm bảo rằng Glue_Publish_Environment được chọn trong menu thả xuống Amazon DataZone environment ở phía trên bên phải và trong Data ở bên trái, glue_publish_environment_pub_db được chọn làm Database.

- Tạo một bảng AWS Glue mới để xuất bản lên Amazon DataZone. Dán tập lệnh truy vấn create table as select (CTAS) sau vào cửa sổ Query và chạy nó để tạo một bảng mới có tên
mkt_sls_table. Tập lệnh tạo một bảng với dữ liệu mẫu về tiếp thị và bán hàng.
CREATE TABLE mkt_sls_table AS
SELECT 146776932 AS ord_num, 23 AS sales_qty_sld, 23.4 AS wholesale_cost, 45.0 as lst_pr, 43.0 as sell_pr, 2.0 as disnt, 12 as ship_mode,13 as warehouse_id, 23 as item_id, 34 as ctlg_page, 232 as ship_cust_id, 4556 as bill_cust_id
UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561

- Chuyển đến phần Tables and Views và xác minh rằng bảng
mkt_sls_tableđã được tạo thành công.
Tạo môi trường xuất bản Amazon Redshift và bảng Redshift mới
- Tiếp tục trong cùng miền Amazon DataZone demo_cross_account_domain, chọn Browse Project, để tạo môi trường xuất bản Amazon Redshift, chọn Redshift_Publish_Project và tạo Redshift_Publish_Environment bằng cách sử dụng hồ sơ data warehouse mặc định.
- Để cấu hình các tham số môi trường, nhập tên cụm hoặc nhóm làm việc Amazon Redshift của bạn, chỉ định tên cơ sở dữ liệu và nhập ARN secret AWS Secrets Manager cho cụm hoặc nhóm làm việc Redshift. Bạn cần đảm bảo rằng secret trong Secrets Manager bao gồm các tag sau. Các tag này giúp Amazon DataZone triển khai kiểm soát truy cập thích hợp để chỉ những người dùng được ủy quyền trong dự án và miền Amazon DataZone chính xác mới có thể truy cập tài nguyên Amazon Redshift:
a. Đối với Amazon Redshift cluster:DataZone.rs.cluster: <cluster_name:database name>
b. Đối với Amazon Redshift Serverless workgroup:DataZone.rs.workgroup: <workgroup_name:database_name>
c. AmazonDataZoneProject:<projectID>
d. AmazonDataZoneDomain:<domainID>
Để biết thêm thông tin về việc tạo secret người dùng cơ sở dữ liệu Redshift trong secret manager, xem Lưu trữ thông tin đăng nhập cơ sở dữ liệu trong AWS Secrets Manager.
- Lưu ý rằng người dùng cơ sở dữ liệu bạn cung cấp trong Secrets Manager phải có quyền superuser. Các nhà xuất bản dữ liệu nên làm việc với quản trị viên dữ liệu để lấy chi tiết về cụm hoặc nhóm làm việc Redshift, tên cơ sở dữ liệu và ARN secret.
- Schema là tùy chọn.
- Chọn Create Environment và đợi quá trình hoàn tất.

- Xác minh rằng môi trường được tạo thành công mà không có lỗi.
- Duyệt danh sách các dự án có sẵn và chọn
Redshift_publish_project. Điều hướng đếnRedshift_publish_environment. - Dưới Analytics tools, chọn Amazon Redshift để mở trình soạn thảo truy vấn Amazon Redshift.
- Chọn cụm Redshift mà bạn muốn kết nối, chọn Save và sau đó chọn Create Connection bằng cách sử dụng temporary credentials với danh tính IAM của bạn.

- Tạo một bảng Redshift mới. Bạn có thể sử dụng truy vấn CTAS để tạo một bảng mới có tên
rs_sls_tbl. Sử dụng tập lệnh CTAS được cung cấp, tạo một bảng với dữ liệu bán hàng mẫu trong schemadatazone_env_redshift_publish_environment.
CREATE TABLE "datazone_env_redshift_publish_environment"."rs_sls_tbl" AS
SELECT 146776932 AS ord_num, 23 AS sales_qty_sld, 23.4 AS wholesale_cost, 45.0 as lst_pr, 43.0 as sell_pr, 2.0 as disnt, 12 as ship_mode,13 as warehouse_id, 23 as item_id, 34 as ctlg_page, 232 as ship_cust_id, 4556 as bill_cust_id
UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561
- Đảm bảo rằng bảng
rs_sls_tblđược tạo thành công.
Xuất bản tài sản vào danh mục kinh doanh chung
Trong bước này, bạn tạo và chạy các nguồn dữ liệu Amazon DataZone cho AWS Glue và Amazon Redshift. Sau đó, bạn sẽ xuất bản các tài sản dữ liệu từ các nguồn dữ liệu này.
Các nguồn dữ liệu Amazon DataZone cho phép bạn kết nối với nhiều nguồn dữ liệu khác nhau, bao gồm cơ sở dữ liệu, kho dữ liệu và data lake, và nhập siêu dữ liệu vào Amazon DataZone. Bằng cách tạo và chạy các nguồn dữ liệu này, bạn có thể làm cho dữ liệu của mình có sẵn để phân tích, chuyển đổi và chia sẻ trong tổ chức của bạn.
Sau khi các nguồn dữ liệu được thiết lập, bạn có thể xuất bản các tài sản dữ liệu từ các nguồn này để làm cho chúng có thể truy cập được đối với những người dùng và ứng dụng khác. Quá trình này liên quan đến việc ánh xạ các tài sản dữ liệu với các thuật ngữ kinh doanh và siêu dữ liệu thích hợp, đảm bảo rằng dữ liệu được mô tả và phân loại đúng cách.
Thêm nguồn dữ liệu AWS Glue để xuất bản bảng AWS Glue mới.
- Tiếp tục đăng nhập vào tài khoản nhà sản xuất và console Amazon DataZone với tư cách là nhà xuất bản dữ liệu.
- Chọn Select project từ ngăn điều hướng trên cùng và chọn Glue_Publish_Project mà bạn muốn thêm nguồn dữ liệu vào.
- Chọn Glue_Publish_Environment.
- Chọn Create data source. Nhập
glue-publish-datasourcelàm tên. - Dưới Data source type, chọn AWS Glue.
- Dưới Select an environment, chọn Glue_Publish_Environment.
- Dưới Data selection, chọn cơ sở dữ liệu AWS Glue glue_publish_environment_pub_db, nhập tiêu chí chọn bảng của bạn là “*“, và sau đó chọn Next.
- Để tất cả các cài đặt khác là mặc định và chọn Next.
- Đối với Run Preference, chọn Run on demand để nhập siêu dữ liệu từ các bảng AWS Glue được chỉ định vào Amazon DataZone.
- Xem lại và chọn Create.
- Sau khi nguồn dữ liệu được tạo, chọn Run. Bảng
mkt_sls_tablesẽ được liệt kê trong kho và có sẵn để xuất bản

- Chọn bảng
mkt_sls_tablevà xem lại siêu dữ liệu đã được tạo. Chọn Accept All nếu bạn hài lòng với siêu dữ liệu.

- Chọn Publish Asset và bảng
mkt_sls_tablesẽ được xuất bản vào danh mục dữ liệu kinh doanh, làm cho nó có thể khám phá và dễ hiểu trong toàn bộ tổ chức của bạn.
Thêm nguồn dữ liệu Amazon Redshift để xuất bản bảng Amazon Redshift mới.
- Tiếp tục đăng nhập vào tài khoản nhà sản xuất và console Amazon DataZone với tư cách là nhà xuất bản dữ liệu.
- Chọn Select project từ ngăn điều hướng trên cùng và chọn Redshift_Publish_Project mà bạn muốn thêm nguồn dữ liệu vào.
- Chọn Redshift_Publish_Environment.
- Chọn Create data source. Nhập
rs-publish-datasourcelàm tên. - Dưới Data source type, chọn Amazon Redshift.
- Dưới Select an environment, chọn Redshift_Publish_Environment.
- Dưới Redshift Credentials, nhập chi tiết cụm Redshift và secret được cung cấp bởi quản trị viên dữ liệu.
- Dưới Data Selection, chọn cơ sở dữ liệu dev và schema datazone_env_redshift_publish_environment.
- Giữ các cài đặt khác là mặc định và chọn Next.
- Đối với Run Preference, chọn Run on Demand.
- Chọn Save. Sau khi nguồn dữ liệu được tạo, chọn Run. Nguồn dữ liệu chạy và
rs_sls_tblsẽ được liệt kê trong kho và có sẵn để xuất bản.

- Chọn bảng
rs_sls_tblvà xem lại siêu dữ liệu đã được tạo. Chọn Accept All nếu bạn hài lòng với siêu dữ liệu.

- Chọn Publish Asset và bảng
rs_sls_tablesẽ được xuất bản vào danh mục dữ liệu kinh doanh.
Tạo dự án đăng ký (subscribe project) cho AWS Glue và Amazon Redshift
Trong bước này, bạn tạo các dự án để đăng ký các tài sản dữ liệu AWS Glue và Amazon Redshift trong miền Amazon DataZone của bạn.
- Đăng nhập vào console Amazon DataZone với tư cách là người dùng IAM người đăng ký dữ liệu bằng tài khoản người tiêu dùng.
- Chọn Associated domains và chọn demo_cross_account_domain.
- Chọn liên kết Open data portal và đăng nhập vào cổng dữ liệu.
- Chọn Create New Project và tạo một dự án có tên
Glue_Subscribe_Projectđể đăng ký các tài sản dữ liệu AWS Glue. - Tạo một dự án khác có tên
Redshift_Subscribe_Projectđể đăng ký các tài sản dữ liệu Redshift.
Tạo hồ sơ môi trường (environment profile) AWS Glue và Amazon Redshift
Trong bước này, bạn sẽ thiết lập hồ sơ môi trường và môi trường cho AWS Glue và Amazon Redshift trong các dự án Amazon DataZone của bạn. Điều này sẽ cho phép bạn kết nối và tương tác với các tài nguyên giữa các tài khoản AWS.
Mục đích của hồ sơ môi trường trong Amazon DataZone là để hợp lý hóa quy trình tạo môi trường. Bằng cách sử dụng hồ sơ môi trường, bạn có thể cấu hình trước thông tin vị trí thiết yếu như tài khoản AWS và AWS Region. Trong giải pháp này, bạn sẽ cấu hình hồ sơ môi trường với thông tin vị trí trỏ đến tài khoản người tiêu dùng của bạn.
Bạn cũng sẽ tạo một môi trường Amazon DataZone từ các hồ sơ bạn sắp tạo. Điều này sẽ cấp phép các tài nguyên cần thiết trong tài khoản người tiêu dùng và thiết lập các kết nối giữa miền Amazon DataZone và tài khoản người tiêu dùng. Sau khi các môi trường được tạo, bạn có thể làm việc với các tài sản AWS Glue và Amazon Redshift một cách liền mạch giữa các tài khoản AWS khác nhau trong hệ sinh thái Amazon DataZone của bạn.
Tạo hồ sơ và môi trường AWS Glue
- Tiếp tục đăng nhập vào console Amazon DataZone của tài khoản người tiêu dùng với tư cách là người dùng IAM người đăng ký dữ liệu, chọn tab Environments và sau đó chọn Create environment profile.
- Cấu hình các trường như sau:
a. Name: Nhậpglue_subscribe-env-profile.
b. Owner: Dự án nơi hồ sơ đang được tạo được chọn theo mặc định trong trường này. Xác minh rằng đó làGlue_Subscribe_Project.
c. Blueprint: Chọn Default Data Lake.
d. AWS account parameters: Nhập số tài khoản AWS người tiêu dùng và chọn Region.
e. Authorized projects: Chọn All projects.
f. Publishing: Chọn Publish from any database.
g. Chọn Create Environment Profile.


- Trên trang Create environment, nhập các thông tin sau:
a. Name: Nhậpglue_subscribe_environment.
b. Xác minh rằng Environment profile được đặt thành glue_subscribe-env-profile. - (Tùy chọn) Parameters: Nhập Producer glue db name, Consumer glue db name, và Workgroup name.
- Chọn Create environment.

- Mất vài phút để môi trường được tạo. Xác minh rằng việc tạo môi trường thành công mà không có bất kỳ lỗi nào.

Tạo hồ sơ và môi trường Redshift
- Tiếp tục trong console quản lý Amazon DataZone của tài khoản người tiêu dùng với tư cách là người dùng IAM người đăng ký dữ liệu, điều hướng đến Redshift_Subscribe_Project bạn đã tạo trước đó.
- Chọn tab Environments và sau đó chọn Create environment profile.
- Cấu hình các trường như sau:
a. Name: Nhậpredshift_subscribe-env-profile.
b. Owner: Xác minh rằng Project được đặt thành Redshift_Subscribe_Project.
c. Blueprint: Chọn Default Data Warehouse.
d. Parameter set: Chọn Enter my own.
e. AWS account parameters: Nhập số tài khoản AWS người tiêu dùng và chọn Region.
f. Parameters: Chọn Amazon Redshift Cluster hoặc Amazon Redshift Serverless trong tài khoản người tiêu dùng.
* AWS Secret ARN: Nhập ARN secret AWS Secrets Manager cho cụm hoặc nhóm làm việc Redshift. Bạn cần đảm bảo rằng secret trong Secrets Manager bao gồm các tag sau. Các tag này giúp Amazon DataZone triển khai kiểm soát truy cập thích hợp để chỉ những người dùng được ủy quyền trong dự án và miền Amazon DataZone chính xác mới có thể truy cập tài nguyên Amazon Redshift.
i. AmazonDataZoneDomain: [Domain_ID]
ii. AmazonDataZoneProject: [Project_ID]
Để biết thêm thông tin về việc tạo secret người dùng cơ sở dữ liệu Redshift trong secret manager, xem Lưu trữ thông tin đăng nhập cơ sở dữ liệu trong AWS Secrets Manager.
Lưu ý rằng người dùng cơ sở dữ liệu bạn cung cấp trong AWS Secrets Manager phải có quyền superuser. Các nhà xuất bản dữ liệu nên làm việc với quản trị viên dữ liệu để lấy chi tiết về cụm hoặc nhóm làm việc Redshift, tên cơ sở dữ liệu và ARN secret.
* **Redshift cluster name**: Nhập tên của cụm Amazon Redshift hoặc nhóm làm việc Amazon Redshift Serverless.
* **Database name**: Nhập tên của cơ sở dữ liệu trong cụm Amazon Redshift hoặc nhóm làm việc Amazon Redshift Serverless đã chọn.
g. **Authorized projects**: Chọn **All projects**.
h. **Publishing**: Chọn **Publish any schema**.
- Chọn Create environment profile.



- Tạo một môi trường từ hồ sơ này:
a. Name: Nhậpredshift_subscribe_environment.
b. Xác minh rằng Environment profile được đặt thành redshift_subscribe-env-profile. - Chọn Create Environment.

Mất vài phút để môi trường được tạo. Xác minh rằng việc tạo môi trường thành công mà không có bất kỳ lỗi nào.

Đăng ký các bảng AWS Glue và Redshift
Trong bước này, bạn sẽ đăng ký các bảng AWS Glue và Amazon Redshift được xuất bản bởi nhà sản xuất dữ liệu.
Đăng ký bảng AWS Glue
- Đăng nhập vào console Amazon DataZone của tài khoản người tiêu dùng bằng thông tin đăng nhập của người đăng ký dữ liệu và điều hướng đến Glue_Subscribe_project bạn đã tạo trước đó.
- Tìm kiếm Market Sales Table trong thanh Search.

- Chọn Market Sales Table và chọn Subscribe.
- Trong cửa sổ pop-up Subscribe, cung cấp thông tin sau:
- Project: Nhập tên của dự án mà bạn muốn đăng ký tài sản. Theo mặc định, đây sẽ là Glue_Subscribe_Project.
- Nhập lý do cho yêu cầu đăng ký của bạn.
- Chọn Subscribe.

6. Chuyển sang vai trò nhà xuất bản dữ liệu để phê duyệt yêu cầu đăng ký, sau đó quay lại vai trò người đăng ký dữ liệu sau khi chọn Approve.

- Chọn Glue_subscribe_project và chọn Subscribed Assets. Xác minh rằng Market Sales Table được thêm vào môi trường của bạn.

- Điều hướng đến Amazon Athena query editor bằng cách sử dụng liên kết trên trang chủ của dự án.
- Chọn OPEN AMAZON ATHENA.

- Bây giờ bạn sẽ được tự động chuyển đến console Athena, đảm bảo rằng Amazon DataZone Environment được đặt thành glue_subscribe_environment.
- Đối với Database, chọn glue_subscribe_environment_sub_db.
- Bạn sẽ thấy
mkt_sls_tabletrong danh sách Tables. Xem trước bảng bằng cách chọn menu ba chấm bên cạnh tên bảng và chọn Preview Table.

- Xem lại kết quả xem trước bảng. Bạn sẽ có thể thấy tất cả dữ liệu liên quan đến bán hàng từ
mkt_sls_table.

Đăng ký bảng Redshift
- Tiếp tục đăng nhập vào console quản lý Amazon DataZone với tư cách là người đăng ký dữ liệu, Chọn Select project từ ngăn điều hướng trên cùng và chọn Redshift_Subscribe_project.
- Tìm kiếm Sales Table trong thanh tìm kiếm, và chọn Sales Table.
- Trong cửa sổ pop-up Subscribe, cung cấp thông tin sau:
- Project: Nhập tên của dự án mà bạn muốn đăng ký tài sản. Theo mặc định, đây sẽ là Redshift_Subscribe_Project.
- Nhập lý do cho yêu cầu đăng ký của bạn.
- Chọn Subscribe.

- Chuyển lại sang nhà xuất bản dữ liệu là nhà sản xuất của Market Sales Table chọn Approve.

- Sau khi yêu cầu đăng ký được phê duyệt, chuyển lại sang người đăng ký dữ liệu.
- Chọn Redshift_subscribe_project và chọn Subscribed Assets. Sau khi Sales Table được thêm vào môi trường của bạn, bạn có thể truy vấn dữ liệu trong bảng.
- Chọn liên kết Amazon Redshift trong bảng điều khiển bên phải của trang chủ dự án và điều hướng đến Amazon Redshift query editor.
- Chọn Open Amazon Redshift và Redshift query editor v2 sẽ mở trong một tab mới.

- Trong trình soạn thảo truy vấn, nhấp chuột phải vào cụm Amazon Redshift của môi trường Amazon DataZone của bạn và chọn Create a connection.
- Chọn Temporary credentials using your IAM identity để xác thực.
- Nếu phương thức xác thực đó không khả dụng, hãy mở Account settings bằng cách chọn biểu tượng bánh răng ở góc dưới bên trái, chọn Authenticate with IAM credentials và chọn Save.

- Nhập tên cơ sở dữ liệu của môi trường Amazon DataZone để tạo kết nối.
- Chọn Create connection.
- Bây giờ bạn có thể xem bảng Redshift
rs_sls_tbltrong datazone_env_redshift_subscribe_environment. - Thực thi truy vấn sau để đảm bảo dữ liệu có thể truy cập được:
SELECT * FROM "dev"."datazone_env_redshift_subscribe_environment"."rs_sls_tbl";
Bạn sẽ có thể xem trước rs_sls_tbl, hiển thị dữ liệu bán hàng từ bảng.
Dọn dẹp
Để tránh các khoản phí không cần thiết trong tương lai, hãy làm theo các bước sau:
- Xóa dự án Amazon DataZone nếu bạn đã tạo nó như một phần của bài viết này.
- Xóa miền Amazon DataZone nếu bạn đã tạo nó như một phần của bài viết này.
- Xóa các cụm Redshift và các secret Redshift trong cả tài khoản nhà sản xuất và người tiêu dùng nếu bạn đã tạo chúng như một phần của bài viết.
Tóm tắt
Các tổ chức thường phải đối mặt với những thách thức đáng kể khi cố gắng chia sẻ các sản phẩm dữ liệu giữa nhiều tài khoản AWS. Những thách thức này bắt nguồn từ sự phức tạp của việc cấu hình các quyền và vai trò truy cập đa tài khoản thích hợp trong khi vẫn duy trì các kiểm soát quản trị và bảo mật dữ liệu mạnh mẽ.
Bạn có thể sử dụng giải pháp được mô tả trong bài viết để xuất bản và tiêu thụ dữ liệu giữa các tài khoản AWS và đảm bảo rằng quyền truy cập đáng tin cậy và quản trị dữ liệu nhất quán được thiết lập. Bằng cách kết hợp sức mạnh của AWS Glue và Amazon Redshift, bạn có thể mở khóa những thông tin chi tiết có giá trị và tăng tốc các quy trình ra quyết định dựa trên dữ liệu của mình.
Trong bài viết này, bạn đã làm theo hướng dẫn từng bước để thiết lập chia sẻ dữ liệu đa tài khoản bằng cách sử dụng liên kết miền Amazon DataZone. Bạn đã học cách xuất bản các tài sản dữ liệu từ tài khoản nhà sản xuất. Bạn cũng đã học cách đăng ký và truy vấn các tài sản đã xuất bản từ tài khoản người tiêu dùng. Bạn có thể tùy chọn sử dụng giám sát truy cập AWS Lake Formation để xem các quyền và hoạt động truy cập dữ liệu. AWS Lake Formation sử dụng AWS CloudTrail để phân tích lịch sử và CloudTrail giữ lại nhật ký trong 90 ngày theo mặc định.
Giờ đây, bạn đã quen thuộc với các yếu tố liên quan đến chia sẻ dữ liệu đa tài khoản bằng Amazon DataZone và công cụ phân tích bạn chọn, bạn đã sẵn sàng thử nó với nhiều tài khoản.
Về tác giả

Arun Pradeep Selvaraj là Kiến trúc sư Giải pháp Cấp cao tại AWS. Arun đam mê làm việc với khách hàng và các bên liên quan của mình về chuyển đổi kỹ thuật số và đổi mới trên đám mây trong khi tiếp tục học hỏi, xây dựng và tái tạo. Anh ấy sáng tạo, làm việc nhanh chóng, luôn tập trung vào khách hàng và sử dụng quy trình làm việc ngược (working backwards process) để xây dựng các kiến trúc hiện đại nhằm giúp khách hàng giải quyết các thách thức độc đáo của họ. Kết nối với anh ấy trên LinkedIn.

Piyush Mattoo là Kiến trúc sư Giải pháp Cấp cao cho phân khúc Nhà cung cấp Dữ liệu Dịch vụ Tài chính tại Amazon Web Services. Anh ấy là một nhà lãnh đạo công nghệ phần mềm với hơn một thập kỷ kinh nghiệm xây dựng các hệ thống phần mềm phân tán và có khả năng mở rộng để mang lại giá trị kinh doanh thông qua việc sử dụng công nghệ. Anh ấy có nền tảng giáo dục về Khoa học Máy tính với bằng thạc sĩ về khoa học máy tính và thông tin từ Đại học Massachusetts. Anh ấy sống ở Nam California và sở thích hiện tại bao gồm cắm trại và đi dạo trong thiên nhiên.

Mani Yamaraja là Giám đốc Giải pháp Khách hàng Cấp cao cho phân khúc Nhà cung cấp Dữ liệu Dịch vụ Tài chính tại Amazon Web Services. Anh ấy có hơn một thập kỷ kinh nghiệm làm việc với khách hàng dịch vụ tài chính, hỗ trợ hành trình chuyển đổi kỹ thuật số của họ. Mani áp dụng cách tiếp cận lấy khách hàng làm trung tâm và cung cấp các giải pháp công nghệ bằng cách làm việc ngược lại từ các mục tiêu kinh doanh của khách hàng. Anh ấy đam mê ngành dịch vụ tài chính và giúp khách hàng tăng tốc chuyển đổi dựa trên đám mây của họ bằng cách sử dụng các cơ chế đã được chứng minh của AWS.