ℹ️ Thông tin: Dynamic scaling tự động điều chỉnh dung lượng ứng dụng của bạn dựa trên các số liệu theo thời gian thực được thu thập bởi Amazon CloudWatch. Khi được cấu hình đúng cách, Auto Scaling Group (ASG) của bạn sẽ khởi chạy hoặc chấm dứt các instances để phản hồi lại những thay đổi về nhu cầu workload, đảm bảo hiệu suất tối ưu và tối ưu hóa chi phí.
Dynamic scaling có thể được kích hoạt (triggered) bởi nhiều metrics khác nhau, bao gồm:
💡 Mẹo chuyên nghiệp: Việc lựa chọn scaling metric nên phù hợp với các điểm nghẽn hiệu suất của ứng dụng. Đối với các ứng dụng web, số lượng request trên mỗi target thường cung cấp hành vi scaling phản hồi nhanh và chính xác nhất.
Bây giờ, hãy tiến hành cấu hình dynamic scaling:

Request Over 500 per target
ℹ️ Thông tin: Tham số Instance warmup xác định khoảng thời gian mà một instance mới khởi chạy sẽ bị loại trừ khỏi các aggregated metrics. Điều này cho phép instance khởi tạo đầy đủ trước khi nó được xem xét trong các quyết định scaling. Đối với các production workloads, hãy cân nhắc đặt giá trị này cao hơn (120-300 giây) tùy thuộc vào yêu cầu khởi tạo của ứng dụng.
Sau khi tạo thành công, bạn sẽ thấy dynamic scaling policy của mình trong danh sách:

Để đánh giá hiệu quả của dynamic scaling:



ℹ️ Thông tin: Trong ví dụ này, ASG đã xác định rằng cần ba instances để xử lý khối lượng request hiện tại, mở rộng quy mô đến maximum desired capacity (dung lượng mong muốn tối đa) mà chúng ta đã cấu hình.

💡 Mẹo chuyên nghiệp: Hãy chú ý cách đường màu xanh lá cây (đại diện cho instance ban đầu của bạn) giảm dần khi các instances mới (được đại diện bởi các màu khác) bắt đầu xử lý các phần của traffic. Điều này chứng minh việc load balancer đang phân phối các requests qua tất cả các instances khả dụng.
Dừng chương trình load testing để quan sát hành vi thu hẹp quy mô
Giám sát tab Activity của ASG khi các instances không cần thiết bị chấm dứt

⚠️ Cảnh báo: Các hành động scale-in thường có một khoảng thời gian chờ để ngăn chặn các dao động scaling liên tục. Điều này có nghĩa là việc chấm dứt các instances dư thừa có thể mất vài phút sau khi tải giảm.
ℹ️ Thông tin: Dynamic scaling phản hồi lại các metrics theo thời gian thực, khiến nó trở nên lý tưởng cho các workloads có traffic patterns không thể đoán trước. Tuy nhiên, có những lưu ý quan trọng sau:
🔒 Lưu ý về bảo mật: Khi triển khai dynamic scaling, hãy đảm bảo các security groups, IAM roles và network configurations của bạn được thiết lập đúng cách để duy trì trạng thái bảo mật trong suốt các sự kiện scaling.
Dynamic scaling cung cấp một cách hiệu quả để tự động điều chỉnh dung lượng dựa trên nhu cầu theo thời gian thực. Mặc dù nó mang lại những lợi thế đáng kể so với manual hoặc scheduled scaling cho các workloads không thể đoán trước, nhưng nó vẫn có những hạn chế cố hữu:
Đối với các workloads có patterns dễ đoán hơn hoặc những workloads yêu cầu phản hồi nhanh hơn với các điều kiện thay đổi, hãy cân nhắc triển khai predictive scaling, phần mà chúng ta sẽ khám phá trong phần tiếp theo.