Azure Application Gateway là gì?
Azure Application Gateway là một dịch vụ điều khiển lưu lượng (web traffic load balancer) và bảo mật cấp độ cao với các ứng dụng web chạy trên Azure. Nó cung cấp nhiều chức năng cho người dùng như cân bằng tải, SSL offloading, HTTP/2, WebSockets, hệ thống cảnh báo, chuyển hướng giao diện người dùng dựa trên nội dung… Từ đó cải thiện trải nghiệm người dùng và đảm bảo tính khả dụng của ứng dụng web.
Ngoài ra, Azure Application Gateway cũng hỗ trợ các tính năng bảo mật cao, hạn chế các dữ liệu trên hệ thống bị tấn công mạng.
Nói Một Cách Dễ Hiểu
Ở hình trên, dựa vào URL, Application Gateway sẽ quyết định redirect tới Virtual Machine chứa app Image Server hay Virtual Machine chứa Video Server. Đây chính là ví dụ chúng ta sẽ làm ở dưới đây.
Ví dụ
Trong ví dụ này, chúng ta sẽ tạo 1 Virtual Network để chứa 2 web-server: Image Server và Video Server. Để truy xuất 2 website này, 1 là chúng ta dùng 1 resource trong Network để truy cập, máy ảo hay bastion... Hai là chúng ta dùng Application Gateway để có thể truy xuất website từ public Internet. Mình chọn cách 2.
+------------------+
| User |
+------------------+
|
v
+------------------+
| Login to Azure |
| Portal |
+------------------+
|
v
+----------------------------+
| Create and configure Azure |
| resources |
+----------------------------+
|
v
+-----------------------------------------------+
| Virtual Network |
| |
| +------------------+ +------------------+
| | Virtual Machine | | Virtual Machine |
| | (VM) | | (VM) |
| +------------------+ +------------------+
| | |
| +------------+-------------+
| |
| +------------------+
| | Application |
| | Gateway |
| +------------------+
| |
+----------------------|---------------------------+
v
+------------------+
| Resource Group |
+------------------+
Giải thích
Người dùng đăng nhập vào Azure Portal.
Tạo tài nguyên: VNet, VMs, Application Gateway, tất cả nằm trong cùng một Resource Group.
Các VM nối vào Application Gateway qua port 80.
Tạo 1 Virtual network
Sign in vào Azure Portal (https://portal.azure.com)
Tìm kiếm Virtual networks -> Create
Điền các thông tin cơ bản sau:
- Resource group: rg_<your-resource-group-name>
- Instance details:
- Name: vnet1
- Region: East US
Ở tab IP addresses, bạn delete address space có sẵn và bấm vào link Add IPv4 address space, điền thông tin sau:
Address space type : Chọn IPv4
- Starting address : 10.0.0.0
- Address space size : /16
Tạo 2 subnet
- Subnet Name: Enter myBackendPool
- Subnet Address range: Enter 10.1.0.0/24
- Subnet Name: Enter myApplicationGatewaySubnet
- Subnet Address range: Enter 10.1.1.0/24
Tạo 2 máy ảo
Tại tab Basics, bạn điền thông tin như sau:
- Resource group : Chọn rg_eastus_XXXXX
- Instance details :
- Virtual Machine Name : Gõ vm1/vm2 (tên vm của 2 máy ảo)
- Region : Chọn East US
- Availability options: Chọn No infrastructure redundancy required
- Image : Chọn Windows Server 2019 Datacenter - Gen1
- Size : Chọn Standard_B2s
- Administrator Account :
- Username : Gõ vm1
- Password : Gõ password
- Confirm password : Re-enter password
- Inbound Port rules :
- Public inbound ports : Chọn Allow selected ports
- Chọn inbound ports : Chọn HTTP (80), RDP (3389)
Tab Disk, chọn OS disk type: chọn Standard SSD
Ở tab Networking, Virtual network, chọn vnet1, Subnet: Select myBackenedPool
Tab Monitoring, Boot diagnostic: chọn Disable
Cuối cùng, bạn bấm Review + Create -> Create để hoàn thành.
Cài đặt IIS
<h1> This is the Images Server </h1>
vm2: C drive > inetpub > wwwroot > videos > Default.html
<h1> This is the Video Server </h1>
Chọn RDP -> Download RDP file. Sau khi download xong, bạn mở RDP và bấm Connect.
Gõ username/pass bạn đã setup ở bước trên.
Để cài đặt IIS, bạn tham khảo link: https://quantrimang.com/cong-nghe/su-dung-iis-tren-windows-server-2019-180357
Tạo Application Gateway
Application Gateway trong Azure là một loại Application Load Balancer dùng để quản lý lưu lượng truy cập đến ứng dụng web của bạn (HTTP/HTTPS). Nó hoạt động như người gác cổng, đứng giữa người dùng và máy chủ web của bạn.
Một số vai trò quan trọng:
- Phân phối tải (Load Balancing) theo tầng ứng dụng (L7 - Layer 7), tức là dựa trên URL, header, cookie,...
- Bảo vệ ứng dụng với Web Application Firewall (WAF) (nếu bật).
- Hỗ trợ SSL Termination, giúp giảm tải cho backend server.
- Tái viết URL, chuyển hướng,...
Nói cách đơn giản: Khi người dùng truy cập vào web, request không đi thẳng vào máy chủ, mà đi qua Application Gateway. Gateway sẽ quyết định hướng request đến máy chủ nào theo cách thông minh.
Vào Azure Portal, search Application Gateway -> Create:
Application Gateway Name : Enter WhizlabsGateway
Region : Select East US
Tier: Select Standard V2
Maximum Instance count: 2
Virtual Network: vnet1
Subnet: myApplicationGatewaySubnet
Lưu ý: Application Gateway bắt buộc phải đặt trong một subnet riêng
Application Gateway must be deployed in its own dedicated subnet.
Cấu hình Frontend
Frontend IP address type: Public (truy cập từ public IP)
Public IPv4 address: chọn Add new
Cấu hình Backend Pools
Ở trang Thêm Backend Pool (Add a backend pool), nhập hoặc chọn các thông tin sau và nhấn Add:
Name: nhập imagepool
Add backend pool without targets: chọn No
Target type: chọn Virtual machine
Đích (Target): chọn máy ảo vm1
Thêm backend pool cho máy chủ video (vm2):
Nhấn Add a backend pool lần nữa và điền thông tin:
Name: nhập videopool
Add backend pool without targets: chọn No
Target type: chọn Virtual machine
Target: chọn máy ảo vm2
Routing rule
- Listen trên cổng 80 (HTTP)
- Dựa vào đường dẫn URL (/images/* và /videos/*) để chuyển tiếp đến đúng máy chủ phía sau (backend).
Trên giao diện, click Next: Configuration -> Add a routing rule
Nhập các thông tin:
- Rule name: RuleA
- Priority: 30 (số càng nhỏ, độ ưu tiên càng cao)
Cấu hình Listener
Listener giúp Application Gateway biết nên "lắng nghe" yêu cầu từ phía người dùng ở đâu, cổng nào.
- Listener Name: ListenerA
- Frontend IP: chọn Public (để lắng nghe từ Internet)
- Protocol: chọn HTTP
- Port: nhập 80
- Nhấn Add để hoàn tất Listener
Cấu hình Backend Targets
- Target type: chọn Backend pool
- Backend target: chọn imagepool (sẽ dùng chung cấu hình)
- Nhấn Add new tại phần Backend settings để cấu hình cách Gateway giao tiếp với backend:
- Backend settings name: SettingA
- Backend protocol: chọn HTTP
- Backend port: nhập 80
- Nhấn Add
Cấu hình Path-based Routing (Định tuyến theo đường dẫn)
- Path /images/* → vm1:
- Nhấn Add multiple targets
- Target type: chọn Backend pool
- Path: nhập /images/*
- Target Name: nhập ImageRule
- HTTP settings: chọn SettingA
- Backend target: chọn imagepool
- Nhấn Add
Path /videos/* → vm2:
- Tiếp tục nhấn Add multiple targets
- Target type: chọn Backend pool
- Path: nhập /videos/*
- Target Name: nhập VideoRule
- HTTP settings: chọn SettingA
- Backend target: chọn videopool
- Nhấn Add
Nhấp Add để hoàn thành
Sau khi cấu hình
| Đường dẫn người dùng gõ | Gateway làm gì? |
|---|---|
http://<PublicIP>/images/Default.html |
Gửi yêu cầu đến máy ảo vm1 (imagepool) |
http://<PublicIP>/videos/Default.html |
Gửi yêu cầu đến máy ảo vm2 (videopool) |



Nhận xét
Đăng nhận xét