Mục tiêu bài học
Hiểu EC2 là máy chủ ảo theo nhu cầu và biết những lựa chọn ảnh hưởng tới hiệu năng, bảo mật và vòng đời tài nguyên.
Bài giảng chi tiết
Bài toán thực tế
Một người mới cần tạo một máy chủ thử nghiệm nhưng dễ nhầm AMI, instance type, key pair, security group và EBS. Nếu không hiểu vòng đời stop/terminate, lab nhỏ có thể để lại tài nguyên và chi phí.
Đừ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
- AMI là template; instance type mô tả compute; key pair phục vụ đăng nhập, không phải IAM authorization.
- Security group là stateful firewall; EBS là block storage gắn với compute theo thiết kế AZ.
- Stop thường giữ EBS; terminate kết thúc instance nhưng volume/public IP có thể có hành vi riêng theo cấu hình.
- Tag, Region và account là context cần kiểm tra trước khi tạo.
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
AMI là template để khởi tạo instance; instance type mô tả tỷ lệ CPU, memory và network; key pair hỗ trợ đăng nhập nhưng không phải IAM permission. Security group là firewall stateful. EBS là block storage thường gắn với instance. Stop có thể giữ EBS, còn terminate kết thúc instance và dữ liệu phụ thuộc cấu hình volume.
Ví dụ giảng viên: phân loại một quyết định cloud
EC2 không phải một “máy chủ được thuê” duy nhất mà là một nhóm quyết định có lifecycle riêng. AMI trả lời instance khởi động từ image nào; instance type trả lời compute profile; EBS trả lời dữ liệu nằm ở đâu; IAM role trả lời workload gọi AWS thế nào; security group trả lời traffic nào được phép.
Trước khi launch, hãy viết expected state: account/Region, AMI owner/filter, instance type, subnet, SG, role, tags, volume delete-on-termination và cleanup command. Sau khi launch, kiểm tra instance ID, state, private/public address, IAM profile, volume và tag. Khi terminate, kiểm tra cả volume, Elastic IP và security group phụ trợ; “instance đã terminated” chưa đủ chứng minh lab đã sạch.
Failure drill: AMI không tồn tại ở Region, SG mở SSH 0.0.0.0/0, instance chạy nhưng không có role, hoặc terminate để lại EBS. Với mỗi lỗi, ghi evidence trước khi sửa.
Thực hành có kiểm soát
Trong tài khoản có Budget, chỉ tạo instance nhỏ đủ điều kiện, gắn tag Project=clf-c02, kiểm tra trạng thái rồi terminate. Trước mọi thao tác, chạy aws sts get-caller-identity và xác nhận Region. Không mở SSH cho toàn Internet ngoài thời gian lab; không để lại public IP hoặc volume mồ côi.
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.
- Xác định đúng AMI, instance type, key pair, security group và EBS trong một mô tả instance.
- Giải thích stop khác terminate ở trạng thái compute và storage.
- Chạy checkpoint bằng đúng account/Region trước thao tác.
- Sau lab xác nhận không còn instance/volume/IP không cần thiết.
Bẫy đề thi và cách tự kiểm tra
T3 là burstable, C thiên về compute và R thiên về memory — đây là định hướng, không thay cho benchmark. Dedicated Host là máy vật lý dành riêng, không phải instance type. Câu hỏi “template to launch” thường là AMI.