【 Cloud 】Azure Traffic Management Lab - 配置實驗環境
Azure Traffic Management Lab
- 配置實驗環境
- 配置 hub & spoke 網路拓撲
- 於 hub & spoke 網路拓撲中配置路由
- 實作 Azure Load Balancer
- 實作 Azure Application Gateway
本篇文章內容
- 前置準備作業
- 架構
- 建立服務所使用的名稱
- 建立 Resource Group
- 建立 Virtual Network ( VNet ) 與 Subnet
- 建立 Network Security Group ( NSG )
- 建立 Network Interface Card ( NIC )
- 建立 Virtual Machine ( VM )
- 建立 Web Server 與修改預設網路內容
- 透過 Azure Network Watcher 進行連線測試
- 實驗觀察
前置準備作業
- 已建立 Azure 帳號並能正常登入
- 已安裝
Azure CLI並透過az login指令登入成功
架構

建立服務所使用的名稱
- VNet
| VNet Name | Resource group | Location | VNet IP Addresses | Subnet IP Addresses |
|---|---|---|---|---|
| vnet-01 | traffic-management-rg-01 | West US | 10.1.0.0/16 | subnet-01 10.1.1.0/24 subnet-02 10.1.2.0/24 |
| vnet-02 | traffic-management-rg-02 | West US | 10.2.0.0/16 | subnet-03 10.2.3.0/24 |
| vnet-03 | traffic-management-rg-03 | West US 2 | 10.3.0.0/16 | subnet-05 10.3.5.0/24 |
- VM & NIC
| VM Name | Resource Group | Location | VNet Name | Subnet Name | NIC Name | IP |
|---|---|---|---|---|---|---|
| vm-11 | traffic-management-rg-01 | West US | vnet-01 | subnet-01 | nic-11 | 10.1.1.11 |
| vm-22 | traffic-management-rg-01 | West US | vnet-01 | subnet-02 | nic-22 | 10.1.2.22 |
| vm-33 | traffic-management-rg-02 | West US | vnet-02 | subnet-03 | nic-33 | 10.2.3.33 |
| vm-55 | traffic-management-rg-03 | West US 2 | vnet-03 | subnet-05 | nic-55 | 10.3.5.55 |
建立 Resource Group
Step 1. 於 West US 的 Region 建立 traffic-management-rg-01 資源群組
- 請於終端機輸入下方指令
az group create \
--name traffic-management-rg-01 \
--location westus

Step 2. 於 West US 的 Region 建立 traffic-management-rg-02 資源群組
- 請於終端機輸入下方指令
az group create \
--name traffic-management-rg-02 \
--location westus

Step 3. 於 West US 2 的 Region 建立 traffic-management-rg-03 資源群組
- 請於終端機輸入下方指令
az group create \
--name traffic-management-rg-03 \
--location westus2

建立 Virtual Network ( VNet ) 與 Subnet
Step 1. 建立 vnet-01 的 VNet 並於 vnet-01 中建立 subnet-01 的 Subnet,其中 vnet-01 的 IP address 為 10.1.0.0/16,而 subnet-01 的 IP address 為 10.1.1.0/24
- 請於終端機輸入下方指令
az network vnet create \
--name vnet-01 \
--resource-group traffic-management-rg-01 \
--address-prefix 10.1.0.0/16 \
--subnet-name subnet-01 \
--subnet-prefixes 10.1.1.0/24

Step 2. 於 vnet-01 中建立 subnet-02 的 Subnet,其中 subnet-02 的 IP address 為 10.1.2.0/24
- 請於終端機輸入下方指令
az network vnet subnet create \
--address-prefix 10.1.2.0/24 \
--name subnet-02 \
--resource-group traffic-management-rg-01 \
--vnet-name vnet-01

Step 3. 建立 vnet-02 的 VNet 並於 vnet-02 中建立 subnet-03 的 Subnet,其中 vnet-02 的 IP address 為 10.2.0.0/16,而 subnet-03 的 IP address 為 10.2.3.0/24
- 請於終端機輸入下方指令
az network vnet create \
--name vnet-02 \
--resource-group traffic-management-rg-02 \
--address-prefix 10.2.0.0/16 \
--subnet-name subnet-03 \
--subnet-prefixes 10.2.3.0/24

Step 4. 建立 vnet-03 的 VNet 並於 vnet-03 中建立 subnet-05 的 Subnet,其中 vnet-03 的 IP address 為 10.3.0.0/16,而 subnet-05 的 IP address 為 10.3.5.0/24
- 請於終端機輸入下方指令
az network vnet create \
--name vnet-03 \
--resource-group traffic-management-rg-03 \
--address-prefix 10.3.0.0/16 \
--subnet-name subnet-05 \
--subnet-prefixes 10.3.5.0/24

建立 Network Security Group ( NSG )
Step 1. 於 West US 的 Region 建立 traffic-management-nsg-01 的網路安全群組,其資源群組為 traffic-management-rg-01
- 請於終端機輸入下方指令
az network nsg create \
--name traffic-management-nsg-01 \
--resource-group traffic-management-rg-01 \
--location westus

Step 2. 於 traffic-management-nsg-01 的網路安全群組中開啟 inbound 的 80 Port,其優先權為 320
- 請於終端機輸入下方指令
az network nsg rule create \
--resource-group traffic-management-rg-01 \
--nsg-name traffic-management-nsg-01 \
--name AllowHTTP \
--protocol Tcp \
--direction inbound \
--source-address-prefix "*" \
--destination-address-prefix "*" \
--destination-port-range 80 \
--access allow \
--priority 320

Step 3. 於 traffic-management-nsg-01 的網路安全群組中開啟 inbound 的 3389 Port,其優先權為 300
- 請於終端機輸入下方指令
az network nsg rule create \
--resource-group traffic-management-rg-01 \
--nsg-name traffic-management-nsg-01 \
--name AllowRDP \
--protocol Tcp \
--direction inbound \
--source-address-prefix "*" \
--destination-address-prefix "*" \
--destination-port-range 3389 \
--access allow \
--priority 300

Step 4. 於 West US 的 Region 建立 traffic-management-nsg-02 的網路安全群組,其資源群組為 traffic-management-rg-02
- 請於終端機輸入下方指令
az network nsg create \
--name traffic-management-nsg-02 \
--resource-group traffic-management-rg-02 \
--location westus

Step 5. 於 traffic-management-nsg-02 的網路安全群組中開啟 inbound 的 80 Port,其優先權為 320
- 請於終端機輸入下方指令
az network nsg rule create \
--resource-group traffic-management-rg-02 \
--nsg-name traffic-management-nsg-02 \
--name AllowHTTP \
--protocol Tcp \
--direction inbound \
--source-address-prefix "*" \
--destination-address-prefix "*" \
--destination-port-range 80 \
--access allow \
--priority 320

Step 6. 於 traffic-management-nsg-02 的網路安全群組中開啟 inbound 的 3389 Port,其優先權為 300
- 請於終端機輸入下方指令
az network nsg rule create \
--resource-group traffic-management-rg-02 \
--nsg-name traffic-management-nsg-02 \
--name AllowRDP \
--protocol Tcp \
--direction inbound \
--source-address-prefix "*" \
--destination-address-prefix "*" \
--destination-port-range 3389 \
--access allow \
--priority 300

Step 7. 於 West US 2 的 Region 建立 traffic-management-nsg-03 的網路安全群組,其資源群組為 traffic-management-rg-03
- 請於終端機輸入下方指令
az network nsg create \
--name traffic-management-nsg-03 \
--resource-group traffic-management-rg-03 \
--location westus2

Step 8. 於 traffic-management-nsg-03 的網路安全群組中開啟 inbound 的 80 Port,其優先權為 320
- 請於終端機輸入下方指令
az network nsg rule create \
--resource-group traffic-management-rg-03 \
--nsg-name traffic-management-nsg-03 \
--name AllowHTTP \
--protocol Tcp \
--direction inbound \
--source-address-prefix "*" \
--destination-address-prefix "*" \
--destination-port-range 80 \
--access allow \
--priority 320

Step 9. 於 traffic-management-nsg-03 的網路安全群組中開啟 inbound 的 3389 Port,其優先權為 300
- 請於終端機輸入下方指令
az network nsg rule create \
--resource-group traffic-management-rg-03 \
--nsg-name traffic-management-nsg-03 \
--name AllowRDP \
--protocol Tcp \
--direction inbound \
--source-address-prefix "*" \
--destination-address-prefix "*" \
--destination-port-range 3389 \
--access allow \
--priority 300

建立 Network Interface Card ( NIC )
Step 1. 於 West US 的 Region 建立 nic-11 的網路介面卡,其資源群組為 traffic-management-rg-01、VNet 為 vnet-01、Subnet 為 subnet-01 、網路安全群組為 traffic-management-nsg-01 並設定私有 IP 為 10.1.1.11
- 請於終端機輸入下方指令
az network nic create \
--resource-group traffic-management-rg-01 \
--name nic-11 \
--location westus \
--vnet-name vnet-01 \
--subnet subnet-01 \
--private-ip-address 10.1.1.11 \
--network-security-group traffic-management-nsg-01

Step 2. 於 West US 的 Region 建立 nic-22 的網路介面卡,其資源群組為 traffic-management-rg-01、VNet 為 vnet-01、Subnet 為 subnet-02 、網路安全群組為 traffic-management-nsg-01 並設定私有 IP 為 10.1.2.22
- 請於終端機輸入下方指令
az network nic create \
--resource-group traffic-management-rg-01 \
--name nic-22 \
--location westus \
--vnet-name vnet-01 \
--subnet subnet-02 \
--private-ip-address 10.1.2.22 \
--network-security-group traffic-management-nsg-01

Step 3. 於 West US 的 Region 建立 nic-33 的網路介面卡,其資源群組為 traffic-management-rg-02、VNet 為 vnet-02、Subnet 為 subnet-03 、網路安全群組為 traffic-management-nsg-02 並設定私有 IP 為 10.2.3.33
- 請於終端機輸入下方指令
az network nic create \
--resource-group traffic-management-rg-02 \
--name nic-33 \
--location westus \
--vnet-name vnet-02 \
--subnet subnet-03 \
--private-ip-address 10.2.3.33 \
--network-security-group traffic-management-nsg-02

Step 4. 於 West US 2 的 Region 建立 nic-55 的網路介面卡,其資源群組為 traffic-management-rg-03、VNet 為 vnet-03、Subnet 為 subnet-05 、網路安全群組為 traffic-management-nsg-03 並設定私有 IP 為 10.3.5.55
- 請於終端機輸入下方指令
az network nic create \
--resource-group traffic-management-rg-03 \
--name nic-55 \
--location westus2 \
--vnet-name vnet-03 \
--subnet subnet-05 \
--private-ip-address 10.3.5.55 \
--network-security-group traffic-management-nsg-03

建立 Virtual Machine ( VM )
Step 1. 於 West US 的 Region 建立 vm-11 的虛擬機,其資源群組為 traffic-management-rg-01、OS 的印象檔為 Windows Server 2019 Datacenter、VM 規格為 Standard_D2s_v3、登入 VM 的帳號為 azureuser、登入 VM 的密碼為 Pa5sW0rd!,所使用的網路卡為 nic-11
- 請於終端機輸入下方指令
--admin-username與--admin-password所設定的登入帳號與密碼請記得修改
az vm create \
--resource-group traffic-management-rg-01 \
--location westus \
--name vm-11 \
--image Win2019Datacenter \
--size Standard_D2s_v3 \
--admin-username azureuser \
--admin-password Pa5sW0rdqwer! \
--nics nic-11

Step 2. 於 West US 的 Region 建立 vm-22 的虛擬機,其資源群組為 traffic-management-rg-01、OS 的印象檔為 Windows Server 2019 Datacenter、VM 規格為 Standard_D2s_v3、登入 VM 的帳號為 azureuser、登入 VM 的密碼為 Pa5sW0rd!,所使用的網路卡為 nic-22
- 請於終端機輸入下方指令
--admin-username與--admin-password所設定的登入帳號與密碼請記得修改
az vm create \
--resource-group traffic-management-rg-01 \
--location westus \
--name vm-22 \
--image Win2019Datacenter \
--size Standard_D2s_v3 \
--admin-username azureuser \
--admin-password Pa5sW0rdqwer! \
--nics nic-22

Step 3. 於 West US 的 Region 建立 vm-33 的虛擬機,其資源群組為 traffic-management-rg-02、OS 的印象檔為 Windows Server 2019 Datacenter、VM 規格為 Standard_D2s_v3、登入 VM 的帳號為 azureuser、登入 VM 的密碼為 Pa5sW0rd!,所使用的網路卡為 nic-33
- 請於終端機輸入下方指令
--admin-username與--admin-password所設定的登入帳號與密碼請記得修改
az vm create \
--resource-group traffic-management-rg-02 \
--location westus \
--name vm-33 \
--image Win2019Datacenter \
--size Standard_D2s_v3 \
--admin-username azureuser \
--admin-password Pa5sW0rdqwer! \
--nics nic-33

Step 4. 於 West US 2 的 Region 建立 vm-55 的虛擬機,其資源群組為 traffic-management-rg-03、OS 的印象檔為 Windows Server 2019 Datacenter、VM 規格為 Standard_D2s_v3、登入 VM 的帳號為 azureuser、登入 VM 的密碼為 Pa5sW0rd!,所使用的網路卡為 nic-55
- 請於終端機輸入下方指令
--admin-username與--admin-password所設定的登入帳號與密碼請記得修改
az vm create \
--resource-group traffic-management-rg-03 \
--location westus2 \
--name vm-55 \
--image Win2019Datacenter \
--size Standard_D2s_v3 \
--admin-username azureuser \
--admin-password Pa5sW0rdqwer! \
--nics nic-55

建立 Web Server 與修改預設網頁內容
Step 1. 選擇 VM 服務
- 於上方搜尋框輸入
vm> 再點選Virtual machines的搜尋結果

- 之前透過指令所建立的
VM-11、VM-22、VM-33、VM-55

Step 2. 於 VM-11 進行設定
- 點選
VM-11的 VM > 點選左側的Run command> 點選Run Command Script

- 於
PowerShell Script輸入框輸入下方指令,再點選Run( 執行需要花一些時間 )
- 執行完的結果

Step 3. 於 VM-22 進行設定
- 點選
VM-22的 VM > 點選左側的Run command> 點選Run Command Script

- 於
PowerShell Script輸入框輸入下方指令,再點選Run( 執行需要花一些時間 )
- 執行完的結果

Step 4. 於 VM-33 進行設定
- 點選
VM-33的 VM > 點選左側的Run command> 點選Run Command Script

- 於
PowerShell Script輸入框輸入下方指令,再點選Run( 執行需要花一些時間 )
- 執行完的結果

Step 5. 於 VM-55 進行設定
- 點選
VM-55的 VM > 點選左側的Run command> 點選Run Command Script

- 於
PowerShell Script輸入框輸入下方指令,再點選Run( 執行需要花一些時間 )
- 執行完的結果

透過 Azure Network Watcher 進行連線測試
Step 1. 選擇 Network Watcher 服務
- 於上方搜尋框輸入
Network Watcher> 再點選Network Watcher的搜尋結果

Step 2. 測試 vm-11 ( vnet-01 ) 連到 vm-22 ( vnet-01 ) 的 80 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-01。 - Source type 欄位請選擇
Virtual machine。 - Virtual machine 欄位請選擇
vm-11。 - Destination type 欄位請選擇
Select a virtual machine。 - Resource group 欄位請選擇
traffic-management-rg-01。 - Virtual machine 欄位請選擇
vm-22。 - Preferred IP version 欄位請選擇
IPv4。 - Protocol 欄位請選擇
TCP。 - Destination port 欄位請輸入
80。 - Source port (optional) 欄位不用輸入。
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )。


- 執行完成

Step 3. 測試 vm-11 ( vnet-01 ) 連到 vm-22 ( vnet-01 ) 的 3389 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-01 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-11 - Destination type 欄位請選擇
Select a virtual machine - Resource group 欄位請選擇
traffic-management-rg-01 - Virtual machine 欄位請選擇
vm-22 - Preferred IP version 欄位請選擇
IPv4 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
3389 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )


- 執行完成

Step 4. 測試 vm-11 ( vnet-01 ) 連到 vm-33 ( vnet-02 ) ( 10.2.3.33 ) 的 80 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-01 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-11 - Destination type 欄位請選擇
Specify manually - URI, FQDN, or IP address 欄位請輸入
10.2.3.33 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
80 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )

- 執行完成

Step 5. 測試 vm-11 ( vnet-01 ) 連到 vm-33 ( vnet-02 ) ( 10.2.3.33 ) 的 3389 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-01 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-11 - Destination type 欄位請選擇
Specify manually - URI, FQDN, or IP address 欄位請輸入
10.2.3.33 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
3389 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )

- 執行完成

Step 6. 測試 vm-22 ( vnet-01 ) 連到 vm-55 ( vnet-03 ) ( 10.3.5.55 ) 的 80 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-01 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-22 - Destination type 欄位請選擇
Specify manually - URI, FQDN, or IP address 欄位請輸入
10.3.5.55 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
80 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )

- 執行完成

Step 7. 測試 vm-22 ( vnet-01 ) 連到 vm-55 ( vnet-03 ) ( 10.3.5.55 ) 的 3389 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-01 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-22 - Destination type 欄位請選擇
Specify manually - URI, FQDN, or IP address 欄位請輸入
10.3.5.55 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
3389 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )

- 執行完成

Step 8. 測試 vm-33 ( vnet-02 ) 連到 vm-55 ( vnet-03 ) ( 10.3.5.55 ) 的 80 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-02 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-33 - Destination type 欄位請選擇
Specify manually - URI, FQDN, or IP address 欄位請輸入
10.3.5.55 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
80 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )

- 執行完成

Step 9. 測試 vm-33 ( vnet-02 ) 連到 vm-55 ( vnet-03 ) ( 10.3.5.55 ) 的 3389 Port
- 點選左側的
Connection troubleshoot

- 輸入相關資訊
- Subscription 欄位請選擇所要使用的訂閱。
- Resource group 欄位請選擇
traffic-management-rg-02 - Source type 欄位請選擇
Virtual machine - Virtual machine 欄位請選擇
vm-33 - Destination type 欄位請選擇
Specify manually - URI, FQDN, or IP address 欄位請輸入
10.3.5.55 - Protocol 欄位請選擇
TCP - Destination port 欄位請輸入
3389 - Source port (optional) 欄位不用輸入
- Diagnostic test 欄位請選擇
Connectivity、NSG diagnostic、Next hop,而Port scanner不用選。 - 以上資訊輸入完成後點選
Run diagnostic test( 執行會花不少時間 )

- 執行完成

實驗觀察
- VNet 為 vnet-01 中的虛擬機 vm-11 與相同 VNet 中的虛擬機 vm-22 能透過 Port 80 與 3389 互通。
- VNet 為 vnet-01 中的虛擬機 vm-11 與 VNet 為 vnet-02 中的虛擬機 vm-33 不能透過 Port 80 與 3389 互通,如果要讓兩台虛擬機互通可參考透過 Peering 的章節。
- VNet 為 vnet-01 中的虛擬機 vm-22 與 VNet 為 vnet-03 中的虛擬機 vm-55 不能透過 Port 80 與 3389 互通,如果要讓兩台虛擬機互通可參考透過 Peering 的章節。。
- VNet 為 vnet-02 中的虛擬機 vm-33 與 VNet 為 vnet-03 中的虛擬機 vm-55 不能透過 Port 80 與 3389 互通,如果要讓兩台虛擬機互通可參考透過路由的章節。。
GitHub
List of blogs
