Hướng dẫn cấu hình Elastic Load Balancing trên AWS cho ứng dụng Web

Trong AWS có 02 loại cân bằng tải là ALB chạy ở lớp 7 (Application) và Network Load Balance chạy ở lớp 4 (định tuyến TCP/UDP và IP). Trong bài viết này hướng dẫn chi tiết cách cấu hình ALB để cân băng tải các ứng dụng trên web.

Các khái niệm

  • ARN: viết tắt của AWS Resource Name là quy ước cho một loại tài nguyên cụ thể trong AWS dùng cho các quản trị viên theo dõi, quản lý các mục và các chính sách liên quan trên các sản phẩm AWS và các lệnh gọi API.
  • VPC: là các interface mạng ảo trong AWS. Trong VPC, chúng ta có thể tạo ra các tài nguyên như EC2 và Load Balancer. Thông thường mỗi Availibility Zone sẽ gắn liền với một VPC mặc định, trong các VPC sẽ có sẵn một subnet và người dùng có thể tạo thêm các subnet khác theo nhu cầu.

Chi phí sử dụng

  • Theo số giờ sử dụng
  • Theo LCU: là đơn vị đo số traffic đến Load Balance như số lượng request, kết nối Active, lưu lượng byte xử lý, số lượng rule

Tham khảo: https://aws.amazon.com/elasticloadbalancing/pricing/

Mô hình triển khai

AWS - ELB Availability Zones + VPC best practices? - Stack Overflow

Chuẩn bị môi trường

AWS Elastic Load Balancing Concepts - NovaOrdis Knowledge Base

Subnet cho VPC:

  • Để đảm bảo cân bằng tải của bạn có thể mở rộng một cách hợp lý, xác định VPC có subnet tối thiểu /27 tương ứng với 30 địa chỉ IP.
  • Tối thiểu 02 VPC tại 02 AZ khác nhau để đảm bảo khả năng dự phòng của LB.
  • Một hoặc nhiều EC2 instance chạy HTTP Application qua cổng 80

Các bước cấu hình LB

1. Tạo ALB


						Define your load balancer
Tạo ALB

2. Lựa chọn Subnet và AZ tương ứng

How to route traffic to your Docker container in AWS ECS using an ...

3. Lựa chọn Security Group tương ứng

New – AWS Application Load Balancer | AWS News Blog

4. Chọn Listener (cụm server cluster trong ALB)

New – AWS Application Load Balancer | AWS News Blog

5. Chọn Target Group

New – Application Load Balancing via IP Address to AWS & On ...

Lưu ý sau khi chọn nhớ tích vào register instance

6. Giám sát các node trong cụm cluster

Trạng thái cluster trong Target Group

Trạng thái Healthy hoặc InService là trạng thái hoạt động tốt.

7. Truy cập vào ALB

Truy cập theo link ALB vừa tạo, traffic sẽ được route sang cụm cluster.

* Một số mạng DNS của AWS chưa được cập nhật nên sẽ phân giải ra các IP khác với IP thực tế của ALB. Trong các trường hợp này lưu ý kiểm tra lại DNS hoặc truy cập từ các mạng khác.

DNS của LB phân giải ra 2 địa chỉ khác nhau từ 02 client

* Trường hợp sử dụng tính năng path routing thêm rules và forward sang Target Group khác:

Tham khảo

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancer-tutorials.html

Leave a Reply

Your email address will not be published. Required fields are marked *