Azure Application Gateway là gì?

by | Microsoft Kiến Thức, Security

Azure Application Gateway là một công cụ cân bằng tải lưu lượng/web traffic load balancer truy cập web cho phép bạn quản lý lưu lượng truy cập vào các ứng dụng web của mình. Các bộ cân bằng tải truyền thống hoạt động ở lớp transport (OSI lớp 4 – OSI layer 4 – TCP & UDP) và định tuyến lưu lượng dựa trên địa chỉ IP source và port, đến IP destination và port.

Application Gateway có thể đưa ra quyết định định tuyến dựa trên các thuộc tính bổ sung của một HTTP request, ví dụ: đường dẫn URI hoặc host headers. Ví dụ: bạn có thể định tuyến lưu lượng truy cập dựa trên URL đến. Vì vậy, nếu /image nằm trong URL đến, bạn có thể định tuyến lưu lượng truy cập đến một tập hợp máy chủ cụ thể (được gọi là pool) được định cấu hình cho image. Nếu /video có trong URL, lưu lượng truy cập đó sẽ được chuyển đến một pool khác được tối ưu hóa cho video.

Azure Application Gateway là gì?

Loại định tuyến này được gọi là cân bằng tải lớp application (OSI layer 7). Azure Application Gateway có thể thực hiện định tuyến dựa trên URL và nhiều hơn thế nữa.

Các tính năng

Secure Sockets Layer (SSL/TLS) termination

Application gateway hỗ trợ SSL / TLS tại gateway, sau đó lưu lượng truy cập thường không được mã hóa đến các backend server. Tính năng này cho phép các máy chủ web không phải chịu gánh nặng về chi phí mã hóa và giải mã tốn kém. Nhưng đôi khi các giao tiếp không được mã hóa tới các máy chủ không phải là một lựa chọn được chấp nhận. Điều này có thể là do các yêu cầu bảo mật, yêu cầu tuân thủ (compliance) hoặc ứng dụng có thể chỉ chấp nhận một kết nối an toàn. Đối với các ứng dụng này, Application gatewway hỗ trợ end to end SSL/TLS encryption.

Tìm hiểu thêm:  Overview of SSL termination and end to end SSL with Application Gateway

Autoscaling

Application Gateway Standard_v2 hỗ trợ tính năng tự động chia tỷ lệ và có thể tăng hoặc giảm tỷ lệ dựa trên việc thay đổi các mẫu tải lưu lượng. Tự động phân tỷ lệ cũng loại bỏ yêu cầu chọn kích thước triển khai hoặc số lượng phiên bản trong quá trình cấp phép.

Chi tiết tính năng:  Autoscaling v2 SKU

Zone redundancy

Application Gateway Standard_v2 có thể mở rộng nhiều vùng khả dụng (Availability Zones), mang lại khả năng phục hồi lỗi tốt hơn và loại bỏ nhu cầu cung cấp Application Gateways riêng biệt trong mỗi vùng.

Static VIP

Application Gateway Standard_v2 SKU chỉ hỗ trợ loại VIP tĩnh. Điều này đảm bảo rằng VIP được liên kết với application gateway không thay đổi trong suốt lifetime của Application Gateway.

Web Application Firewall

Web Application Firewall (WAF) là một dịch vụ cung cấp khả năng bảo vệ tập trung cho các ứng dụng web của bạn khỏi các lỗ hổng và khai thác phổ biến. WAF dựa trên các quy tắc từ bộ quy tắc cốt lõi của OWASP 3.1 (WAF_v2 only), 3.0 và 2.2.9.

Các ứng dụng web ngày càng trở thành mục tiêu của các cuộc tấn công độc hại khai thác các lỗ hổng phổ biến đã biết. Phổ biến trong số các cách khai thác này là các cuộc tấn công: chèn SQL (SQL injection attack) & cross site scripting attack. Việc ngăn chặn các cuộc tấn công như vậy trong mã ứng dụng có thể là một thách thức và có thể yêu cầu việc bảo trì, vá lỗi và giám sát nghiêm ngặt ở nhiều lớp của cấu trúc liên kết ứng dụng. Web Application Firewall quản lý tập trung giúp quản lý bảo mật đơn giản hơn nhiều và đảm bảo tốt hơn cho quản trị viên ứng dụng trước các mối đe dọa hoặc sự xâm nhập. Giải pháp Web Application Firewall cũng có thể phản ứng với mối đe dọa bảo mật nhanh hơn bằng cách vá lỗ hổng bảo mật đã biết tại vị trí trung tâm thay vì bảo mật từng ứng dụng web riêng lẻ. Các cổng (gateway) ứng dụng hiện có có thể được chuyển đổi thành cổng ứng dụng hỗ trợ Web Application Firewall một cách dễ dàng.

Chi tiết tính năng: What is Azure Web Application Firewall?

Ingress Controller for AKS

Application Gateway Ingress Controller (AGIC) cho phép bạn sử dụng Application Gateway làm mục nhập (ingress) cho một cluster Azure Kubernetes Service (AKS).

Ingress controller chạy như một nhóm trong cluster AKS và sử dụng  Kubernetes Ingress Resources và chuyển đổi thành cấu hình Application Gateway, cho phép cổng vào cân bằng tải lưu lượng đến các nhóm Kubernetes. Ingress controller chỉ hỗ trợ các SKU cổng ứng dụng Standard_v2 và WAF_v2.

Chi tiết tính năng: Application Gateway Ingress Controller (AGIC)

URL-based routing

Định tuyến dựa trên đường dẫn URL (URL-based routing) cho phép bạn định tuyến lưu lượng truy cập đến các nhóm máy chủ back-end dựa trên Đường dẫn URL của yêu cầu (request). Một trong những tình huống là định tuyến các yêu cầu (request) cho các loại nội dung khác nhau đến các nhóm (pool) khác nhau.

ví dụ, các yêu cầu (request) http://contoso.com được định tuyến đến ContosoServerPool.

Tương tự, hai sub-domain của cùng một subdomain có thể được lưu trữ trên cùng một triển khai cổng ứng dụng (application gateway). ví dụ, sử dụng subdomain có thể bao gồm http://blog.contoso.com và http://app.contoso.com được lưu trữ (hosted) trên một triển khai cổng ứng dụng (application gateway) duy nhất.

Tìm hiểu thêm:  Application Gateway multiple site hosting

Bạn cũng có thể xác định wildcard host name trong một multi-site listener và lên đến  5 host name trên mỗi listener.

Tìm hiểu thêm: wildcard host names in listener (preview)

Redirection

Một kịch bản phổ biến cho nhiều web application là hỗ trợ chuyển hướng HTTP sang HTTPS tự động để đảm bảo tất cả giao tiếp giữa ứng dụng và người dùng của ứng dụng đó diễn ra qua một đường dẫn được mã hóa & an toàn.

Trước đây, bạn có thể đã sử dụng các kỹ thuật như tạo nhóm chuyên dụng (dedicated pool) với mục đích duy nhất là chuyển hướng các yêu cầu (request) mà nó nhận được trên HTTP sang HTTPS. Application gateway hỗ trợ khả năng chuyển hướng (redirection) lưu lượng trên Application Gateway. Điều này giúp đơn giản hóa cấu hình ứng dụng, tối ưu hóa việc sử dụng tài nguyên và hỗ trợ các tình huống chuyển hướng (redirect) mới, bao gồm cả chuyển hướng (reditect) toàn cầu (global) và dựa trên đường dẫn (path-based). Hỗ trợ reditect Application gateway không chỉ giới hạn ở chuyển hướng HTTP sang HTTPS. Đây là cơ chế chuyển hướng chung, vì vậy bạn có thể chuyển hướng từ và đến bất kỳ cổng nào bạn xác định bằng cách sử dụng các quy tắc, tính năng này cũng hỗ trợ chuyển hướng đến một trang web bên ngoài.

Hỗ trợ chuyển hướng (reditect) Application Gateway cung cấp các khả năng sau:

  • Chuyển hướng toàn cầu (Global redirection) từ cổng này sang cổng khác trên Gateway. Điều này cho phép chuyển hướng HTTP sang HTTPS trên một trang web.
  • Chuyển hướng dựa trên đường dẫn (Path-based redirection). Loại chuyển hướng này chỉ cho phép chuyển hướng HTTP sang HTTPS trên một khu vực trang web cụ thể, ví dụ: khu vực giỏ hàng được ký hiệu là / cart /.
  • Chuyển hướng đến một trang web bên ngoài (external site).

Tìm hiểu thêm về tính năng:  Application Gateway redirect overview.

Session affinity

Tính năng session affinity dựa trên cookie rất hữu ích khi bạn muốn giữ phiên người dùng trên cùng một máy chủ. Bằng cách sử dụng cookie được quản lý bởi gateway (gateway-managed cookies), Application Gateway có thể hướng lưu lượng tiếp theo từ phiên người dùng đến cùng một máy chủ để xử lý. Điều này quan trọng trong trường hợp trạng thái phiên được lưu cục bộ trên máy chủ cho phiên người dùng.

Tìm hiểu thêm:  How an application gateway works

Websocket and HTTP/2 traffic

Application Gateway cung cấp hỗ trợ riêng cho các giao thức WebSocket và HTTP / 2. Không có cài đặt người dùng có thể định cấu hình để bật hoặc tắt WebSocket support.

Giao thức WebSocket và HTTP / 2 cho phép giao tiếp song công (full duplex) giữa máy chủ và máy khách qua kết nối TCP đang hoạt động lâu dài. Điều này cho phép giao tiếp tương tác hơn giữa máy chủ web và máy khách, có thể hai chiều mà không cần polling các request trong triển khai dựa trên HTTP. Các giao thức này có chi phí thấp, không giống như HTTP và có thể sử dụng lại cùng một kết nối TCP cho nhiều yêu cầu (request) / phản hồi (response) dẫn đến việc sử dụng tài nguyên hiệu quả hơn. Các giao thức này được thiết kế để hoạt động trên các cổng HTTP truyền thống là 80 và 443.

Tìm hiểu thêm:  WebSocket support và HTTP/2 support.

Connection draining

Tính năng Connection draining giúp bạn loại bỏ backend pool members trong quá trình cập nhật dịch vụ theo kế hoạch. Cài đặt này được bật thông qua cài đặt http backend và có thể được áp dụng cho tất cả các thành viên trong nhóm backend (backend pool) trong quá trình tạo các rule (quy tắc) . Sau khi được kích hoạt, Application Gateway đảm bảo tất cả các trường hợp hủy đăng ký (deregistering instances) của backend pool không nhận được bất kỳ yêu cầu (request) mới nào trong khi vẫn cho phép các yêu cầu hiện có hoàn thành trong một giới hạn thời gian đã định cấu hình. Điều này áp dụng cho cả các trường hợp backend bị xóa khỏi backend pool do thay đổi cấu hình người dùng và các trường hợp backend được báo cáo là không tốt. Ngoại lệ duy nhất cho điều này là requests bound dành cho deregistering instances, đã được hủy đăng ký (deregistering instances) một cách rõ ràng, vì mối quan hệ phiên được quản lý bằng cổng (gateway) và tiếp tục được ủy quyền cho các phiên bản hủy đăng ký (deregistering instances).

Tìm hiểu thêm:  Application Gateway Configuration Overview.

Custom error pages

Application Gateway cho phép bạn tạo các error tùy chỉnh thay vì hiển thị các trang error mặc định. Bạn có thể sử dụng thương hiệu và bố cục của riêng mình bằng cách sử dụng trang lỗi tùy chỉnh.

Tìm hiểu thêm  Custom Errors

Rewrite HTTP headers and URL

HTTP headers cho phép client & server chuyển thông tin bổ sung với yêu cầu (request) hoặc phản hồi (response). Viết lại (rewrite) các header HTTP giúp bạn hoàn thành một số trường hợp quan trọng, chẳng hạn như:

  • Thêm các trường header liên quan đến bảo mật như HSTS / X-XSS-Protection.
  • Xóa các trường header phản hồi (response) có thể tiết lộ thông tin nhạy cảm.
  • Loại bỏ thông tin cổng (port) khỏi tiêu đề X-Forwarded-For.

Application Gateway và WAF v2 SKU hỗ trợ khả năng thêm, xóa hoặc cập nhật các header response và request HTTP, trong khi các request & response package di chuyển giữa máy khách và backend pool. Bạn cũng có thể viết lại (rewrite) URL,query string parameter & host name. Với tính năng ghi lại URL và định tuyến dựa trên đường dẫn URL, bạn có thể chọn định tuyến các yêu cầu đến một trong các backend pool dựa trên đường dẫn ban đầu hoặc đường dẫn được viết lại (rewrite) bằng cách sử dụng path map.

Tính năng này cũng cung cấp cho bạn khả năng thêm các điều kiện để đảm bảo các header hoặc URL được chỉ định, chỉ được viết lại khi một số điều kiện nhất định được đáp ứng. Các điều kiện này dựa trên thông tin request & response.

Tìm hiểu thêm:  Rewrite HTTP headers and URL

Sizing

Application Gateway Standard_v2 có thể được định cấu hình để tự động chia tỷ lệ hoặc triển khai kích thước cố định. SKU v2 không cung cấp các kích thước instance khác nhau. Để biết thêm thông tin về giá cả và hiệu suất v2, hãy xem:  Autoscaling V2 & Understanding pricing.

Application Gateway Standard (v1) được cung cấp ở ba kích cỡ: SmallMedium, and Large. Small instance được sử dụng cho việc phát triển & thử nghiệm (testing).

Để có danh sách đầy đủ các giới hạn, hãy xem:  Application Gateway service limits
Bảng sau đây cho thấy thông lượng hiệu suất trung bình cho mỗi phiên bản v1 cổng ứng dụng có SSL offload được bật:

Average back-end page response sizeSmallMediumLarge
6 KB7.5 Mbps13 Mbps50 Mbps
100 KB35 Mbps100 Mbps200 Mbps

Nguồn: Docs.Microsoft.com

VinSEP
VinSEP

VinSEP (Công ty TNHH Mục Tiêu Số, MST: 0316094847)- chúng tôi là chuyên gia trong giải pháp/dịch vụ CNTT & phần mềm bản quyền. VinSEP giúp doanh nghiệp chuyển đổi thành nơi làm việc hiện đại (Modern Workplace) & phát triển trong thời đại công nghiệp 4.0.

VinSEP chỉ có một website Official chính thức là VinSEP.com.

Bài viết liên quan