Cùng Sunny Cloud bắt đầu cuộc hành trình khám phá Elastic Load Balancing (ELB) – một dịch vụ quan trọng do Amazon Web Services (AWS) cung cấp. ELB đóng một vai trò quan trọng trong việc cân bằng tải và phân phối lượng truy cập đối với các máy chủ, đồng thời giúp tối ưu hóa hiệu suất và bảo đảm tính khả dụng của ứng dụng. Trong bài viết này, chúng tôi sẽ giới thiệu về ELB và tìm hiểu về các loại ELB khác nhau cùng với ưu điểm của mỗi loại.

Đặc điểm của Elastic Load Balancing

ELB, viết tắt của Elastic Load Balancing, là dịch vụ cân bằng tải do AWS cung cấp. Nhiệm vụ của nó là phân tán tải lên các máy chủ để đảm bảo tính khả dụng và hiệu suất của ứng dụng. Khi truy cập tập trung vào máy chủ thì ELB sẽ ngăn chặn các vấn đề như: tốc độ xử lý chậm, máy chủ ngừng hoạt động và page không thể hiển thị do lỗi. ELB thường được sử dụng với tính năng auto scaling (tự động mở rộng).

ELB hoạt động như một điểm kết nối duy nhất với tính năng auto scaling, khi nhu cầu truy cập thấp ELB sẽ giảm số lượng máy chủ đang hoạt động (scale in) và phân tán tải lên chúng, khi nhu cầu truy cập cao ELB có thể phân tán tải tới một số lượng lớn máy chủ mới (scale out) (horizontally scale). Nhờ vậy, có thể thực hiện đồng thời phân tán tải, tối ưu hiệu suất và chi phí.

Mô hình hoạt động của Elastic Load Balancer
Mô hình hoạt động của Elastic Load Balancer

Các loại Elastic Load Balancing

ELB hỗ trợ các loại cân bằng tải sau: Application Load Balancer (ALB), Network Load Balancer (NLB), và Classic Load Balancer (CLB). Mỗi loại có các đặc điểm riêng và được lựa chọn dựa trên mục đích sử dụng.

Application Load Balancer (ALB)

ALB, hay Application Load Balancer (Cân bằng tải ứng dụng), hoạt động ở lớp 7 (gọi là lớp Ứng dụng, nơi phát sinh các HTTP request và response) và phân tán tải cho HTTP và HTTPS traffic. Nó có khả năng xác định đường dẫn dựa trên URL và cho phép bạn routing truy cập đến các nhóm mục tiêu (target group) mà không cần phải tạo một ELB riêng cho từng ứng dụng. Ngoài ra, ALB cũng có tính năng giám sát ứng dụng và bảo mật.

Đặc điểm của ALB

  • Tương thích với lớp 7.
  • Phân tán tải cho HTTP/HTTPS request.
  • Có khả năng hạn chế truy cập thông qua security group.
  • Có khả năng routing request từ cùng một khách hàng đến cùng một máy chủ mục tiêu.

Network Load Balancer (NLB)

NLB viết tắt cho Network Load Balancer (Cân bằng tải mạng) là ELB lý tưởng ở môi trường cần hiệu suất cao. Nó có khả năng xử lý hàng triệu yêu cầu mỗi giây với độ trễ thấp và thích ứng với biến đổi trong traffic pattern. Vì vậy, NLB thích hợp cho các ứng dụng dự kiến nhận lượng truy cập lớn và có khả năng xử lý tải tăng đột ngột.

Đặc điểm của NLB

  • Tương thích với lớp 4.
  • Độ trễ thấp, throughput cao.
  • Có khả năng xử lý tải tăng đột ngột.
  • Địa chỉ IP nguồn và cổng của khách hàng được giữ n
  • guyên đến máy chủ mục tiêu.
  • Có thể sử dụng địa chỉ IP tĩnh và Elastic IP.

Classic Load Balancer (CLB)

CLB, hay Classic Load Balancer (Cân bằng tải truyền thống), hỗ trợ nhiều giao thức, bao gồm TCP, SSL/TLS, HTTP, và HTTPS. Nó là một loại ELB cũ và dành cho các ứng dụng trong mạng EC2 Classic. Tuy nhiên, hiện tại nó không được khuyến khích sử dụng vì không thể cấu hình cho những trường hợp phức tạp.

Tuy nhiên, việc sử dụng CLB không được khuyến nghị cho các trường hợp phức tạp.

Đặc điểm của CLB

  • Tương thích với lớp 4 và lớp 7.
  • Dành cho các ứng dụng trong EC2-Classic network.
  • Có khả năng tương thích ngược (phiên bản mới có thể làm việc với phiên bản cũ).

Sự khác biệt giữa ALB và NLB

Yếu TốALB (Application Load Balancer)NLB (Network Load Balancer)
LớpLớp 7 (Lớp ứng dụng)Lớp 4 (Lớp transport)
Giao Thức Hỗ TrợHTTP, HTTPSTCP, UDP, TCP_UDP, TLS
Cổng NguồnCổng của ALBCó thể giữ nguyên
Địa chỉ IP Máy Chủ ELBKhông thể chỉ địnhCó thể chỉ định
Nhóm Bảo MậtCó thể cấu hìnhKhông thể cấu hình

Những điểm khác biệt quan trọng được nêu trên giúp bạn hiểu rõ sự khác biệt giữa ALB và NLB. Bằng việc nhận biết được những đặc điểm này, bạn có thể tận hưởng và tận dụng lợi ích của từng loại cân bằng tải phù hợp với nhu cầu của bạn. Điều này rất quan trọng, vì việc xem nhẹ sự khác biệt giữa chúng có thể dẫn đến thiếu sót trong quá trình thiết kế và triển khai hệ thống của bạn.

Tham khảo: 【初心者向け】ELBとは