search

Cấu hình Cross-Account Transit Gateway Sharing với AWS RAM

calendar_today Đăng ngày: 25/10/2026

Bài viết này hướng dẫn triển khai kết nối mạng giữa hai VPC thuộc hai tài khoản AWS khác nhau bằng cách sử dụng AWS Transit Gateway kết hợp với AWS Resource Access Manager (RAM). Thay vì tạo hai Transit Gateway và kết nối chúng thông qua Peering, chúng ta sẽ xây dựng một Transit Gateway trung tâm tại Account A, chia sẻ tài nguyên này với Account B thông qua RAM, sau đó kết nối cả hai VPC vào Transit Gateway để thiết lập giao tiếp riêng tư giữa các EC2 instance.

1. Tổng quan kiến trúc

Trong bài thực hành này, chúng ta sử dụng hai tài khoản AWS:

  • Account A — Network Account: Quản lý Transit Gateway trung tâm và chia sẻ tài nguyên thông qua RAM.
  • Account B — Application Account: Sở hữu VPC-B và kết nối VPC này vào Transit Gateway được chia sẻ.

Cấu hình Cross-Account Transit Gateway Sharing với AWS RAM

2. Chuẩn bị tài nguyên

Bạn cần chuẩn bị hai tài khoản AWS. Nếu có thể, nên sử dụng hai tài khoản nằm trong cùng một AWS Organization để đơn giản hóa việc chia sẻ tài nguyên.

Thông tin Account A Account B
Vai trò Network Account Application Account
Region ap-southeast-1 ap-southeast-1
VPC VPC-A VPC-B
VPC CIDR 10.10.0.0/16 10.20.0.0/16
Subnet 10.10.1.0/24 10.20.1.0/24
EC2 EC2-A EC2-B
IP riêng EC2 (ví dụ) 10.10.1.10 10.20.1.10

Transit Gateway sẽ được tạo trong Account A với tên TGW-Central.

 

3. Hướng dẫn cấu hình

Bước 1: Tạo VPC trong Account A và Account B

Chi tiết: AWS Transit Gateway: Hướng dẫn kết nối 2 VPC từ A–Z

Bước 2: Tạo Transit Gateway trong Account A

Transit Gateway trung tâm sẽ được tạo và quản lý hoàn toàn bởi Account A.

Bước 2.1: Mở Transit Gateway Console

Trong Account A, truy cập:

VPC Console → Transit Gateways → Create transit gateway

Bước 2.2: Cấu hình Transit Gateway

Nhập các thông số:

Trường Giá trị
Name tag TGW-Central
Description Central Transit Gateway for cross-account VPC connectivity
Amazon side ASN Giữ mặc định
DNS support Enable
VPN ECMP support Giữ mặc định
Default route table association Enable
Default route table propagation Enable
Auto accept shared attachments Enable

Đối với bài lab này, bạn có thể bật Default route table association, Default route table propagation và Auto accept shared attachments để giảm số bước cấu hình thủ công.

Bước 2.3: Tạo Transit Gateway

Nhấn Create transit gateway.

Chờ đến khi Transit Gateway được tạo thành công.

Ghi lại Transit Gateway ID, ví dụ:

tgw-0123456789abcdef0

 

Bước 3: Chia sẻ Transit Gateway thông qua AWS RAM

Mở AWS RAM Console

Đăng nhập bằng Account A.

Truy cập:

AWS Resource Access Manager Console

Đảm bảo bạn đang chọn Region ap-southeast-1, cùng Region với TGW-Central.

Trong AWS RAM Console:

  1. Chọn Create resource share.
  2. Nhập tên Resource Share:
    TGW-Central-Share
  3. Tại mục Resources, chọn loại tài nguyên Transit Gateways.
  4. Chọn Transit Gateway TGW-Central vừa tạo.
  5. Nhấn Next.

Resource Share này xác định tài nguyên nào được chia sẻ và tài khoản nào được phép sử dụng tài nguyên đó.

Ở phần Managed permissions, chọn quyền được AWS cung cấp phù hợp với Transit Gateway.

Đối với bài lab cơ bản, hãy sử dụng cấu hình quyền chia sẻ mặc định được đề xuất trên Console, trừ khi bạn có yêu cầu bảo mật cụ thể khác.

Lưu ý rằng việc chia sẻ Transit Gateway không đồng nghĩa với việc cấp cho Account B quyền quản trị toàn bộ Transit Gateway. Account B có thể tạo Attachment cho VPC của mình, nhưng quyền quản lý Transit Gateway Route Table vẫn thuộc Account A.

Nhấn Next.

Tại mục Principals, nhập AWS Account ID của Account B.

Ví dụ:

Account B ID: 222222222222

Đây chỉ là ID minh họa. Hãy thay bằng Account ID thực tế của bạn.

Nếu hai tài khoản không thuộc cùng AWS Organization, hãy kiểm tra tùy chọn cho phép chia sẻ với tài khoản bên ngoài Organization. Nếu chúng thuộc cùng Organization, hãy sử dụng cấu hình chia sẻ phù hợp với chính sách của Organization.

Nhấn Next, kiểm tra lại thông tin rồi chọn Create resource share.

Trong Account A, mở:

AWS RAM → Shared by me → Resource shares

Chọn TGW-Central-Share.

Kiểm tra các thông tin:

  • Resource: TGW-Central.
  • Principal: Account B.
  • Share status: Đã được liên kết thành công.

Bước 4: Chấp nhận Resource Share trong Account B

Bước này áp dụng khi Account B nhận lời mời chia sẻ và cần chấp nhận.

Đăng nhập AWS Console bằng Account B.

Truy cập:

AWS Resource Access Manager Console

Thực hiện:

  1. Chọn Shared with me.
  2. Mở Resource shares.
  3. Tìm TGW-Central-Share.
  4. Chọn Resource Share.
  5. Chọn Accept resource share nếu có lời mời đang chờ.

Sau khi chấp nhận, Account B có thể truy cập Transit Gateway được chia sẻ và tạo VPC Attachment cho VPC-B.

Nếu hai tài khoản thuộc cùng Organization và Resource Share đã được tự động chấp nhận, bạn có thể bỏ qua thao tác này.

Kết quả mong đợi: Account B được phép sử dụng TGW-Central mà không cần tạo Transit Gateway riêng.

Bước 5: Tạo VPC Attachment cho VPC-A

Trước tiên, chúng ta kết nối VPC-A của Account A vào Transit Gateway trung tâm.

Đăng nhập bằng Account A.

Truy cập:

VPC Console → Transit Gateway Attachments → Create transit gateway attachment

Cấu hình:

Trường Giá trị
Name tag Attachment-VPC-A
Transit Gateway ID TGW-Central
Attachment type VPC
VPC ID VPC-A
Subnet Chọn Subnet-A

Nhấn Create attachment.

Chờ đến khi Attachment chuyển sang trạng thái Available.

Kiểm tra

Truy cập:

VPC Console → Transit Gateway Attachments

Bạn sẽ thấy Attachment của VPC-A được kết nối với TGW-Central.

VPC-A hiện đã có kết nối đến Transit Gateway, nhưng chưa thể giao tiếp với VPC-B vì chúng ta chưa hoàn tất Attachment và định tuyến cho VPC-B.

Lưu ý: Khi tạo VPC Attachment, phải chọn ít nhất một Subnet trong mỗi Availability Zone mà bạn muốn Transit Gateway phục vụ. Với bài lab tối giản này, một Subnet trong một AZ là đủ để kiểm tra các EC2 nằm trong phạm vi kết nối của AZ đó.

Bước 6: Tạo VPC Attachment cho VPC-B bằng Transit Gateway được chia sẻ

Đây là bước thể hiện rõ lợi ích của AWS RAM.

Thay vì tạo TGW-B, Account B sử dụng trực tiếp TGW-Central được Account A chia sẻ.

Đăng nhập Account B

Đảm bảo Region là ap-southeast-1.

Truy cập:

VPC Console → Transit Gateway Attachments → Create transit gateway attachment

Nhập:

Trường Giá trị
Name tag Attachment-VPC-B
Transit Gateway ID TGW-Central được chia sẻ
Attachment type VPC
VPC ID VPC-B
Subnet Chọn Subnet-B

Nhấn Create attachment.

Nếu không tìm thấy Transit Gateway trong danh sách, hãy kiểm tra:

  • Resource Share đã được thiết lập thành công chưa.
  • Account B đã chấp nhận lời mời nếu cần chưa.
  • Bạn đang chọn đúng Region chưa.
  • IAM permissions của người dùng có cho phép tạo Attachment không.

Kiểm tra trạng thái Attachment

Nếu Transit Gateway bật tùy chọn Auto accept shared attachments, Attachment có thể được chấp nhận tự động.

Nếu tùy chọn này bị tắt, Account A cần chấp nhận yêu cầu Attachment.

Đăng nhập Account A, sau đó truy cập:

VPC Console → Transit Gateway Attachments

Tìm Attachment-VPC-B.

Nếu Attachment đang chờ chấp nhận, chọn Attachment và sử dụng thao tác chấp nhận tương ứng trên Console.

Sau khi hoàn thành, kiểm tra cả hai Attachment:

Attachment VPC Transit Gateway Trạng thái mong đợi
Attachment-VPC-A VPC-A TGW-Central Available
Attachment-VPC-B VPC-B TGW-Central Available

Đến đây, cả hai VPC đã được kết nối với cùng một Transit Gateway.

Bước 7: Cấu hình Transit Gateway Route Table

Sau khi cả hai VPC đã được kết nối với TGW-Central, chúng ta cần kiểm tra định tuyến bên trong Transit Gateway.

Trong bài lab này, chúng ta sử dụng Default Transit Gateway Route Table để đơn giản hóa cấu hình.

Đăng nhập Account A.

Truy cập:

VPC Console → Transit Gateway Route Tables

Chọn Route Table mặc định thuộc TGW-Central.

Bạn có thể xác định Route Table bằng Transit Gateway ID và kiểm tra danh sách Association.

Mở tab Associations.

Nếu bạn đã bật Default route table association khi tạo Transit Gateway, các VPC Attachment sẽ tự động được liên kết với Route Table mặc định khi được chấp nhận.

Kiểm tra xem các Attachment sau đã được liên kết hay chưa:

  • Attachment-VPC-A
  • Attachment-VPC-B

Nếu thiếu Attachment nào, hãy kiểm tra cấu hình Association và thực hiện liên kết nếu cần.

Lưu ý: Account B không thể trực tiếp sửa Association của Transit Gateway Route Table được chia sẻ. Các thao tác quản lý này phải được thực hiện trong Account A, là tài khoản sở hữu Transit Gateway.

Mở tab Propagations.

Nếu Default route table propagation được bật, các VPC Attachment sẽ tự động quảng bá CIDR của VPC vào Transit Gateway Route Table mặc định.

Kiểm tra xem các tuyến đường sau đã xuất hiện chưa:

Destination Target Route type
10.10.0.0/16 Attachment-VPC-A Propagated
10.20.0.0/16 Attachment-VPC-B Propagated

Tên Attachment và ID thực tế có thể khác với ví dụ trong bảng.

Nếu các tuyến đường đã xuất hiện, bạn không cần thêm lại chúng dưới dạng static route.

Nếu thiếu tuyến đường, hãy kiểm tra trạng thái Attachment, Association và cấu hình Propagation.

Bước 8: Cập nhật VPC Route Table

Mặc dù Transit Gateway đã biết đường đến hai VPC, các EC2 vẫn cần biết phải gửi lưu lượng đến VPC đối tác thông qua Transit Gateway.

Vì vậy, chúng ta phải cập nhật Route Table của cả hai VPC.

Đăng nhập Account A.

Truy cập:

VPC Console → Route Tables → RTB-A → Routes → Edit routes

Chọn Add route.

Nhập:

Trường Giá trị
Destination 10.20.0.0/16
Target Transit Gateway → TGW-Central

Nhấn Save changes.

Ý nghĩa: Các tài nguyên trong VPC-A muốn giao tiếp với địa chỉ thuộc 10.20.0.0/16 sẽ gửi lưu lượng đến Transit Gateway.

Cấu hình RTB-B trong Account B

Đăng nhập Account B.

Truy cập:

VPC Console → Route Tables → RTB-B → Routes → Edit routes

Chọn Add route.

Nhập:

Trường Giá trị
Destination 10.10.0.0/16
Target Transit Gateway được chia sẻ → TGW-Central

Nhấn Save changes.

Nếu Console không hiển thị Transit Gateway trong danh sách Target, hãy kiểm tra lại trạng thái chia sẻ RAM và quyền truy cập của Account B.

Tổng hợp cấu hình định tuyến

Thành phần Destination Target
RTB-A 10.20.0.0/16 TGW-Central
TGW Route Table 10.10.0.0/16 Attachment-VPC-A
TGW Route Table 10.20.0.0/16 Attachment-VPC-B
RTB-B 10.10.0.0/16 TGW-Central

Bước 9: Tạo EC2 instance trong mỗi VPC để test

Cleanup: Xóa tài nguyên sau khi hoàn thành

Transit Gateway, các Attachment và các tài nguyên liên quan có thể phát sinh chi phí. Sau khi hoàn thành bài lab, hãy xóa các tài nguyên không còn sử dụng.

Thực hiện theo thứ tự phù hợp:

  1. Terminate EC2-A và EC2-B.
  2. Xóa VPC Attachment của VPC-A và VPC-B.
  3. Trong Account A, xóa Resource Share TGW-Central-Share nếu không còn cần sử dụng.
  4. Xóa TGW-Central sau khi các Attachment phụ thuộc đã được xóa.
  5. Xóa các Subnet và Route Table không còn sử dụng.
  6. Xóa VPC-A và VPC-B nếu không còn cần thiết.