ℹ️ Thông tin: Auto Scaling Groups tự động điều chỉnh dung lượng tính toán của ứng dụng dựa trên nhu cầu, đảm bảo hiệu suất tối ưu trong khi vẫn kiểm soát được chi phí. Trong phần này, chúng ta sẽ cấu hình một Auto Scaling Group để quản lý động các EC2 instances của chúng ta phía sau Application Load Balancer.
⚠️ Cảnh báo: Quá trình kiểm tra của chúng ta cho thấy sự bất ổn định về hiệu suất khi ứng dụng nhận được khối lượng traffic cao. Mặc dù việc thêm thủ công các EC2 instances và phân phối traffic bằng một Load Balancer có thể giúp ích, nhưng cách tiếp cận này không thực tế vì một số lý do:
Auto Scaling giải quyết những thách thức này bằng cách tự động điều chỉnh dung lượng dựa trên các chính sách đã được xác định.
Điều hướng đến giao diện tạo Auto Scaling Group:

Trong trình hướng dẫn tạo Auto Scaling group:
fcaj-asg
ℹ️ Thông tin: Launch template chứa tất cả các chi tiết cấu hình cần thiết để khởi chạy instances, bao gồm AMI, instance type, key pair, security groups, và user data scripts.

⚠️ Cảnh báo: Tên ASG phải khớp với tên được chỉ định trong phần 2.6 cho cấu hình Predictive Scaling. Launch template phải bao gồm tất cả các thành phần bắt buộc (MySQL Client, Node.js, application source code, và PM2) để instance hoạt động bình thường.
Trong phần cấu hình mạng:

💡 Mẹo chuyên nghiệp: Phân phối các instances trên nhiều Availability Zones giúp cải thiện độ tin cậy của ứng dụng. Nếu một AZ gặp sự cố, các instances ở các AZs khác vẫn tiếp tục phục vụ traffic.
Kết nối Auto Scaling Group của bạn với load balancer đã tạo trước đó:

ℹ️ Thông tin: Khi được cấu hình đúng, menu thả xuống sẽ hiển thị target group hiện có của bạn, xác nhận rằng cả Application Load Balancer và Target Group đều được thiết lập chính xác.

ℹ️ Thông tin: Chúng ta sẽ hoãn việc cấu hình scaling policy vì chúng ta sẽ triển khai và so sánh nhiều chiến lược scaling khác nhau trong các phần tiếp theo.



Thiết lập các thông báo Amazon SNS để giám sát các sự kiện Auto Scaling:
Nhấp vào Add notification 
Nhấp vào Create a topic

Cấu hình Notification configuration:
asg-topicNhấp vào Next

Nhấp vào Next

Xem lại cấu hình của bạn và nhấp vào Create Auto Scaling group.

🔒 Lưu ý về bảo mật: Các thông báo cung cấp nhận thức theo thời gian thực về các sự kiện scaling, giúp bạn giám sát các hành vi không mong muốn có thể chỉ ra các vấn đề bảo mật hoặc sự cố ứng dụng.
Sau khi tạo, bạn sẽ nhận được email xác nhận. Nhấp vào Confirm subscription. Sau đó, bạn sẽ thấy một thông báo xác nhận.

Chọn Auto Scaling Group của bạn. Điều hướng đến tab Activity để xem các sự kiện scaling

⚠️ Cảnh báo: Khi chúng ta triển khai các chiến lược scaling khác nhau trong các phần tiếp theo, bạn có thể nhận được nhiều email thông báo. Điều này là có chủ ý để giúp bạn giám sát các hoạt động scaling.
💡 Mẹo chuyên nghiệp: Auto Scaling Groups hoạt động tốt nhất khi được kết hợp với CloudWatch alarms để kích hoạt các hành động scaling dựa trên các số liệu (metrics) như CPU utilization, network traffic, hoặc các custom application metrics (số liệu ứng dụng tùy chỉnh). Chúng ta sẽ khám phá các tùy chọn này trong các phần sắp tới.