Trong bài đọc này, bạn sẽ tìm hiểu về bộ cân bằng tải và tầm quan trọng của chúng trong điện toán đám mây. Bạn sẽ làm quen với các thành phần cân bằng tải và lợi ích của việc sử dụng bộ cân bằng tải.
Các chuyên gia Hỗ trợ CNTT quản lý môi trường đám mây và/hoặc máy chủ vật lý trong mạng doanh nghiệp có thể sẽ cần đặt cấu hình, quản lý hoặc khắc phục sự cố cho bộ cân bằng tải. Bộ cân bằng tải giám sát và định tuyến lưu lượng truy cập mạng đến và đi từ nhóm máy chủ vật lý hoặc ảo. Bộ cân bằng tải có thể là phần cứng (ví dụ: bộ định tuyến cân bằng tải) hoặc phần mềm (ví dụ: Nền tảng ảo Citrix ADC). Bộ cân bằng tải phân phối lưu lượng đồng đều hoặc theo quy tắc tùy chỉnh trên nhiều máy chủ. Chức năng này tối đa hóa hiệu suất của máy chủ và ngăn luồng lưu lượng truy cập áp đảo bất kỳ máy chủ nào và tài nguyên của nó. Tài nguyên máy chủ cơ bản thường bao gồm CPU, RAM và băng thông mạng. Máy chủ cũng có thể cung cấp các tài nguyên khác, như ứng dụng, máy chủ tệp, dịch vụ cơ sở dữ liệu, v.v.
Bộ cân bằng tải cũng có thể phát hiện khi máy chủ bị lỗi và có thể định tuyến lại cũng như cân bằng lưu lượng mạng trên các máy chủ còn lại. Chức năng tin cậy và liên tục trong kinh doanh quan trọng này thường được gọi là tính sẵn sàng cao. Ngoài ra, bộ cân bằng tải còn cung cấp cho các chuyên gia Hỗ trợ CNTT khả năng thêm và xóa máy chủ khỏi nhóm khi cần.
Bảng thuật ngữ ngắn sau đây bao gồm một số thuật ngữ phổ biến cho một số khái niệm liên quan đến cân bằng tải:
Client: Một máy tính hoặc chương trình gửi yêu cầu đến máy chủ. Ví dụ: ứng dụng khách có thể là trình duyệt yêu cầu trang web từ máy chủ web. Nó cũng có thể là một máy trạm yêu cầu một tập tin từ một máy chủ tập tin.
Host/node: Máy chủ vật lý hoặc ảo nhận lưu lượng truy cập mạng từ Bộ điều khiển phân phối ứng dụng (ADC). Máy chủ được xác định bởi địa chỉ IP của nó. Việc máy chủ được gọi là “máy chủ” hay “nút” tùy thuộc vào thuật ngữ được nhà cung cấp giải pháp cân bằng tải sử dụng.
Member: Máy chủ/nút nhận lưu lượng truy cập mạng trên một cổng TCP được chỉ định. Máy chủ/nút được xác định bằng địa chỉ IP của nó cộng với cổng TCP của ứng dụng sẽ nhận lưu lượng truy cập mạng.
Pool/cluster/farm: Một nhóm các máy chủ/nút hoặc thành viên cung cấp các dịch vụ tương tự, chẳng hạn như ứng dụng hoặc dịch vụ web.
Application Delivery Controllers (ADC): Các thiết bị vật lý, thiết bị ảo hoặc phần mềm cung cấp dịch vụ cân bằng tải bằng cách quản lý lưu lượng giữa các máy khách và máy chủ/nút hoặc nhóm thành viên. ADC cũng có thể cung cấp các dịch vụ quan trọng khác như bảo mật và mã hóa.
Path-based routing: Định tuyến lưu lượng truy cập mạng dựa trên đường dẫn URL.
Listener: Một quy trình phần mềm kiểm tra lưu lượng truy cập mạng để tìm các yêu cầu của khách hàng và chuyển tiếp chúng đến các nhóm mục tiêu.
Open Systems Interconnection (OSI) model: Mô hình mô tả bảy lớp truyền thông dữ liệu máy tính: 7 ứng dụng, 6 trình bày, 5 phiên, 4 truyền tải, 3 mạng, 2 dữ liệu và 1 vật lý.
Front end: Trong môi trường cân bằng tải, giao diện người dùng có thể bao gồm hệ thống ADC và bất kỳ máy chủ ảo nào đóng vai trò là proxy để liên lạc với máy khách với hệ thống ADC và các máy chủ phía sau.
Back end: Trong môi trường cân bằng tải, phần phía sau thường bao gồm các hệ thống nhóm/cụm/trang trại. Phần cuối cũng có thể bao gồm các hệ thống lưu trữ đĩa.
Distributed applications: Phần mềm được lưu trữ trên nền tảng đám mây hoặc máy chủ vật lý có thể chạy trên nhiều máy tính nối mạng cùng một lúc.
Containerization: Môi trường thời gian chạy biệt lập có thể triển khai và chạy các ứng dụng phân tán thông qua ảo hóa ứng dụng. Phương pháp này nhanh hơn và có khả năng mở rộng cao hơn các giải pháp cân bằng tải cũ.
Availability Zones (AZs): Các trung tâm dữ liệu khu vực lưu trữ nền tảng đám mây và được định cấu hình để có tính sẵn sàng cao.
Elastic Load Balancer (ELB): Cho phép sử dụng nhiều Vùng sẵn sàng.
SSL/TLS: Các giao thức mạng để liên lạc được mã hóa.
Các bước sau đây là ví dụ về một cấu hình cân bằng tải có thể sử dụng giải pháp ADC:
[Mũi tên xanh] Máy khách gửi kết nối và yêu cầu thông tin đến dịch vụ ADC.
[Mũi tên xanh] Trình nghe ADC phát hiện và chấp nhận kết nối. Sau đó, dịch vụ cân bằng tải ADC sẽ phân tích đường dẫn định tuyến máy chủ (hoặc thành viên) tốt nhất cho yêu cầu của máy khách. ADC thay đổi IP đích thành địa chỉ (và có thể cả cổng TCP) của máy chủ (hoặc thành viên) đã chọn.
[Mũi tên xanh] Máy chủ hoặc thành viên phê duyệt kết nối máy khách và định tuyến phản hồi đến máy khách thông qua ADC.
[Mũi tên cam] ADC thay đổi IP nguồn (và cổng TCP, nếu có) thành IP (và cổng) máy chủ ảo trước khi chuyển tiếp phản hồi đến máy khách. Máy khách sẽ tiếp tục sử dụng địa chỉ IP của máy chủ ảo để liên lạc thêm.
Application Load Balancer: Hoạt động ở lớp ứng dụng (HTTP và HTTPS) của mô hình OSI. Bộ cân bằng tải ứng dụng cũng quét lưu lượng truy cập để tìm lỗi HTTP và lỗi mã hóa, đồng thời bảo vệ ứng dụng khỏi các cuộc tấn công từ chối dịch vụ (DDoS) phân tán.
Network Load Balancer: Hoạt động ở lớp vận chuyển (TCP/UDP) của mô hình OSI. Bộ cân bằng tải mạng có thể định tuyến hàng triệu yêu cầu của khách hàng mỗi giây và xử lý khối lượng công việc không ổn định. Bộ cân bằng tải mạng cũng hỗ trợ địa chỉ IP tĩnh và bộ chứa, cùng với các dịch vụ khác.
Classic Load Balancer: Có thể hoạt động ở lớp ứng dụng (HTTP/HTTPS) hoặc lớp vận chuyển (TCP/SSL). Cân bằng tải cổ điển sử dụng các cổng cố định để liên lạc.
Gateway Load Balancers: Hoạt động ở lớp mạng (IP) của mô hình OSI. Bộ cân bằng tải cổng có trình nghe trên tất cả các cổng quét mọi gói IP trong lưu lượng mạng và định tuyến từng yêu cầu đến nhóm mục tiêu, như được xác định bởi cấu hình trình nghe. Bộ cân bằng tải cổng là điểm vào và ra duy nhất cho lưu lượng mạng.
Trong môi trường đám mây, cân bằng tải trên các máy chủ ảo được định cấu hình thông qua nền tảng đám mây. Một số tùy chọn cân bằng tải được cung cấp bởi một số nền tảng đám mây hàng đầu bao gồm:
Google Cloud: Google cung cấp nhiều tùy chọn cho bộ cân bằng tải, chẳng hạn như cân bằng tải cấp ứng dụng và mạng, cân bằng tải do phần mềm xác định, chuyển đổi dự phòng nhiều vùng và tự động thay đổi quy mô liền mạch. Google Cloud cũng cung cấp tính năng cân bằng tải bên ngoài, nội bộ, toàn cầu và khu vực. Đối với các biện pháp bảo mật, bộ cân bằng tải được tích hợp với Google Cloud Armor, giúp bảo vệ chống lại các cuộc tấn công từ chối dịch vụ (DDoS) phân tán.
Amazon Web Services (AWS): AWS cung cấp ba giải pháp ELB: Cân bằng tải ứng dụng, Cân bằng tải cổng và Cân bằng tải mạng. AWS ELB cung cấp bảo mật thông qua xác thực người dùng, quản lý chứng chỉ và giải mã SSL/TLS.
Microsoft Azure: Hoạt động ở lớp vận chuyển của mô hình OSI. Bộ cân bằng tải Azure là điểm giao diện người dùng duy nhất chấp nhận yêu cầu của khách hàng để định tuyến đến nhóm máy chủ phía sau. Nhóm phụ trợ có thể bao gồm Máy ảo Azure (VM) hoặc các phiên bản đang chạy trong Bộ quy mô máy ảo Azure. Azure cung cấp bộ cân bằng tải công khai cho lưu lượng truy cập internet và bộ cân bằng tải riêng tư/nội bộ cho các mạng ảo riêng tư. Bộ cân bằng tải tiêu chuẩn của Azure sử dụng mô hình bảo mật không tin cậy.
Trong môi trường vật lý, chẳng hạn như phòng máy chủ và trung tâm dữ liệu, cân bằng tải có thể được cấu hình trên nhiều máy chủ có hệ điều hành như VMware. Tải lưu lượng mạng cũng có thể được cấu hình cho các môi trường nhỏ hơn trên hai máy chủ trong cụm hoạt động vật lý. Trong các cụm hoạt động tích cực, cả hai máy chủ đều tích cực xử lý lưu lượng mạng đồng thời.