共用方式為


教學課程:使用 Azure CLI 建立網路閘道負載平衡器

Azure Load Balancer 是由標準、基本和閘道 SKU 構成。 Gateway Load Balancer 用於網路虛擬設備 (NVA) 的透明插入。 Gateway Load Balancer 可用於 NVA 需要高效能和高可擴縮性的情境。

在本教學課程中,您會了解如何:

  • 建立虛擬網路。
  • 建立網路安全性群組。
  • 設定閘道負載平衡器。
  • 將負載平衡器前端鏈結到閘道負載平衡器。

必要條件

  • 本教學課程需要 2.0.28 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。

  • 包含作用中訂用帳戶的 Azure 帳戶。建立免費帳戶

  • 現有的公開標準 SKU Azure Load Balancer。 如需建立負載平衡器的詳細資訊,請參閱使用 Azure CLI 建立公開負載平衡器

    • 針對本教學課程之用,範例中的現有負載平衡器名為 myLoadBalancer

建立資源群組

Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。

使用 az group create 來建立資源群組:

  az group create \
    --name TutorGwLB-rg \
    --location eastus

設定虛擬網路

位於閘道負載平衡器後端集區的資源需要使用虛擬網路。

建立虛擬網路

使用 az network vnet create 建立虛擬網路。

  az network vnet create \
    --resource-group TutorGwLB-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

建立 Bastion 公用 IP 位址

使用 az network public-ip create 建立 Azure Bastion 主機的公用 IP 位址

az network public-ip create \
    --resource-group TutorGwLB-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

建立 Bastion 子網路

使用 az network vnet subnet create 建立 Bastion 子網路。

az network vnet subnet create \
    --resource-group TutorGwLB-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

建立 Bastion 主機

使用 az network bastion create 來部署 Bastion 主機,藉此在虛擬網路中安全地管理資源。

az network bastion create \
    --resource-group TutorGwLB-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

部署 Azure Bastion 主機需要幾分鐘的時間。

重要

無論輸出資料使用量為何,每小時價格都是從部署 Bastion 的那一刻開始計費。 如需詳細資訊,請參閱價格SKU。 如果您要將 Bastion 部署為教學課程或測試的一部分,建議您在完成使用之後刪除此資源。

設定 NSG

可使用以下範例建立網路安全性群組。 需要在先前建立的虛擬網路中,設定網路流量所需的 NSG 規則。

建立 NSG

使用 az network nsg create 建立 NSG。

  az network nsg create \
    --resource-group TutorGwLB-rg \
    --name myNSG

建立 NSG 規則

使用 az network nsg rule create 來建立 NSG 的規則。

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll-TCP-Out \
    --protocol 'TCP' \
    --direction outbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

如何設定閘道負載平衡器

本節會帶領您建立設定並部署閘道負載平衡器。

建立閘道負載平衡器

若要建立負載平衡器,請使用 az network lb create

  az network lb create \
    --resource-group TutorGwLB-rg \
    --name myLoadBalancer-gw \
    --sku Gateway \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackendPool \
    --frontend-ip-name myFrontEnd

建立通道介面

系統會自動建立 Azure CLI 的內部介面,具有 900--identifier10800--port

您將使用 az network lb address-pool tunnel-interface add 來建立負載平衡器的外部通道介面。

  az network lb address-pool tunnel-interface add \
    --address-pool myBackEndPool \
    --identifier '901' \
    --lb-name myLoadBalancer-gw \
    --protocol VXLAN \
    --resource-group TutorGwLB-rg \
    --type External \
    --port '10801'

建立健全狀況探查

需要健全狀態探查,才能監視負載平衡器中後端執行個體的健全狀態。 使用 az network lb probe create 來建立健全狀態探查。

  az network lb probe create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myHealthProbe \
    --protocol http \
    --port 80 \
    --path '/' \
    --interval '5' \
    --threshold '2'
    

建立負載平衡規則

目的地為後端執行個體的流量會以負載平衡規則進行路由。 使用 az network lb rule create 來建立負載平衡規則。

  az network lb rule create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myLBRule \
    --protocol All \
    --frontend-port 0 \
    --backend-port 0 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe

將網路虛擬設備新增到 Gateway Load Balancer 後端集區

可透過 Azure Marketplace 部署 NVA。 部署完成後,使用 az network nic ip-config address-pool add 將虛擬機器新增至後端集區。

將負載平衡器前端鏈結到閘道負載平衡器

在此範例中,您會將標準負載平衡器的前端鏈結到閘道負載平衡器。

需將該前端新增到您訂閱項目中既有的負載平衡器前端 IP。

使用 az network lb frontend-ip show 將閘道負載平衡器前端的資源識別碼放到變數中。

使用 az network lb frontend-ip update,將閘道負載平衡器前端鏈結至現有的負載平衡器。

  feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)

  az network lb frontend-ip update \
    --resource-group CreatePubLBQS-rg \
    --name myFrontendIP \
    --lb-name myLoadBalancer \
    --public-ip-address myPublicIP \
    --gateway-lb $feid

將虛擬機器鏈結至閘道負載平衡器

或者可以將 VM 的 NIC IP 設定鏈結至閘道負載平衡器。

您會將閘道負載平衡器的前端,新增至現有 VM 的 NIC IP 設定。

使用 az network lb frontend-ip show 將閘道負載平衡器前端的資源識別碼放到變數中。

使用 az network lb frontend-ip update,將閘道負載平衡器前端鏈結至您現有 VM 的 NIC IP 設定。

 feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)
    
  az network nic ip-config update \
    --resource-group MyResourceGroup
    --nic-name MyNIC 
    --name MyIPconfig 
    --gateway-lb $feid

清除資源

若不再需要,您可以使用 az group delete 命令來移除資源群組、負載平衡器和其餘資源。

  az group delete \
    --name TutorGwLB-rg

下一步

請在 Azure 中建立網路虛擬設備。

建立網路虛擬設備時,請選擇本教學課程中建立的資源:

  • 虛擬網路

  • 子網路

  • 網路安全性群組

  • 閘道負載平衡器

前往下一篇文章,以了解如何建立跨區域 Azure Load Balancer。