# 🎯 Cheatsheet: Chinh phục chứng chỉ AWS Developer Associate qua lab và luyện đề

> This cheatsheet is part of the paid section. Sign in and purchase the course to view the full content.

> [!IMPORTANT]
> Đây là lookup card, không phải giáo trình. Đọc theo bảng, học thuộc câu chốt, nhớ bẫy.

---

## Module 1: Dịch vụ cốt lõi (compute, storage, bảo mật)

### 1.1 Chọn mô hình compute

| Tiêu chí | Lambda | ECS | Elastic Beanstalk |
| --- | --- | --- | --- |
| Đơn vị chạy | Function theo sự kiện | Container | Ứng dụng (platform) |
| Quản lý hạ tầng | Không | Bạn quản lý task/service | Beanstalk quản lý hộ |
| Thời lượng | Tối đa 15 phút/lần gọi | Chạy dài | Chạy dài |
| Phù hợp | Xử lý sự kiện ngắn, API nhỏ, glue code | Đã đóng gói container, cần kiểm soát cách chạy | App truyền thống (Java, PHP, Node) cần deploy nhanh, ít sửa code |
| Kiểm soát mạng | VPC config khi cần | Đầy đủ (Fargate hoặc EC2) | Có sẵn qua environment |

**Câu chốt:** Lambda khi sự kiện ngắn và không muốn quản lý gì; ECS khi đã có container và cần kiểm soát cách chạy; Elastic Beanstalk khi có app truyền thống cần deploy nhanh mà ít sửa code.

**Bẫy Lambda hay gặp:**
- Cold start: dùng provisioned concurrency hoặc giữ package nhỏ.
- Giới hạn: timeout tối đa 900 giây (15 phút), payload đồng bộ ~6 MB.
- Biến môi trường nhạy cảm: dùng KMS để mã hoá, không hard-code.
- Concurrency: reserved concurrency để bảo vệ downstream, không vượt account limit.
- `/tmp` có giới hạn dung lượng, không dùng làm nơi lưu bền.

### 1.2 S3 và DynamoDB

| Nhu cầu | Chọn | Ghi chú |
| --- | --- | --- |
| Lưu object, file lớn, static asset | S3 | Không phải filesystem, không sửa từng byte |
| Dữ liệu key-value tốc độ cao, quy mô lớn | DynamoDB | Thiết kế theo access pattern trước |
| Truy vấn linh hoạt, join phức tạp | (không thuộc S3/DynamoDB) | Cân nhắc RDS, không dùng DynamoDB scan |
