Bài 1: AWS Landing Zone Fundamentals - Kiến thức nền tảng và kiến trúc Enterprise
Table of Contents
Landing Zone là gì
Vì sao doanh nghiệp cần Landing Zone
Thành phần cốt lõi
Account strategy, OU strategy và multi-region
Security, logging, networking và cost governance
Sơ đồ kiến trúc
Code mẫu chuẩn
Checklist, FAQ, troubleshooting và phỏng vấn
Landing Zone là gì
AWS Landing Zone là môi trường AWS multi-account được thiết kế trước để doanh nghiệp có thể triển khai workload một cách an toàn, có kiểm soát và có khả năng mở rộng. Theo AWS Prescriptive Guidance, landing zone là điểm xuất phát gồm các quyết định kỹ thuật và kinh doanh về account structure, networking, security và access management.
Nói đơn giản: nếu workload là các tòa nhà, Landing Zone là quy hoạch đô thị, luật xây dựng, hệ thống điện, nước, camera, đường vào, trung tâm điều hành và ngân sách.
Vì sao cần Landing Zone
Không có Landing Zone, đội kỹ thuật thường bắt đầu bằng một AWS account duy nhất. Cách này nhanh trong tuần đầu tiên nhưng tạo nợ kỹ thuật lớn khi công ty có nhiều team, nhiều workload, dữ liệu nhạy cảm, audit, incident response và yêu cầu cost allocation.
Landing Zone giúp:
Tách blast radius giữa môi trường Dev, Stage và Production.
Tập trung identity và cross-account access.
Bảo vệ log khỏi bị sửa hoặc xóa bởi workload account.
Áp dụng guardrail bằng SCP thay vì gửi guideline thủ công.
Chuẩn hóa network, tagging, backup, monitoring và security operations.
Tạo nền tảng cho Infrastructure as Code và account vending.
Thành phần cốt lõi
AWS Organizations
AWS Organizations là dịch vụ quản trị tập trung nhiều AWS account. Đây là nền móng để tạo OU, áp dụng SCP, dùng consolidated billing và cấu hình delegated administrator cho các dịch vụ bảo mật.
Organizational Unit
OU là nhóm logic của account. OU không nên chỉ phản ánh sơ đồ nhân sự, vì sơ đồ nhân sự thay đổi nhanh. OU nên phản ánh mức kiểm soát, vòng đời, rủi ro và yêu cầu tuân thủ.
Mô hình khuyến nghị:
Security OU: Audit/Security Tooling và Log Archive.
AWS account là security boundary, billing boundary và operational boundary. Tách account giúp giảm blast radius, phân quyền rõ ràng và dễ truy vết chi phí.
log-archive: nhận CloudTrail, Config, VPC Flow Logs.
SCP
Service Control Policy là guardrail ở cấp Organization, OU hoặc account. SCP xác định quyền tối đa mà IAM principal trong account có thể có. SCP không cấp quyền.
Use case phổ biến:
Chặn disable CloudTrail, Config, GuardDuty.
Chặn rời Organization.
Chặn dùng region chưa được phê duyệt.
Chặn xóa KMS key hoặc S3 log bucket.
Bắt buộc request phải đi qua approved role trong một số thao tác nhạy cảm.
IAM Identity Center
IAM Identity Center là cách chuẩn để workforce user truy cập nhiều AWS account bằng SSO và permission set. Production không nên phụ thuộc vào IAM user dài hạn cho con người.
Cross-account access
Cross-account access dùng IAM role và STS để cấp credentials tạm thời. Với Landing Zone, engineer đăng nhập qua identity provider, chọn account và permission set, sau đó được cấp role trong member account.
Logging Account và Security Account
Log Archive Account nhận log tập trung. Security Tooling hoặc Audit Account vận hành GuardDuty, Security Hub, Detective, IAM Access Analyzer và quy trình incident response. Hai account này phải được bảo vệ mạnh hơn workload account.
Shared Services và Networking Account
Shared Services chứa CI/CD platform, artifact repository, directory integration, internal DNS hoặc observability tooling. Networking Account chứa Transit Gateway, shared VPC, firewall, private hosted zones, network inspection và egress control.
Multi-account và multi-region strategy
Multi-account trả lời câu hỏi "ai sở hữu và rủi ro nằm ở đâu". Multi-region trả lời câu hỏi "dịch vụ cần chạy ở đâu để đáp ứng latency, compliance và disaster recovery".
Production recommendation:
Bắt đầu với một home region cho governance.
Bật CloudTrail organization trail multi-region.
Chỉ mở region đã được phê duyệt bằng SCP.
Thiết kế DR theo RTO/RPO, không bật multi-region chỉ vì nghe có vẻ enterprise.
Well-Architected mapping
AWS Well-Architected Framework có sáu trụ cột: operational excellence, security, reliability, performance efficiency, cost optimization và sustainability. Landing Zone chạm trực tiếp vào cả sáu:
Sustainability: region choice, resource lifecycle, idle cleanup.
Sơ đồ kiến trúc
Mermaid diagram
flowchart LR
A[Management Account] --> B[Security OU]
A --> C[Infrastructure OU]
A --> D[Workloads OU]
B --> B1[Audit Account]
B --> B2[Log Archive Account]
C --> C1[Networking Account]
C --> C2[Shared Services Account]
D --> D1[Dev Account]
D --> D2[Stage Account]
D --> D3[Production Account]
E[IAM Identity Center] --> A
F[SCP Guardrails] --> B
F --> C
F --> D
G[Centralized Logging] --> B2
sequenceDiagram
participant Engineer
participant Identity as IAM Identity Center
participant Mgmt as Management Account
participant Target as Member Account
Engineer->>Identity: Sign in with corporate identity
Identity->>Mgmt: Resolve permission set
Mgmt->>Target: Assume cross-account role
Target-->>Engineer: Temporary AWS credentials
Giải thích: SCP này không cấp quyền. Nó chỉ đặt giới hạn tối đa, ngăn role thông thường tắt hoặc sửa CloudTrail. Break-glass role phải được bảo vệ bằng MFA, approval và monitoring.
Giải thích: trust policy cho phép principal từ account quản trị assume role, nhưng yêu cầu MFA. Trong doanh nghiệp, nên dùng IAM Identity Center permission set hoặc role trung gian thay vì IAM user dài hạn.
CloudFormation: S3 bucket lưu log
YAML
AWSTemplateFormatVersion: '2010-09-09'Description: Central log archive bucket with encryption and public access blockResources: LogArchiveBucket: Type: AWS::S3::Bucket Properties: BucketEncryption: ServerSideEncryptionConfiguration: - ServerSideEncryptionByDefault: SSEAlgorithm: AES256 PublicAccessBlockConfiguration: BlockPublicAcls: true BlockPublicPolicy: true IgnorePublicAcls: true RestrictPublicBuckets: true VersioningConfiguration: Status: Enabled ObjectLockEnabled: true
Giải thích: bucket log cần encryption, block public access, versioning và nếu quy định tuân thủ yêu cầu thì bật Object Lock ngay lúc tạo bucket.
Troubleshooting
Lỗi
Nguyên nhân
Cách xử lý
Không tạo được Organization
Account đang thuộc Organization khác hoặc thiếu quyền
Rời Organization cũ, đăng nhập management/root có quyền Organizations
Không tạo được account
Email đã dùng cho AWS account khác
Dùng email alias riêng cho từng account
SCP chặn cả admin
Hiểu nhầm SCP là IAM policy allow
Thiết kế SCP dạng guardrail, test ở OU sandbox trước
CloudTrail không ghi log
Trail chưa multi-region hoặc S3 bucket policy sai
Bật multi-region trail và kiểm tra bucket policy
Config không record resource
Recorder chưa bật hoặc thiếu delivery channel
Tạo recorder, delivery channel và start configuration recorder
GuardDuty không thấy member
Chưa enable delegated administrator
Enable delegated admin từ management account
Security Hub không aggregate
Chưa bật aggregation region
Bật finding aggregator ở security tooling account
Budget không cảnh báo
Email chưa confirm hoặc threshold sai
Xác nhận email subscription, kiểm tra actual/forecasted threshold
AssumeRole thất bại
Trust policy hoặc permission set sai
Kiểm tra principal, external ID nếu có, và sts:AssumeRole
Terraform state lock kẹt
Pipeline bị dừng khi đang apply
Kiểm tra DynamoDB lock item, chỉ xóa lock khi chắc chắn không còn apply
Account drift so với IaC
Thay đổi thủ công ngoài quy trình
Dùng plan định kỳ, Config rules, change window và review drift
NOTE
[!NOTE]
Người mới thường xem Landing Zone như một checklist dịch vụ. Trong production, Landing Zone là mô hình vận hành gồm account boundary, identity, guardrail, logging, network, security operations, cost governance và quy trình thay đổi.
[!WARNING]
Không thử SCP mạnh trực tiếp trên Production OU. Hãy áp dụng theo thứ tự Sandbox -> Dev -> Stage -> Production, kèm break-glass role đã kiểm thử.
[!TIP]
Mỗi thay đổi nền tảng nên có owner, ticket, rollback plan, validation command và bằng chứng kiểm tra.
Những lỗi người mới thường gặp:
Dùng một AWS account cho mọi workload.
Dùng IAM user dài hạn thay vì federated access.
Bật log nhưng không bảo vệ Log Archive Account bằng SCP và bucket policy.
Tạo OU theo team hiện tại thay vì theo vòng đời và mức kiểm soát.
Nhầm SCP với IAM policy cấp quyền.
Điều cần ghi nhớ:
AWS Organizations là xương sống quản trị multi-account.
IAM Identity Center là lớp truy cập người dùng nên ưu tiên cho workforce access.
SCP đặt giới hạn tối đa, không tự cấp quyền.
Log Archive và Security Tooling phải tách khỏi workload.
Production phải có quy trình thay đổi, monitoring, backup, incident response và cost review.
Checklist production:
Có management account chỉ dùng cho governance.
Có Security OU gồm Audit/Security Tooling và Log Archive.
Có Infrastructure OU cho Networking và Shared Services.
Có Workloads OU tách Dev, Stage, Production.
Có IAM Identity Center và permission set theo vai trò.
Có CloudTrail organization trail multi-region.
Có AWS Config, GuardDuty, Security Hub, AWS Backup và AWS Budgets.
Có SCP chống tắt logging, chống dùng root, giới hạn region nếu doanh nghiệp yêu cầu.
Có tagging standard và cost allocation tags.
Có runbook rollback và cleanup.
Interview Questions:
Landing Zone khác gì một VPC chuẩn?
Vì sao cần tách Security Account và Log Archive Account?
SCP được evaluate như thế nào so với IAM policy?
Khi nào nên tách account theo environment, khi nào tách theo workload?
Làm sao triển khai cross-account access an toàn?
Organization trail khác account trail như thế nào?
Delegated administrator dùng để làm gì?
Làm sao giảm rủi ro khi rollout guardrail mới?
Terraform remote state cần bảo vệ ra sao?
Control Tower và LZA giải quyết vấn đề gì khác nhau?
FAQ
Landing Zone có bắt buộc dùng Control Tower không?
Không. Bạn có thể xây bằng manual, Terraform, CloudFormation, CDK hoặc Control Tower. Control Tower là dịch vụ managed giúp chuẩn hóa và tự động hóa nhiều phần.
Một workload có nên có nhiều account không?
Có thể. Workload quan trọng thường tách dev/stage/prod. Workload có yêu cầu bảo mật hoặc billing riêng nên có account riêng.
Có nên gom Security và Log Archive vào một account không?
Không khuyến nghị cho production. Log Archive nên tối giản quyền ghi/đọc và khó bị thay đổi; Security Tooling cần quyền điều tra rộng hơn.
Summary
Bài 1 xây nền tảng tư duy: Landing Zone không phải là một script tạo VPC, mà là kiến trúc vận hành AWS ở quy mô doanh nghiệp. Điểm quan trọng nhất là tách account đúng, tập trung identity/logging, áp dụng guardrail bằng SCP và thiết kế theo Well-Architected.
Chuyển tiếp
Trong bài tiếp theo chúng ta sẽ xây dựng AWS Landing Zone hoàn chỉnh bằng AWS Console, đi từng bước từ tạo Organization, OU, account, IAM Identity Center, CloudTrail, Config, GuardDuty, Security Hub, Backup, Budget đến validation và cleanup.