Mục tiêu bài học
Hiểu Infrastructure as Code và quản trị node mà không phải SSH thủ công mọi nơi.
Bài giảng chi tiết
Bài toán thực tế
Một team muốn tạo cùng một hạ tầng lặp lại ở dev và staging nhưng vẫn phải review thay đổi; họ cũng cần truy cập node mà không SSH thủ công. Bài học phân biệt IaC repeatability với automation/operations trên node.
Đừ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
- CloudFormation mô tả resource bằng template, quản lý stack, parameter, output và change set.
- Systems Manager cung cấp Session Manager/Run Command/Patch Manager cho managed node.
- IaC vẫn phụ thuộc IAM, state/change review, tagging và cleanup.
- Repeatable không đồng nghĩa tự động an toàn; phải inspect plan/change set trước apply.
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
CloudFormation mô tả resource bằng template, quản lý stack, parameter, output và change set. Systems Manager cung cấp Session Manager, Run Command, Patch Manager và inventory cho node được quản lý. Cả hai vẫn phụ thuộc IAM và cấu hình đúng.
Ví dụ giảng viên: phân loại một quyết định cloud
CloudFormation trả lời “hạ tầng nào được tạo và thay đổi theo template”; Systems Manager trả lời “node đã quản lý được vận hành thế nào”. Template có parameter/output/dependency và change set cần được review trước apply. SSM cần instance identity/agent/network/permission đúng; không phải cứ instance chạy là Session Manager hoạt động.
Failure drill: template tạo ngoài scope, change set xóa resource, instance thiếu role, agent offline và command chạy với quyền quá rộng. Với mỗi lỗi ghi evidence trước khi cấp quyền hoặc retry; automation phải repeatable nhưng vẫn có approval và rollback.
Thực hành có kiểm soát
Đọc template nhỏ, xác định resource dependency, parameter và output. Vẽ flow instance profile → SSM Agent → Systems Manager. Nếu tạo stack, đặt tag và xóa stack sau lab.
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.
- Giải thích resource dependency và output của template.
- Phân biệt CloudFormation stack với SSM Session Manager.
- Xác định role/agent cần có trước khi dùng SSM.
- Có change review và cleanup plan trước khi deploy.
Bẫy đề thi và cách tự kiểm tra
CloudFormation không phải CI/CD hoàn chỉnh. SSM không tự cấp quyền nếu instance thiếu role/agent. Automation tốt phải repeatable và có change review.