《Windows Azure Platform 系列文章目錄》
在之前的文章中,筆者介紹了Azure Web App可以設置URL路由。如下圖:
在這里筆者簡單介紹一下,首先我們還是創建以下資源:
1.創建一個新的Azure Resource Group,命名為LeiAppGWRG
2.創建一個新的ARM Virtual Network,命名為LeiAppGatewayVNet
有兩個Subnet,分別為web-subnet,CIDR: 10.0.0.0/24
另外一個subnet,叫appgateway-subnet,專門給Application Gateway使用,CIDR:10.0.1.0/24
3.在創建新的Application Gateway,命名為:LeiAppGateway
需要注意:如果我們要針對80端口設置URL Routing,我們必須設置Listener Configuration為Port 81
不可以是Port 80,因為會被占用需要修改
不可以是Port 80,因為會被占用需要修改
不可以是Port 80,因為會被占用需要修改
然后等Azure Application Gateway創建完畢
在這里還需要強調一下,當我們接下來還要操作的步驟:
1.針對80端口,增加Listener
2.不要修改和使用默認的appGatewayBackendPool
3.在Backend Pools,創建新的imagesBackendPool,並設置Backend Addresses
4.在Backend Pools,創建新的videosBackendPool,並設置Backend Addresses
5.最后配置一下Application Gateway的Rules
1.接下來開始第一部分,針對80端口,增加Listener
我們選擇Application Gateway,選擇Listener,然后點擊 + Basic。
新增加針對80端口的Listerner: appGateway80Listener。如下圖:
2.不要修改和使用默認的appGatewayBackendPool
3.選擇Application Gateway,選擇Backend Pool,然后點擊Add。增加新的imagesBackendPool,並設置Backend Addresses
當我們訪問這個imagesBackendPool的時候,Application Gateway會把請求發送到內網IP為10.0.0.4和10.0.0.5的這2台VM
4.選擇Application Gateway,選擇Backend Pool,然后點擊Add。增加videosBackendPool,Address設置為10.0.0.11和10.0.0.12
這樣我們訪問url路徑為/images的時候,Application Gateway會把請求發送到內網IP為10.0.0.11和10.0.0.12的這2台VM
5.最后,我們設置Rules,點擊+ Path-based,命名為pathBasedRule。
Listener選擇之前創建的appGateway80Listener
Default backend pool為appGatewayBackendPool
注意下圖的BackEndPool,選擇默認的appGatewayBackendPool和我們新創建的imagessBackendPool。
需要注意,當我們訪問Application Gateway的地址時候,訪問邏輯是這樣的:
(1)如果我們訪問URL路徑為/images/*的時候,請求被發送到imagesBackendPool,對應的內網IP地址為10.0.0.4和10.0.0.5
(2)如果我們訪問URL路徑為/videos/*的時候,請求被發送到videosBackendPool,對應的內網IP地址為10.0.0.11和10.0.0.12
(3)當Path不匹配的時候,請求被發送到默認的imagesBackendPool。
截圖如下:
6.准備Backend Pool所需要的虛擬機。
然后我們在先創建新的Azure ARM Storage Account,然后創建4台Windows Server 2012 R2的虛擬機,對應的IP如下:
虛擬機名稱 | 內網IP地址 | Virtual Network子網 | 對應Application Gateway的Backend Pool | 對應Application Gateway的訪問URL路徑 | 備注 |
ImagesVM01 | 10.0.0.4 | web-subnet | appGatewayBackendPool | /images/* | 安裝IIS,增加虛擬目錄images。修改IIS歡迎頁面為虛擬機機器名 |
ImagesVM02 | 10.0.0.5 | web-subnet | appGatewayBackendPool | /images/* | 安裝IIS,增加虛擬目錄images。修改IIS歡迎頁面為虛擬機機器名 |
VideosVM01 | 10.0.0.11 | web-subnet | videosBackendPool | /videos/* | 安裝IIS,增加虛擬目錄videos。修改IIS歡迎頁面為虛擬機機器名 |
VideosVM02 | 10.0.0.12 | web-subnet | videosBackendPool | /videos/* | 安裝IIS,增加虛擬目錄videos。修改IIS歡迎頁面為虛擬機機器名 |
創建完畢后,請記住,因為我們針對Port 80設置Application Gateway,需要在上面的VM上安裝IIS,並增加相應的虛擬目錄。
7.然后我們查看Azure Application Gateway,點擊Overview,就可以查看到這個Application Gateway的動態IP(注意是動態IP地址,不是靜態IP)和DNS Name。
如下圖:
動態IP是: 139.219.234.106
DNS是:ceca34df-a6ed-4914-8137-f44223e220e6.chinacloudapp.cn
8.我們訪問上面的Frontend Public IP Address,比如:
這個請求就會被發送到appGatewayBackendPool的兩台VM,內網IP分為別10.0.0.4和10.0.0.5
我們訪問:http://139.219.234.106/videos/
這個這個請求就會被發送到videosBackendPool的兩台VM,內網IP分為別10.0.0.11和10.0.0.12