Chuyển tới nội dung chính

EC2 Auto Scaling Deep Dive

1. Components

  • Launch Template: "Bản thiết kế" (AMI, Instance Type, Security Group, User Data). Nên dùng thay cho Launch Configuration (Legacy).
  • Auto Scaling Group (ASG): Tập hợp các instance. Định nghĩa Min, Max, Desired Capacity.

2. Scaling Policies

  • Target Tracking: "Giữ CPU ở mức 50%". Đơn giản, hiệu quả nhất.
  • Step Scaling: "Nếu CPU > 80%, thêm 2. Nếu CPU > 90%, thêm 4".
  • Predictive Scaling: Dùng Machine Learning dự đoán traffic dựa trên lịch sử (VD: Traffic tăng vào 9h sáng thứ 2) để scale trước.
Predictive Scaling

Rất hữu ích cho các mô hình traffic có chu kỳ rõ ràng. Nó giúp hệ thống sẵn sàng trước khi traffic ập đến, tránh bị chậm trong vài phút đầu.

3. Lifecycle Hooks

Can thiệp vào quá trình khởi tạo hoặc hủy instance.

4. Warm Pools

Giữ một nhóm instance ở trạng thái Stopped (đã init xong) để scale out cực nhanh.

  • Khi cần scale out, ASG chỉ việc Start instance từ Warm Pool (mất 30s) thay vì tạo mới từ đầu (mất 3-5 phút).
  • Tiết kiệm chi phí (Instance Stopped không tốn tiền Compute).
Cooldown Period

Sau khi scale, ASG sẽ chờ một khoảng thời gian (Cooldown, mặc định 300s) trước khi thực hiện hành động tiếp theo. Điều này để tránh scale liên tục (dao động) khi metrics chưa kịp ổn định.