メインコンテンツまでスキップ

Regions, AZs & Edge Locations

AWS vận hành trên một mạng vật lý trải rộng toàn cầu. Hiểu rõ cấu trúc này giúp bạn thiết kế hệ thống đảm bảo độ tin cậy, tuân thủ pháp lý và độ trễ thấp ngay từ đầu.


1. Regions

Region là gì?

Region là một khu vực địa lý riêng biệt, chứa một cụm data center của AWS. Mỗi Region hoàn toàn độc lập — có nguồn điện, mạng và hệ thống làm mát riêng. Sự cố tại us-east-1 không ảnh hưởng trực tiếp đến ap-southeast-1.

Ví dụ các Region code:

CodeVị trí
us-east-1N. Virginia (lâu đời nhất, lớn nhất)
us-west-2Oregon
eu-west-1Ireland
ap-northeast-1Tokyo
ap-southeast-1Singapore

Tách biệt giữa các Region

  • Các Region không tự động sao chép dữ liệu sang nhau. Bạn phải bật cross-region replication một cách tường minh (ví dụ: S3 CRR, RDS read replica).
  • IAM là global, nhưng hầu hết các service khác đều scoped theo Region. Một EC2 instance ở ap-northeast-1 sẽ không hiển thị từ us-east-1 theo mặc định.
  • Mỗi Region có API endpoint riêng (ví dụ: ec2.us-east-1.amazonaws.com).

Cách chọn Region

Ưu tiên theo thứ tự sau:

  1. Compliance / Data residency — Nếu dữ liệu phải ở lại trong EU (GDPR), chọn eu-west-1 hoặc eu-central-1. Đây là ràng buộc cứng, ưu tiên trên tất cả.
  2. Latency — Deploy gần người dùng. Dùng ping hoặc CloudPing để đo từ vị trí người dùng.
  3. Độ phủ service — Không phải tất cả AWS service đều có ở mọi Region. Kiểm tra AWS Regional Services List trước khi quyết định.
  4. Chi phí — Giá thay đổi theo Region. us-east-1 thường rẻ nhất. ap-southeast-2 (Sydney) đắt hơn khoảng 20% cho cùng loại EC2.
Mặc định dùng us-east-1 cho service mới

AWS thường launch service mới tại us-east-1 trước. Nếu cần tính năng mới nhất (GPU instance mới, managed service mới), us-east-1 sẽ có sớm nhất.


2. Availability Zones (AZs)

AZ là gì?

Availability Zone là một hoặc nhiều data center riêng biệt nằm trong một Region, với nguồn điện, hệ thống làm mát và bảo mật vật lý độc lập. Các AZ trong một Region:

  • Kết nối qua cáp quang riêng với băng thông cao và độ trễ thấp (thường < 2ms round-trip).
  • Cách nhau khoảng cách vật lý đáng kể (hàng chục km) để tránh sự cố liên đới (lũ lụt, hỏa hoạn, mất điện lưới).
  • Đặt tên theo ký tự hậu tố: us-east-1a, us-east-1b, us-east-1c.
Tên AZ không nhất quán giữa các AWS account

us-east-1a trong account của bạn có thể map sang một data center vật lý khác so với us-east-1a trong account khác. AWS xáo trộn mapping AZ-to-letter theo từng account để phân tải. Dùng AZ ID (use1-az1) để tham chiếu chính xác khi làm việc cross-account.

Fault isolation

Mỗi AZ là một fault domain độc lập. Mất điện hoặc lỗi phần cứng tại us-east-1a không ảnh hưởng đến us-east-1b. Đây là nền tảng của high availability trên AWS.

Region: us-east-1
├── AZ: us-east-1a [Cụm Data Center A]
├── AZ: us-east-1b [Cụm Data Center B]
└── AZ: us-east-1c [Cụm Data Center C]

Mỗi AZ: Nguồn điện + mạng + làm mát độc lập
Kết nối giữa các AZ: Cáp quang riêng dự phòng (< 2ms latency)

Thiết kế high availability (multi-AZ)

Pattern cốt lõi: trải workload ra ít nhất 2 AZ. Nếu một AZ gặp sự cố, traffic tự động chuyển sang AZ còn lại.

Multi-AZ với EC2:

# CloudFormation — launch EC2 qua Auto Scaling Group trải đều các AZ
AutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
AvailabilityZones:
- us-east-1a
- us-east-1b
- us-east-1c
MinSize: 3
MaxSize: 9
DesiredCapacity: 3
# ALB phân phối traffic đều sang instance healthy ở mọi AZ

RDS Multi-AZ:

Khi bật Multi-AZ trên RDS, AWS provision một synchronous standby replica ở AZ khác. Failover tự động và thường hoàn thành trong 60–120 giây. Standby không đọc được — chỉ dùng để failover.

Primary DB  →  synchronous replication  →  Standby DB
[us-east-1a] [us-east-1b]

Trigger failover: AZ outage, host failure, patching
DNS CNAME tự động flip — ứng dụng dùng cùng endpoint
Dùng multi-AZ managed, không tự làm

Để AWS xử lý multi-AZ thông qua RDS Multi-AZ, ElastiCache cluster mode, hoặc MSK multi-AZ brokers. Tự xây cross-AZ replication dễ xảy ra lỗi và hiếm khi đáng công.

Checklist multi-AZ deployment:

  • EC2 instance trải đều ≥ 2 AZ, sau ALB/NLB
  • RDS Multi-AZ đã bật (hoặc Aurora với multi-AZ cluster)
  • ElastiCache replication group có node ở các AZ riêng biệt
  • EFS mount được ở tất cả AZ (EFS là regional theo mặc định)
  • EBS volume bị gắn với một AZ cụ thể — snapshot trước khi di chuyển

3. Edge Locations

Edge Location là gì?

Edge Location là điểm hiện diện CDN (PoP) nằm ngoài AWS Region. AWS vận hành hơn 400 Edge Location tại hơn 90 thành phố trên toàn cầu. Chúng được dùng bởi CloudFrontRoute 53 để phục vụ nội dung và phân giải DNS gần người dùng nhất.

Edge Location không phải compute mục đích chung — không thể deploy EC2 hay RDS ở đây. Chúng chỉ dùng cho caching và DNS.

Người dùng (Tokyo)


Edge Location (NRT - PoP tại Tokyo)
│ Cache HIT → trả về ngay lập tức
│ Cache MISS → lấy từ origin

Origin (S3 bucket / ALB tại ap-northeast-1)

CloudFront hoạt động như thế nào với Edge Location

CloudFront cache nội dung tại Edge Location gần người dùng nhất. Luồng request:

  1. Người dùng request https://cdn.example.com/image.jpg
  2. DNS phân giải đến Edge Location gần nhất (qua Anycast routing)
  3. Edge Location kiểm tra cache — HIT: trả ngay, MISS: lấy từ origin, cache lại
  4. Các request tiếp theo từ cùng khu vực được phục vụ từ cache

Lợi ích:

  • Giảm latency — nội dung được phục vụ từ cách 10–50ms thay vì 200ms+ đến origin
  • Giảm tải origin — CloudFront hấp thụ 80–95% traffic cho nội dung tĩnh
  • Bảo vệ DDoS — AWS Shield Standard được tích hợp tại Edge Location

Cấu hình TTL thực tế:

# CloudFront cache behavior cho static asset
DefaultCacheBehavior:
ViewerProtocolPolicy: redirect-to-https
CachePolicyId: !Ref StaticAssetCachePolicy

StaticAssetCachePolicy:
Type: AWS::CloudFront::CachePolicy
Properties:
CachePolicyConfig:
DefaultTTL: 86400 # 1 ngày
MaxTTL: 31536000 # 1 năm
MinTTL: 0
Edge Location vs Regional Edge Cache

Giữa Edge Location và origin còn có Regional Edge Cache (REC). REC có dung lượng lưu trữ lớn hơn Edge Location. Khi Edge Location miss, request đi đến REC trước, rồi mới đến origin. Điều này giảm tải origin cho nội dung ít phổ biến hơn.


4. Best practices

Multi-AZ deployment (baseline)

Luôn deploy stateful service trên nhiều AZ. Đây là yêu cầu bắt buộc cho production workload.

ALB (regional, multi-AZ)
├── EC2 (us-east-1a)
├── EC2 (us-east-1b)
└── EC2 (us-east-1c)

RDS Primary (us-east-1a) ←→ RDS Standby (us-east-1b)

Multi-Region cho Disaster Recovery

Multi-AZ bảo vệ khỏi sự cố một AZ. Với sự cố toàn bộ Region (cực kỳ hiếm nhưng có thể xảy ra), bạn cần multi-Region. Chọn chiến lược DR dựa trên RTO/RPO:

Chiến lượcRTORPOChi phíGhi chú
Backup & RestoreVài giờVài giờThấpBackup S3 cross-region, restore thủ công
Pilot Light10–30 phútVài phútTrung bìnhHạ tầng tối thiểu chạy ở DR Region
Warm Standby1–5 phútVài giâyCaoReplica thu nhỏ luôn chạy
Multi-Site Active-ActiveGần bằng khôngGần bằng khôngRất caoFull stack ở cả hai Region, traffic chia đôi
Bắt đầu với Pilot Light

Với hầu hết các team, Pilot Light là điểm cân bằng tốt nhất. Giữ DB được replicate sang DR Region qua RDS read replica hoặc DynamoDB Global Tables. Khi sự cố xảy ra, promote replica và scale up compute — mất khoảng 15 phút và gần như không tốn chi phí khi idle.


Tài liệu liên quan