Bài 9: Auto Scaling và Load Balancing

·

3 min read

Đối mặt với lưu lượng truy cập biến động, việc duy trì hiệu suất và độ sẵn sàng của ứng dụng là thách thức không nhỏ. AWS cung cấp hai công cụ mạnh mẽ: Auto Scaling và Elastic Load Balancing (ELB), cho phép bạn tự động điều chỉnh quy mô ứng dụng dựa trên nhu cầu thực tế và phân phối lưu lượng truy cập một cách hiệu quả. Bài viết này sẽ khám phá cách cấu hình Auto Scaling và ELB để tối ưu hóa hiệu suất và độ tin cậy của ứng dụng.

1. Auto Scaling Groups

Auto Scaling giúp bạn đảm bảo số lượng instances EC2 đủ để xử lý lưu lượng truy cập hiện tại, tự động tăng hoặc giảm quy mô theo cấu hình định trước.

Cách cấu hình:

  • Xác định Policies: Định nghĩa các policies dựa trên metric CloudWatch (ví dụ: CPU Utilization, số lượng yêu cầu mỗi giây) để kích hoạt việc mở rộng/quy mô lại.

  • Thiết lập Launch Template/Configuration: Xác định cấu hình instance (ví dụ: loại instance, AMI, EBS volumes, Security Groups) sẽ được sử dụng khi tạo instance mới.

  • Tạo Auto Scaling Group: Chỉ định số lượng instance tối thiểu và tối đa, cũng như các Availability Zones nơi bạn muốn chạy các instance.

2. Elastic Load Balancing (ELB)

ELB tự động phân phối lưu lượng truy cập đến và giữa các instances EC2, giúp tăng cường độ sẵn sàng và giảm điểm nghẽn.

Loại Load Balancer:

  • Application Load Balancer (ALB): Tối ưu cho các ứng dụng HTTP/HTTPS, hỗ trợ routing nâng cao và chức năng mục tiêu.

  • Network Load Balancer (NLB): Tối ưu cho hiệu suất cao và TCP, UDP, TLS trên cơ sở kết nối.

  • Classic Load Balancer (CLB): Một lựa chọn đơn giản cho các ứng dụng cần cân bằng tải TCP.

Cách cấu hình:

  • Chọn Loại Load Balancer: Tùy vào nhu cầu của ứng dụng để lựa chọn ALB, NLB hoặc CLB.

  • Tạo Load Balancer: Trong AWS Management Console, chọn "Create Load Balancer" và điền thông tin cần thiết như tên, VPC, và cấu hình listener.

  • Định cấu hình Security Settings và Health Checks: Cài đặt SSL/TLS (nếu cần) và cấu hình health checks để ELB có thể kiểm tra sức khỏe của các instances.

  • Đăng ký Instances hoặc Đặt Target Groups: Thêm các EC2 instances vào ELB hoặc thiết lập target groups cho ALB/NLB.

3. Best Practices

  • Giám Sát và Đánh Giá: Sử dụng CloudWatch để theo dõi hiệu suất của ELB và các instances trong Auto Scaling Group. Điều chỉnh cấu hình dựa trên dữ liệu giám sát.

  • Thử Nghiệm Tải: Thực hiện thử nghiệm tải để đảm bảo cấu hình Auto Scaling và ELB có thể đáp ứng được nhu cầu trong thực tế.