Lộ trình
Amazon Web ServicesCơ bảnTuần 3: Bảo mật, Giám sát & Quản lýBài 18 / 30

Ngày 18: Quản lý và giám sát — CloudWatch và CloudTrail

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

Phân biệt “hệ thống đang thế nào?” với “ai đã gọi API nào?”.

đọ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

Phân biệt “hệ thống đang thế nào?” với “ai đã gọi API nào?”.

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

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

  • Tìm hiểu CloudWatch, CloudTrail, Config
  • Thực hành tạo 1 CloudWatch Alarm cơ bản
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 incident report cần trả lời hai câu hỏi khác nhau: hệ thống có đang quá tải không và ai đã xóa security group rule. Dùng một dashboard cho cả hai sẽ bỏ sót audit identity hoặc operational signal.

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ế
  • CloudWatch thu thập metrics/logs/events, tạo alarm và hỗ trợ phản ứng vận hành.
  • CloudTrail ghi API activity cùng identity, event name, time và source context phục vụ audit.
  • Metric trả lời “hệ thống đang thế nào”; audit event trả lời “ai đã gọi API nào”.
  • Retention, delivery và cost của logs cần được thiết kế, không bật vô hạn mặc định.

Mục tiêu bài học

Phân biệt “hệ thống đang thế nào?” với “ai đã gọi API nào?”.

Bài giảng chi tiết

Bài toán thực tế

Một incident report cần trả lời hai câu hỏi khác nhau: hệ thống có đang quá tải không và ai đã xóa security group rule. Dùng một dashboard cho cả hai sẽ bỏ sót audit identity hoặc operational signal.

Đừ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

  1. CloudWatch thu thập metrics/logs/events, tạo alarm và hỗ trợ phản ứng vận hành.
  2. CloudTrail ghi API activity cùng identity, event name, time và source context phục vụ audit.
  3. Metric trả lời “hệ thống đang thế nào”; audit event trả lời “ai đã gọi API nào”.
  4. Retention, delivery và cost của logs cần được thiết kế, không bật vô hạn mặc định.

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

CloudWatch thu thập metrics, logs và events; alarm có thể thông báo hoặc trigger action. CloudTrail ghi API activity và management events phục vụ audit/điều tra. CloudTrail không phải dashboard CPU; CloudWatch không thay audit log identity.

Ví dụ giảng viên: phân loại một quyết định cloud

CloudWatch và CloudTrail trả lời hai loại câu hỏi khác nhau. CloudWatch cho biết runtime signal như CPU, latency, error rate, log pattern và alarm state. CloudTrail cho biết API actor, action, resource, timestamp và context. Incident tốt thường nối cả hai: metric báo sự cố, CloudTrail cho biết thay đổi nào xảy ra trước đó.

Failure drill: alarm không có owner/action, CloudTrail event thiếu retention, log chứa secret, metric không có dimension đúng và alert quá nhiễu. Viết runbook gồm signal, threshold, first command, escalation và cleanup/cost review.

Thực hành có kiểm soát

Tìm một CloudTrail event và đọc userIdentity, eventName, sourceIPAddress, eventTime. Tìm metric/alarm của workload có sẵn và ghi câu hỏi mỗi nguồn trả lời. Không bật log retention dài hạn mà chưa tính chi phí.

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.

  1. Xác định đúng service cho CPU threshold và API identity.
  2. Đọc được các field chính của CloudTrail event.
  3. Phân biệt log/metric/alarm với audit event.
  4. Nêu retention/cost implication trước khi bật log dài hạn.

Bẫy đề thi và cách tự kiểm tra

“Ai đã gọi DeleteBucket?” → CloudTrail. “CPU vượt threshold?” → CloudWatch alarm. Production thường cần cả hai.

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 cloudtrail describe-trails --profile study --output table
aws cloudwatch list-metrics --profile study --max-items 10 --output table
Hands-on lab

Thực hành theo scenario

Tìm một CloudTrail event read-only và ghi `userIdentity`, `eventName`, `eventTime`, `sourceIPAddress`. Tìm một metric/alarm có sẵn hoặc dùng sơ đồ nếu không có workload. Viết hai câu hỏi mà CloudWatch trả lời tốt và hai câu hỏi CloudTrail trả lời tốt.

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:

  • Xác định đúng service cho CPU threshold và API identity.
  • Đọc được các field chính của CloudTrail event.
  • Phân biệt log/metric/alarm với audit event.
  • Nêu retention/cost implication trước khi bật log dài hạn.
Transfer to exam / production

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

“Ai đã gọi DeleteBucket?” → CloudTrail. “CPU vượt threshold?” → CloudWatch alarm. Production thường cần cả hai.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Dịch vụ nào trả lời IAM principal nào đã gọi DeleteBucket?

Kết thúc bài

Checklist trước khi sang Ngày 2