Mục tiêu bài học
Hiểu Region, Availability Zone và Edge Location để chọn nơi triển khai và thiết kế availability.
Bài giảng chi tiết
Bài toán thực tế
Một website phục vụ người dùng ở Singapore cần giảm latency và tiếp tục hoạt động khi một data center gặp lỗi. Chọn sai giữa Region, AZ và edge location sẽ khiến thiết kế vừa chậm vừa có single point of failure.
Đừng học nội dung này như một danh sách tên dịch vụ. Hãy đi theo chuỗi: requirement → khái niệm → quyết định → bằng chứng. Một câu trả lời tốt phải nói được vì sao lựa chọn phù hợp, phương án gần nhất bị loại ở đâu, và kiểm tra nào chứng minh lựa chọn đó hoạt động.
Khái niệm được giải thích theo scenario
- Region là phạm vi địa lý độc lập; Availability Zone là failure domain bên trong Region.
- Edge location phục vụ phân phối/cache gần người dùng, không phải một Region để đặt mọi workload.
- Multi-AZ tăng resilience trong một Region; Multi-Region xử lý yêu cầu địa lý/DR cấp Region.
- Chọn Region còn phụ thuộc latency, data residency, dịch vụ khả dụng, giá và compliance.
Ví dụ khi gặp một scenario mới, hãy thay các từ khóa trong đề bằng một hệ thống cụ thể: ai là người dùng, dữ liệu đi qua đâu, thành phần nào có thể lỗi, quyền nào cần có và điều gì phải được quan sát. Cách làm này giúp phân biệt các đáp án gần đúng thay vì chọn theo trí nhớ tên service.
flowchart LR
A[Scenario / requirement] --> B[Concept and boundary]
B --> C[Service or control choice]
C --> D[Evidence and trade-off]
D --> E[Failure variant]
Khái niệm cốt lõi
Region là khu vực địa lý độc lập. Availability Zone là một hoặc nhóm data center tách biệt trong Region. Edge location gần người dùng, thường được CloudFront dùng để cache/phân phối. Chọn Region theo latency, data residency, dịch vụ khả dụng, giá và recovery strategy.
Ví dụ giảng viên: phân loại một quyết định cloud
Hãy coi mỗi lớp là một failure domain khác nhau. Một AZ hỏng không nhất thiết làm Region hỏng; một Region hỏng không được giải quyết chỉ bằng việc đặt hai instance trong cùng Region. Edge location cũng không phải nơi thay thế cho database placement: nó chủ yếu đưa nội dung/cache hoặc điểm phân phối đến gần người dùng.
Khi chọn Region cho website ở Đông Nam Á, hãy lập decision record gồm latency người dùng, data residency/compliance, service/quota availability, giá, kết nối tới dependency và kế hoạch DR. Nếu yêu cầu là static content tải nhanh toàn cầu, CloudFront/edge có thể phù hợp. Nếu yêu cầu là database tiếp tục ghi khi cả Region mất, cần Multi-Region strategy, replication semantics và runbook, không chỉ thêm AZ.
Failure drill: đánh dấu trên sơ đồ điều gì xảy ra khi mất một AZ, mất edge cache, mất cả Region và mất kết nối từ user. Với mỗi lỗi ghi detection, impact, fallback và bằng chứng cần thu thập.
Thực hành có kiểm soát
Ghi Region hiện tại, liệt kê Region/AZ bằng Console hoặc CLI, rồi vẽ web tier ở hai AZ. Ghi rõ Multi-AZ bảo vệ sự cố trong Region; Multi-Region mới là lớp cho sự cố cấp Region.
Expected state và recovery
Trước khi thực hành, ghi rõ target/account/region, trạng thái hiện tại và output mong đợi. Sau thao tác, kiểm chứng bằng trạng thái thực tế hoặc command phù hợp; nếu kết quả sai, giữ lại evidence, quay về thay đổi nhỏ nhất và cleanup đúng owner. Không coi exit code 0 hoặc thông báo “success” là bằng chứng duy nhất.
- Liệt kê được Region và AZ bằng Console hoặc CLI.
- Trên sơ đồ, chỉ ra failure domain của một AZ và của cả Region.
- Giải thích vì sao CloudFront edge không thay thế thiết kế Multi-AZ.
- Nêu ít nhất bốn tiêu chí chọn Region và một trade-off của mỗi tiêu chí.
Bẫy đề thi và cách tự kiểm tra
AZ không phải Region. Edge location không phải nơi thường triển khai EC2. Multi-AZ không tự động đồng nghĩa Multi-Region hoặc DR hoàn chỉnh.