Tác giả: Eric Waxler and Christopher Pfaltzgraff
Ngày phát hành: 06 FEB 2026
Chuyên mục: Customer Solutions, Enterprise governance and control, Management & Governance, Management Tools, Technical How-to
Khi các tổ chức mở rộng môi trường AWS của mình, việc quản lý cơ sở hạ tầng một cách nhất quán đồng thời cho phép các nhóm tự chủ ngày càng trở nên thách thức. Landing Zone Accelerator on AWS (LZA) và AWS Account Factory for Terraform (AFT) đều mở rộng AWS Control Tower để giúp khách hàng quản lý môi trường AWS ở quy mô lớn, mang lại những thế mạnh bổ sung.
Nhiều khách hàng AWS gặp khó khăn trong việc cân bằng quản trị bảo mật tập trung với nhu cầu tự chủ của nhóm khi triển khai cơ sở hạ tầng ở quy mô lớn. Các nhóm muốn sử dụng Terraform cho cơ sở hạ tầng dưới dạng mã, nhưng việc duy trì các đường cơ sở bảo mật nhất quán trên hàng trăm tài khoản đồng thời cho phép tùy chỉnh ngày càng trở nên phức tạp.
Bài viết này xây dựng dựa trên bài đăng trước đó của chúng tôi Sử dụng Terraform với Landing Zone Accelerator trên AWS và mở rộng hơn nữa để cung cấp giải pháp triển khai Terraform theo cách có thể quản lý và lặp lại. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách tích hợp LZA với AFT trong môi trường Control Tower của bạn, tạo ra một giải pháp mạnh mẽ giúp tăng cường tư thế bảo mật của bạn đồng thời đẩy nhanh việc triển khai cơ sở hạ tầng thông qua các quy trình làm việc Terraform tự động. Sự tích hợp này cho phép các tổ chức triển khai các đường cơ sở bảo mật và kiểm soát quản trị đã được chứng minh thông qua LZA trong khi tận dụng công cụ triển khai Terraform sẵn sàng cho doanh nghiệp của AFT, cung cấp cho các nhóm một phương pháp quản lý cơ sở hạ tầng mạnh mẽ, tự động.
Tổng quan về giải pháp
Giải pháp này tích hợp Landing Zone Accelerator on AWS với Account Factory for Terraform bằng cách triển khai AFT trong môi trường được LZA quản lý của bạn. Khi bạn tạo các tài khoản mới thông qua LZA, chúng có thể được đăng ký với AFT, cho phép triển khai các module Terraform tùy chỉnh trong khi vẫn duy trì các kiểm soát quản trị của LZA. Sự tích hợp này tận dụng cấu trúc tài khoản hiện có của LZA, với AFT được triển khai trong một tài khoản chuyên dụng để điều phối các triển khai Terraform trên toàn môi trường của bạn. Các lợi ích chính bao gồm quản trị tập trung, cấp phát tài khoản tự động và hỗ trợ các module Terraform hiện có.
Hướng dẫn chi tiết
Bài viết này sẽ chỉ cho bạn cách triển khai Account Factory for Terraform vào môi trường Landing Zone Accelerator hiện có của bạn. Sau khi triển khai, chúng tôi sẽ chỉ cho bạn cách sử dụng các giải pháp này cùng nhau để tạo các tài khoản AWS mới và triển khai các template Terraform của bạn vào chúng.
Quá trình này sẽ diễn ra qua 4 bước:
- Cung cấp tài khoản quản lý AFT
- Triển khai AFT vào môi trường được LZA quản lý
- Tạo và đăng ký tài khoản
- Triển khai Terraform tùy chỉnh
Điều kiện tiên quyết
Khi triển khai giải pháp này, hãy xem xét rằng bạn sẽ cần thêm các tài nguyên AWS để hỗ trợ AFT, bao gồm tài khoản quản lý AFT và cơ sở hạ tầng pipeline liên quan. Các chi phí chính phát sinh từ các tài nguyên quản lý AFT này, thường bao gồm AWS CodePipeline, AWS CodeBuild và bộ nhớ Amazon Simple Storage Service (Amazon S3) cho các tệp trạng thái Terraform. Mặc dù chi phí thực tế sẽ thay đổi tùy thuộc vào tần suất triển khai và quy mô của bạn, hầu hết các tổ chức đều nhận thấy rằng hiệu quả hoạt động tăng lên vượt trội so với chi phí cơ sở hạ tầng bổ sung tối thiểu.
Đối với hướng dẫn này, bạn nên có các điều kiện tiên quyết sau:
- Môi trường AWS đã triển khai AWS Control Tower và LZA. Bạn có thể làm theo hướng dẫn triển khai LZA để bắt đầu.
- Khả năng sửa đổi các tệp cấu hình LZA.
- IAM role với chính sách AdministratorAccess được đính kèm cho tài khoản quản lý AWS Control Tower.
- Phiên bản Terraform tương thích với AFT.
- AWS CodeCommit hoặc hệ thống kiểm soát phiên bản (VCS) tương thích khác.
Bước 1: Cung cấp tài khoản quản lý AFT
Để phù hợp với các khuyến nghị của AFT, hãy tạo một organizational unit (OU) để lưu trữ tài khoản quản lý AFT. Chúng tôi sẽ sử dụng LZA để tạo một OU và tài khoản AWS mới bằng cách cập nhật các tệp cấu hình LZA được lưu trữ trong AWS CodeCommit, Amazon S3 hoặc AWS CodeConnections. Kiểm tra tham số ConfigurationRepositoryLocation của stack CloudFormation của LZA Installer Stack để tìm các tệp cấu hình LZA của bạn.
- Thêm một OU mới vào trường
organizationalUnitscủa tệporganizations-config.yamlcủa bạn để tạo một OU mới:organizationalUnits: - name: Security - name: Infrastructure - name: $OU_NAME - Thêm một tài khoản mới vào trường
workloadAccountscủa tệpaccounts-config.yamlcủa bạn để tạo một tài khoản AWS mới:workloadAccounts: - name: AFT description: The management account for AFT email: $AFT_MANAGEMENT_ACCOUNT_EMAIL organizationalUnit: $OU_NAME warm: false - Commit và push các tệp cấu hình LZA đã cập nhật của bạn vào repository AWS CodeCommit của bạn (hoặc hệ thống kiểm soát phiên bản đã cấu hình của bạn).
- Trong AWS Management Console, điều hướng đến AWS CodePipeline và chọn pipeline LZA (thường được đặt tên là
AWSAccelerator-Pipeline). - Nhấp vào
Release changeđể bắt đầu pipeline theo cách thủ công bằng cách sử dụng các tệp cấu hình đã cập nhật.
Bước 2: Triển khai AFT vào môi trường được LZA quản lý
Bắt đầu quá trình triển khai AFT bằng cách làm theo các hướng dẫn này về cách thiết lập VCS của bạn cho AFT. Tạo một dự án Terraform mới ở vị trí ưa thích của bạn (điều này sẽ tách biệt với cấu hình LZA của bạn). Trong dự án này, tạo một tệp main.tf và thêm cấu hình module sau:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" aft_management_account_id = [AFT_MANAGEMENT_ACCOUNT_ID] audit_account_id = [AUDIT_ACCOUNT_ID] log_archive_account_id = [LOG_ACCOUNT_ID] ct_home_region = [HOME_REGION] ct_management_account_id = [CONTROL_TOWER_MANAGEMENT_ACCOUNT_ID]}
Dưới đây là mô tả của từng trường được tham chiếu trong module:
- AFT_MANAGEMENT_ACCOUNT_ID: AWS Account ID cho tài khoản quản lý AFT được tạo ở Bước 1
- AUDIT_ACCOUNT_ID: AWS Account ID cho tài khoản audit được tạo bởi triển khai LZA
- LOG_ACCOUNT_ID: AWS Account ID cho tài khoản logging được tạo bởi triển khai LZA
- HOME_REGION: AWS Region được sử dụng làm home region cho triển khai LZA
- CONTROL_TOWER_MANAGEMENT_ACCOUNT_ID: AWS Account ID cho tài khoản quản lý Control Tower
Thay thế các giá trị trong ngoặc bằng các Account ID và Region thực tế của bạn. Đảm bảo thêm bất kỳ tham số nào được yêu cầu bởi VCS đã chọn của bạn.
Để triển khai module Terraform của AFT trong môi trường của bạn:
- Assume IAM role với chính sách AdministratorAccess cho tài khoản quản lý Control Tower.
- Áp dụng dự án terraform bằng lệnh
terraform applyđể triển khai các tài nguyên cần thiết cho AFT trong tài khoản quản lý Control Tower và tài khoản quản lý AFT. - Chờ các pipeline được tạo trong tài khoản quản lý AFT hoàn thành thành công.
Sau khi các pipeline này hoàn thành thành công, bạn đã hoàn tất việc cài đặt AFT trong tài khoản của mình.
Lưu ý: Nếu bạn đang sử dụng một VCS bên ngoài, bạn cần hoàn tất kết nối với repository của mình như đã lưu ý trong hướng dẫn thiết lập VCS của bạn cho AFT. Nếu các pipeline của bạn thất bại, bạn có thể cần gọi lại các pipeline này theo cách thủ công để hoàn tất quá trình cài đặt.
Bước 3: Tạo tài khoản mới
Việc tạo tài khoản được thực hiện bằng cách cập nhật các tệp cấu hình LZA theo cách tương tự như khi chúng ta không triển khai AFT. Cập nhật tệp account-config.yaml để bao gồm các tài khoản mới bạn cần như chúng ta đã làm trong bước Cung cấp tài khoản quản lý AFT và để pipeline triển khai LZA chạy.
Tạo tài khoản AWS mới bằng LZA và đăng ký với AFT:
- Tạo một tài khoản mới thông qua Landing Zone Accelerator (LZA).
- Đăng ký tài khoản với Account Factory for Terraform (AFT). Trong repository
aft-account-request, tạo một yêu cầu tài khoản mới trong thư mụcterraform/. Đảm bảo cập nhật các tham sốAccountEmail,AccountNamevàaccount_customizations_name. Email và tên phải khớp với những gì đã được thêm vào cấu hình LZA. Tên tùy chỉnh được sử dụng để xác định những tùy chỉnh nào sẽ được triển khai cho tài khoản này. Lưu các thay đổi này và push chúng vào nhà cung cấp VCS. - Trong tài khoản quản lý AFT, mở console AWS CodePipeline và điều hướng đến chế độ xem Pipelines.
- Giám sát pipeline
ct-aft-account-requestkhi nó thực hiện triển khai tùy chỉnh tài khoản. - Sau khi pipeline hoàn thành thành công, hãy xác minh rằng một pipeline mới dành riêng cho tài khoản xuất hiện trong danh sách pipeline để triển khai các tùy chỉnh.
Bước 4: Triển khai Terraform tùy chỉnh
Có hai cách để thêm tùy chỉnh thông qua AFT:
- Global customizations được triển khai cho tất cả các tài khoản đã đăng ký với AFT. Global customizations được thêm vào repository
aft-global-customizationstrong thư mụcterraform/. - Account customizations được triển khai dựa trên
account_customizations_nameđược chỉ định khi bạn import tài khoản vào AFT. Mọi tài khoản có tên được chỉ định sẽ nhận được các tùy chỉnh tương ứng được triển khai cho chúng. Account customizations được thêm vào repositoryaft-account-customizationstrong thư mụcACCOUNT_CUSTOMIZATION_NAME/terraform/.
Khi một tài khoản mới được đăng ký, một pipeline sẽ tự động được tạo và kích hoạt để triển khai tất cả các tùy chỉnh áp dụng cho tài khoản đó. Đối với các tùy chỉnh được thêm sau quá trình đăng ký tài khoản, các pipeline tùy chỉnh phải được gọi thủ công. Sơ đồ kiến trúc sau đây cho thấy cách AFT triển khai các tài nguyên Terraform vào một tài khoản hiện có:

Sơ đồ kiến trúc LZA-AFT: Quy trình triển khai Terraform
Triển khai Terraform tùy chỉnh thông qua AFT vào các tài khoản hiện có:
- Cập nhật cấu hình AFT của bạn với các tùy chỉnh mong muốn.
- Điều hướng đến Step Function
aft-invoke-customizationstrong tài khoản quản lý AFT. - Kích hoạt Step Function với input sau:
json { "include": [ { "type": "all" } ] }
AFT cung cấp các tham số khác nhau mà bạn có thể chỉ định để xác định tài khoản nào được cập nhật dựa trên lời gọi. Để tìm hiểu thêm, hãy tham khảo hướng dẫn của AFT về việc gọi lại các tùy chỉnh.
Dọn dẹp
Để xóa một tài khoản khỏi môi trường này, trước tiên chúng ta sẽ xóa tài khoản khỏi AFT và sau đó khỏi LZA.
Xóa tài khoản khỏi AFT: Để xóa một tài khoản khỏi AFT, hãy làm theo tài liệu chính thức của AFT về việc xóa tài khoản. Quá trình này bao gồm việc xóa yêu cầu tài khoản khỏi repository aft-account-request và cho phép AFT xử lý việc xóa thông qua pipeline tự động của nó.
Xóa tài khoản khỏi LZA: Sau khi tài khoản được xóa thành công khỏi AFT, bạn có thể tiến hành đóng tài khoản trong LZA bằng cách làm theo tài liệu AWS về đóng tài khoản được LZA quản lý. Điều này đảm bảo việc dọn dẹp đúng cách tất cả các tài nguyên và cấu hình được LZA quản lý liên quan đến tài khoản.
Luôn xóa tài khoản khỏi AFT trước khi xóa chúng khỏi LZA để tránh các tài nguyên bị bỏ lại và đảm bảo việc dọn dẹp đúng cách tất cả cơ sở hạ tầng được quản lý bằng Terraform.
Kết luận
Bằng cách tích hợp Landing Zone Accelerator on AWS với Account Factory for Terraform, các tổ chức có thể duy trì quản trị mạnh mẽ đồng thời cho phép các nhóm triển khai các module Terraform tùy chỉnh trên toàn môi trường AWS của họ. Cách tiếp cận này giải quyết một thách thức phổ biến đối với các doanh nghiệp đang mở rộng hoạt động đám mây của họ: cân bằng kiểm soát tập trung với sự linh hoạt của nhóm. Thông qua sự tích hợp này, bạn có thể tận dụng nền tảng quản trị vững chắc của LZA trong khi tận dụng khả năng triển khai Terraform của AFT, mang lại cho các nhóm của bạn sự tự do sử dụng các công cụ cơ sở hạ tầng dưới dạng mã ưa thích của họ. Chúng tôi khuyến khích bạn khám phá giải pháp này sâu hơn bằng cách bắt đầu với một môi trường thử nghiệm, sau đó dần dần mở rộng để hỗ trợ các triển khai Terraform phức tạp hơn khi bạn cảm thấy thoải mái hơn với sự tích hợp. Để biết thêm thông tin, hãy truy cập tài liệu Landing Zone Accelerator on AWS và Account Factory for Terraform, hoặc liên hệ với AWS Support để được hướng dẫn cụ thể về việc triển khai của bạn.
Về tác giả

Eric Waxler
Eric Waxler là Kỹ sư Phát triển Hệ thống Cấp cao, tập trung vào việc xây dựng phần mềm giúp khách hàng AWS xây dựng nền tảng bảo mật có thể mở rộng theo quy mô tổ chức của họ. Anh là một cộng tác viên cốt lõi của dự án Landing Zone Accelerator, tập trung vào hiệu suất và khả năng mở rộng.

Christopher Pfaltzgraff
Chris Pfaltzgraff là Kiến trúc sư Đám mây Liên kết, chuyên về phát triển và hiện đại hóa ứng dụng trên AWS. Anh xuất sắc trong việc thiết kế các giải pháp mới lạ để giải quyết các yêu cầu kinh doanh phức tạp và vượt qua mong đợi của khách hàng.