Trình cân bằng tải ứng dụng

Cân bằng tải lưu lượng truy cập HTTP và HTTPS với khả năng định tuyến yêu cầu nâng cao nhắm đến quá trình phân phối các ứng dụng hiện đại.

Trình cân bằng tải ứng dụng hoạt động ở cấp độ yêu cầu (lớp 7), định tuyến lưu lượng truy cập đến các đích (các phiên bản EC2, bộ chứa, địa chỉ IP và hàm Lambda) dựa trên nội dung yêu cầu. Là lựa chọn lý tưởng để cân bằng tải nâng cao cho lưu lượng truy cập HTTP và HTTPS, Trình cân bằng tải ứng dụng mang đến khả năng định tuyến yêu cầu nâng cao nhắm đến quá trình phân phối các kiến trúc ứng dụng hiện đại, bao gồm các vi dịch vụ và các ứng dụng dựa trên bộ chứa. Trình cân bằng tải ứng dụng giúp đơn giản hóa và cải thiện khả năng bảo mật của ứng dụng bằng cách đảm bảo luôn sử dụng các thuật toán mã hóa và giao thức SSL/TLS mới nhất.

Tính năng

Hỗ trợ TLS chung
TLS chung là một giao thức để xác thực hai chiều giữa máy khách và máy chủ sử dụng danh tính dựa trên chứng chỉ x509. Với tính năng này, ALB sẽ xác thực chứng chỉ máy khách và thực hiện kiểm tra thu hồi đối với chứng chỉ được phát hành bởi cả Nhà cung cấp chứng chỉ (CA) của bên thứ ba hoặc Nhà cung cấp chứng chỉ riêng (ACM PCA). Bộ cân bằng tải cũng sẽ ủy quyền thông tin chứng chỉ máy khách đến các đích, thông tin này có thể được sử dụng cho các quyết định cấp phép của ứng dụng. 

Trọng số đích tự động
Trọng số đích tự động (ATW) sử dụng thuật toán cân bằng tải ngẫu nhiên có trọng số mới giúp cải thiện độ sẵn sàng của các ứng dụng ngay cả khi đích của ứng dụng bị hư hỏng. Thuật toán này phân tích mã trạng thái HTTP và tỷ lệ lỗi TCP/TLS để xác định các đích có tỷ lệ lỗi cao hơn so với các đích khác trong cùng một nhóm đích. Khi ATW xác định các đích hoạt động kém hiệu quả, tính năng này sẽ điều chỉnh khối lượng lưu lượng truy cập hướng đến từng đích dựa trên hiệu năng, giúp đích bị quá tải phục hồi thành công.

Cân bằng tải lớp 7
Bạn có thể cân bằng tải lưu lượng truy cập HTTP/HTTPS đến các đích – các phiên bản Amazon EC2, vi dịch vụ và bộ chứa dựa trên thuộc tính yêu cầu (chẳng hạn như tiêu đề X-Forwarded-For).

Tính năng bảo mật
Khi sử dụng Đám mây riêng ảo (VPC) của Amazon, bạn có thể tạo và quản lý các nhóm bảo mật liên kết với Cân bằng tải linh hoạt để cung cấp các tùy chọn kết nối mạng và bảo mật bổ sung. Bạn cũng có thể cấu hình Trình cân bằng tải ứng dụng kết nối với Internet hoặc tạo một bộ cân bằng tải không dùng địa chỉ IP công khai đóng vai trò như một bộ cân bằng tải nội bộ (không kết nối với Internet).

ALB hỗ trợ triển khai bảo vệ khỏi Desync dựa trên thư viện http_desync_guardian. Với tính năng mới này, các ứng dụng của khách hàng được bảo vệ khỏi các lỗ hổng HTTP do Desync mà không ảnh hưởng lớn đến độ sẵn sàng và/hoặc độ trễ. Khách hàng cũng có khả năng chọn mức độ dung sai đối với các yêu cầu đáng ngờ dựa trên kiến trúc ứng dụng của họ.

Hỗ trợ Outposts
Trình cân bằng tải ứng dụng (ALB) hỗ trợ AWS Outposts, một dịch vụ được quản lý toàn phần giúp mở rộng cơ sở hạ tầng, dịch vụ và công cụ của AWS cho hầu hết mọi trung tâm dữ liệu, không gian chung hoặc cơ sở tại chỗ để có trải nghiệm kết hợp nhất quán. Khách hàng có thể cung cấp ALB trên các loại phiên bản được hỗ trợ và ALB sẽ tự động tăng quy mô theo tài nguyên tương ứng với dung lượng có sẵn trên tủ mạng để đáp ứng các mức tải ứng dụng khác nhau mà không cần can thiệp thủ công. Khách hàng cũng có thể nhận thông báo để giúp họ điều hướng nhu cầu dung lượng liên quan đến cân bằng tải. Khách hàng có thể sử dụng cùng một Bảng điều khiển AWS, API và CLI để cung cấp và quản lý ALB trên Outposts tương tự như cách làm hiện nay với các ALB trong Khu vực.

Hỗ trợ HTTPS
Cân bằng tải ứng dụng hỗ trợ kết thúc HTTPS giữa các máy khách và bộ cân bằng tải. Trình cân bằng tải ứng dụng còn cho phép quản lý các chứng chỉ SSL thông qua Quản lý danh tính và truy cập trong AWS (IAM) và Trình quản lý chứng chỉ của AWS đối với các chính sách bảo mật xác định trước.

Hỗ trợ HTTP/2 và gRPC
HTTP/2 là phiên bản mới của Giao thức truyền siêu văn bản (HTTP) sử dụng một kết nối ghép duy nhất để cho phép gửi nhiều yêu cầu trên một kết nối. Phiên bản này cũng nén dữ liệu tiêu đề trước khi gửi đi ở định dạng nhị phân và hỗ trợ kết nối SSL với các máy khách.

ALB có thể định tuyến và cân bằng tải lưu lượng truy cập gRPC giữa các vi dịch vụ hoặc giữa các máy khách và dịch vụ hỗ trợ gRPC. Điều này cho phép đưa khả năng quản lý lưu lượng truy cập gRPC vào trong các kiến trúc một cách liền mạch mà không thay đổi bất kỳ cơ sở hạ tầng cơ bản nào trên máy khách hoặc dịch vụ của khách hàng. gRPC sử dụng HTTP/2 để truyền tải và đang trở thành giao thức tốt nhất để giao tiếp giữa các dịch vụ trong kiến trúc vi dịch vụ. Nó có các tính năng như lập chuỗi nhị phân hiệu quả và hỗ trợ nhiều ngôn ngữ bên cạnh những lợi ích vốn có của HTTP/2 như dấu vết mạng nhẹ hơn, khả năng nén và truyền phát hai chiều, khiến giao thức này tốt hơn các giao thức cũ như REST.

Giảm tải TLS
Bạn có thể tạo một trình xử lý sự kiện HTTPS sử dụng các kết nối được mã hóa (còn được gọi là giảm tải SSL). Tính năng này cho phép mã hóa lưu lượng truy cập giữa bộ cân bằng tải của bạn và các máy khách khi khởi tạo phiên SSL hoặc TLS. Trình cân bằng tải ứng dụng hỗ trợ chấm dứt phiên TLS của máy khách. Điều này giúp bạn giảm tải các tác vụ chấm dứt TLS nhờ bộ cân bằng tải, đồng thời giữ nguyên địa chỉ IP nguồn cho các ứng dụng back-end của bạn. Bạn có thể chọn từ các chính sách bảo mật định sẵn cho trình xử lý sự kiện TLS của mình để đáp ứng các tiêu chuẩn tuân thủ và bảo mật. Trình quản lý chứng chỉ của AWS (ACM) hoặc Quản lý danh tính và truy cập (IAM) trong AWS có thể được sử dụng để quản lý chứng chỉ máy chủ của bạn.

Bạn có thể sử dụng SNI để phục vụ nhiều trang web an toàn bằng cách sử dụng một trình xử lý sự kiện TLS duy nhất. Nếu tên máy chủ trong máy khách khớp với nhiều chứng chỉ, bộ cân bằng tải sẽ chọn chứng chỉ tốt nhất để sử dụng dựa trên thuật toán lựa chọn thông minh.

Phiên dính
Các phiên dính đóng vai trò là cơ chế định tuyến các yêu cầu từ cùng một máy khách đến cùng một đích. Trình cân bằng tải ứng dụng hỗ trợ cả cookie dựa trên thời lượng và cookie dựa trên ứng dụng. Mấu chốt để quản lý các phiên dính là xác định xem bộ cân bằng tải của bạn cần định tuyến liên tục yêu cầu của người dùng đến cùng một đích trong bao lâu. Các phiên dính được kích hoạt ở cấp độ nhóm đích. Bạn có thể sử dụng kết hợp độ kết dính dựa trên thời lượng, độ kết dính dựa trên ứng dụng và không dính trên tất cả các nhóm đích của bạn.

Hỗ trợ IPv6 gốc
Trình cân bằng tải ứng dụng hỗ trợ Giao thức Internet phiên bản 6 (IPv6) gốc trong một VPC. Điều này cho phép khách hàng kết nối với Trình cân bằng tải ứng dụng thông qua IPv4 hoặc IPv6.

Theo dõi yêu cầu
Trình cân bằng tải ứng dụng nạp một tiêu đề HTTP “X-Amzn-Trace-Id” của mã định danh tùy chỉnh mới lên tất cả các yêu cầu đi vào bộ cân bằng tải. Tính năng theo dõi yêu cầu cho phép bạn theo dõi yêu cầu theo ID duy nhất khi yêu cầu đi qua nhiều dịch vụ khác nhau tạo nên phần lớn lưu lượng truy cập cho các trang web và các ứng dụng phân tán của bạn. Bạn có thể sử dụng mã định danh theo dõi duy nhất để khám phá mọi vấn đề về hiệu suất hoạt động hoặc thời gian trong ngăn xếp ứng dụng với độ chi tiết ở từng yêu cầu riêng lẻ.

Chuyển hướng
Cân bằng tải ứng dụng có thể chuyển hướng một yêu cầu đến từ một URL sang một URL khác. Điều này bao gồm khả năng chuyển hướng các yêu cầu HTTP sang các yêu cầu HTTPS, cho phép bạn đáp ứng mục tiêu tuân thủ của duyệt web an toàn, đồng thời vẫn có thể đạt được xếp hạng tìm kiếm và điểm SSL/TLS tốt hơn cho trang của bạn. Bạn cũng có thể sử dụng các thao tác chuyển hướng để chuyển người dùng đến một trang web khác; ví dụ: chuyển hướng từ một phiên bản ứng dụng cũ sang phiên bản mới.

Phản hồi cố định
Cân bằng tải ứng dụng có thể kiểm soát các ứng dụng của bạn sẽ phục vụ các yêu cầu máy khách nào. Điều này cho phép bạn phản hồi với các yêu cầu đến có mã phản hồi lỗi HTTP và tùy chỉnh các thông báo lỗi từ chính bộ cân bằng tải mà không chuyển tiếp yêu cầu đến ứng dụng.

Hỗ trợ WebSockets
WebSockets cho phép máy chủ trao đổi thông điệp trong thời gian thực với người dùng cuối, trong đó người dùng cuối không cần phải yêu cầu (thăm dò) bản cập nhật từ máy chủ. Giao thức WebSockets cung cấp các kênh giao tiếp hai chiều giữa máy khách và máy chủ trên một kết nối TCP lâu dài.

Chỉ định tên máy chủ (SNI)
Chỉ định tên máy chủ (SNI) là phần mở rộng cho giao thức TLS mà máy khách sử dụng để chỉ định tên máy chủ sẽ kết nối khi bắt đầu thiết lập TLS. Bộ cân bằng tải có thể trình diện nhiều chứng chỉ qua cùng một trình nghe bảo mật, cho phép hỗ trợ nhiều trang web bảo mật bằng một trình nghe bảo mật duy nhất. Cân bằng tải ứng dụng còn hỗ trợ một thuật toán chọn chứng chỉ thông minh với SNI. Tên máy chủ do một máy khách chỉ định khớp với nhiều chứng chỉ, bộ cân bằng tải quyết định chứng chỉ tốt nhất sẽ sử dụng dựa trên nhiều yếu tố, trong đó có các chức năng của máy khách.

Địa chỉ IP dưới dạng đích
Bạn có thể cân bằng tải cho bất kỳ ứng dụng nào được lưu trữ trên AWS hoặc tại chỗ thông qua địa chỉ IP của lớp backend của ứng dụng đóng vai trò là đích. Tính năng này cho phép cân bằng tải cho lớp backend của ứng dụng được lưu trữ trên địa chỉ IP và giao diện bất kỳ trên một phiên bản. Mỗi ứng dụng được lưu trữ trên cùng một phiên bản có thể được liên kết với một nhóm bảo mật và sử dụng chung cổng. Bạn cũng có thể sử dụng địa chỉ IP dưới dạng đích để cân bằng tải cho các ứng dụng được lưu trữ tại các địa điểm tại chỗ (qua kết nối Direct Connect hoặc VPN), các VPC ngang hàng và EC2-Classic (sử dụng ClassicLink). Khả năng cân bằng tải trên nhiều tài nguyên AWS và tài nguyên tại chỗ giúp bạn di chuyển lên đám mây, di chuyển nhanh chóng lên đám mây hay chuyển đổi dự phòng lên đám mây.

Hàm Lambda dưới dạng đích
Trình cân bằng tải ứng dụng hỗ trợ gọi các hàm Lambda để phục vụ các yêu cầu HTTP(S) giúp người dùng truy cập vào ứng dụng phi máy chủ từ bất kỳ máy khách HTTP nào, kể cả trình duyệt web. Bạn có thể đăng ký dùng các hàm Lambda làm đích của bộ cân bằng tải và tận dụng sự hỗ trợ cho các quy tắc định tuyến dựa trên nội dung để định tuyến yêu cầu tới các hàm Lambda khác nhau. Bạn có thể sử dụng Trình cân bằng tải ứng dụng làm điểm cuối HTTP chung cho các ứng dụng dùng máy chủ và điện toán phi máy chủ. Bạn có thể tạo một trang web hoàn chỉnh bằng cách sử dụng các hàm Lambda hoặc kết hợp các phiên bản EC2, bộ chứa, máy chủ tại chỗ và hàm Lambda để xây dựng ứng dụng.

Định tuyến dựa trên nội dung
Nếu ứng dụng của bạn bao gồm một số dịch vụ riêng lẻ, Trình cân bằng tải ứng dụng có thể định tuyến yêu cầu đến một dịch vụ dựa trên nội dung của yêu cầu, chẳng hạn như trường Máy chủ, đường dẫn URL, tiêu đề HTTP, phương thức HTTP, chuỗi truy vấn hoặc địa chỉ IP nguồn.

Định tuyến dựa trên máy chủ: Bạn có thể định tuyến yêu cầu của máy khách dựa trên trường Máy chủ của tiêu đề HTTP cho phép bạn định tuyến đến nhiều miền từ cùng một bộ cân bằng tải.

Định tuyến dựa trên đường dẫn: Bạn có thể định tuyến yêu cầu của máy khách dựa trên đường dẫn URL của tiêu đề HTTP.

Định tuyến dựa trên tiêu đề HTTP: Bạn có thể định tuyến yêu cầu của máy khách dựa trên giá trị của bất kỳ tiêu đề HTTP tiêu chuẩn hoặc tùy chỉnh nào.

Định tuyến dựa trên phương thức HTTP: Bạn có thể định tuyến yêu cầu của máy khách dựa trên bất kỳ phương thức HTTP tiêu chuẩn hoặc tùy chỉnh nào.

Định tuyến dựa trên tham số chuỗi truy vấn: Bạn có thể định tuyến yêu cầu của máy khách dựa trên chuỗi truy vấn hoặc tham số truy vấn.

Định tuyến dựa trên CIDR địa chỉ IP nguồn: Bạn có thể định tuyến yêu cầu của máy khách dựa trên CIDR địa chỉ IP nguồn từ nguồn đưa ra yêu cầu.

Hỗ trợ ứng dụng bộ chứa hóa
Trình cân bằng tải ứng dụng cung cấp hỗ trợ bộ chứa nâng cao thông qua việc cân bằng tải trên nhiều cổng trong một phiên bản Amazon EC2 duy nhất. Khả năng tích hợp sâu bằng Dịch vụ bộ chứa linh hoạt của Amazon (ECS) cung cấp một dịch vụ bộ chứa được quản lý toàn phần. ECS cho phép bạn chỉ định một cổng linh hoạt trong định nghĩa tác vụ ECS, cung cấp cho bộ chứa một cổng chưa sử dụng khi bộ chứa đó được lên lịch trên phiên bản EC2. Trình lập lịch ECS tự động thêm tác vụ vào bộ cân bằng tải sử dụng cổng này.

Tường lửa dành cho ứng dụng web
Giờ đây bạn có thể sử dụng AWS WAF để bảo vệ các ứng dụng web trên các bộ Cân bằng tải ứng dụng. AWS WAF là dịch vụ tường lửa ứng dụng web giúp bảo vệ ứng dụng web của bạn khỏi các hình thức khai thác web phổ biến có thể ảnh hưởng đến mức độ sẵn sàng của ứng dụng, gây tổn hại đến bảo mật hoặc tiêu tốn tài nguyên quá mức.

Chế độ bắt đầu chậm với thuật toán cân bằng tải
Trình cân bằng tải ứng dụng hỗ trợ một thuật toán cân bằng tải luân chuyển vòng. Ngoài ra, Trình cân bằng tải ứng dụng còn hỗ trợ chế độ bắt đầu chậm với thuật toán luân chuẩn vòng, cho phép bạn thêm các đích mới mà không làm quá tải các đích bởi hàng loạt yêu cầu. Với chế độ bắt đầu chậm, các đích khởi động dần trước khi nhận một lượng chia sẻ yêu cầu hợp lý dựa trên thời gian khởi động mà bạn chỉ định. Bắt đầu chậm rất hữu ích cho các ứng dụng phụ thuộc vào bộ nhớ đệm và cần thời gian khởi động trước khi có thể đáp ứng với các yêu cầu ở hiệu suất hoạt động tối ưu.

Xác thực người dùng
Bạn có thể giảm tải cho chức năng xác thực từ các ứng dụng sang Cân bằng tải ứng dụng. Cân bằng tải ứng dụng sẽ xác thực người dùng một cách bảo mật khi người dùng truy cập vào các ứng dụng đám mây. Cân bằng tải ứng dụng được tích hợp liền mạch với Amazon Cognito, cho phép người dùng cuối xác thực thông qua các nhà cung cấp định danh mạng xã hội như Google, Facebook và Amazon, cũng như thông qua các nhà cung cấp định danh doanh nghiệp như Microsoft Active Directory qua SAML hay bất cứ nhà cung cấp định danh (IdP) nào tương thích với OpenID Connect. Nếu bạn đã có giải pháp IdP tùy chỉnh tương thích với OpenID Connect, Trình cân bằng tải ứng dụng cũng có thể xác thực người dùng doanh nghiệp thông qua kết nối trực tiếp với nhà cung cấp định danh của bạn.

Tìm hiểu thêm về Cân bằng tải linh hoạt

Truy cập trang tính năng.

Tìm hiểu thêm 
Đăng ký tài khoản miễn phí

Nhận ngay quyền sử dụng Bậc miễn phí của AWS. 

Đăng ký 
Bắt đầu xây dựng trong bảng điều khiển

Bắt đầu với Elastic Load Balancing trong Bảng điều khiển AWS.

Đăng nhập