Lộ trình
Amazon Web ServicesAssociateTuần 1: Nền tảngBài 2 / 30

Ngày 2: VPC chuyên sâu

Thời lượng: 45 phút
Mục tiêu: 2 nhiệm vụ chính
Tiến độ lộ trình
aws-saa-c03ngày 2
hoàn thành2 / 30 bài
Bối cảnh bài học

Thiết kế VPC bằng cách đọc request path, route và trust boundary; không coi public/private là nhãn trang trí.

đọc hiểuthực hànhcheckpoint
Bài giảng hôm nay

Học hiểu, rồi mới thực hành

Thiết kế VPC bằng cách đọc request path, route và trust boundary; không coi public/private là nhãn trang trí.

Bắt đầu đọc bài giảng

Nhiệm vụ bài học hôm nay

  • Thực hành tạo VPC, Subnet public/private
  • Cấu hình Internet Gateway, NAT Gateway
Instructor walkthrough

Bài giảng chi tiết: từ bài toán đến bằng chứng

Scenario xuyên suốt

Một web application cần nhận HTTP từ Internet, chạy application private ở hai AZ và cho database outbound update nhưng không nhận inbound trực tiếp. Nếu thiếu route hoặc đặt sai NAT/IGW, app có thể “chạy được” trong sơ đồ nhưng không có đường đi đúng.

01Đọc bài toán

Xác định actor, workload, constraint và trạng thái cuối cần đạt.

02Vẽ luồng / boundary

Chỉ ra request, dependency, identity và failure domain trước khi chọn công cụ.

03Chọn và thực hành

Thay đổi nhỏ nhất trong lab cô lập; command nào cũng phải nói rõ nó kiểm tra điều gì.

04Kiểm chứng / recovery

Đối chiếu trạng thái thực tế, tạo một failure variant và ghi cách hoàn tác.

Cách nối lý thuyết với thực tế
  • VPC là network boundary; subnet thuộc một AZ và route table quyết định next hop.
  • Internet Gateway phục vụ đường Internet cho VPC; NAT Gateway hỗ trợ private subnet outbound.
  • Public/private subnet phụ thuộc route và addressing, không chỉ tên subnet.
  • Thiết kế production phải cân nhắc NAT per-AZ, failure mode, IPv4/IPv6, cost và DNS.

Bài toán kiến trúc

Thiết kế một web app có public entry point, application private và database không public. Hãy bắt đầu từ request path, không bắt đầu bằng danh sách service.

Cách đọc VPC

VPC là boundary logic. Subnet gắn với một AZ. Route table quyết định packet đi đâu; security group/NACL quyết định traffic có được phép ở các lớp khác nhau. “Public subnet” chỉ có ý nghĩa khi route tới Internet Gateway và addressing cho phép.

Flow tham chiếu: Internet → ALB (public, 2 AZ) → App (private, 2 AZ) → Database (private); app outbound update đi qua NAT. Vẽ source, destination, next hop và control cho từng request.

Bài tập thiết kế

Viết failure mode khi một AZ hoặc NAT Gateway lỗi, rồi ghi trade-off giữa NAT tập trung và NAT mỗi AZ. Một kiến trúc đạt yêu cầu phải nói được security boundary, availability và cost trade-off; không chỉ ghi “dùng VPC”.

Bài giảng chuyên sâu

Case study: checkout hai AZ

Một request đi từ Internet vào ALB ở public subnet, vào target private rồi truy cập database private. Hãy viết từng hop theo mẫu source → destination → route → security control → expected evidence. Public subnet không phải do tên; nó cần route tới Internet Gateway và địa chỉ phù hợp. Private app có default route tới NAT để tải package, nhưng NAT chỉ cho outbound do connection khởi tạo từ private side.

Điểm thiết kế quan trọng là failure domain: NAT tập trung có thể rẻ hơn nhưng tạo dependency liên-AZ và một điểm lỗi; NAT mỗi AZ tăng chi phí nhưng giữ outbound path độc lập. Database không cần public IP vì request từ app được cho phép bằng security group và route nội bộ. Khi review, loại phương án đặt database public hoặc dùng IGW như firewall.

Bài tập: vẽ sequence Internet → ALB → app → DB và app → NAT → Internet. Ghi expected state khi NACL chặn ephemeral return port, khi route table thiếu default route và khi một AZ mất. Recovery phải nói rõ route/control nào thay đổi và evidence nào chứng minh traffic đã đi đúng.

Terminal reference

Command list và cách dùng

Chạy từng lệnh theo đúng thứ tự. Trước các lệnh có thể tạo hoặc thay đổi tài nguyên, hãy kiểm tra profile, account và region.

Commands · read-only checkpoints
aws sts get-caller-identity --profile study
aws ec2 describe-vpcs --profile study --output table
aws ec2 describe-route-tables --profile study --output json
Hands-on lab

Thực hành theo scenario

Vẽ flow Internet → public ALB → private app → private database. Đặt route table, IGW, NAT, security group và AZ lên từng hop. Với mỗi request, ghi source, destination, next hop và control. Dùng CLI read-only để inspect VPC hiện có; không tạo NAT Gateway nếu chưa xác nhận chi phí.

Evidence checkpoint

Kiểm chứng kết quả

Không coi lệnh chạy thành công là đủ. Hãy đối chiếu output với trạng thái mong đợi:

  • Lần theo được inbound HTTP và private outbound update trên sơ đồ.
  • Phân biệt route table, security group và NACL.
  • Giải thích vì sao database không cần public IP để app kết nối.
  • Nêu trade-off của NAT Gateway tập trung một AZ so với NAT mỗi AZ.
Transfer to exam / production

Bẫy thường gặp và trade-off

SAA thường hỏi đường đi và failure domain: public subnet không tự làm resource public; IGW không phải firewall; NAT không nhận inbound trực tiếp. Hãy đọc source/destination trước khi chọn service.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Application trong private subnet cần gọi outbound Internet nhưng không nhận inbound trực tiếp. Thiết kế nào phù hợp nhất?

Kết thúc bài

Checklist trước khi sang Ngày 2