你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 Azure CLI 创建网关负载均衡器

Azure 负载均衡器包括标准、基本和网关 SKU。 网关负载均衡器用于以透明方式插入网络虚拟设备 (NVA)。 对于需要实现 NVA 高性能和高度可伸缩性的方案,可以使用网关负载均衡器。

在本教程中,你将了解如何执行以下操作:

  • 创建虚拟网络。
  • 创建网络安全组。
  • 创建网关负载均衡器。
  • 将负载均衡器前端链接到网关负载均衡器。

先决条件

  • 本教程需要 Azure CLI 版本 2.0.28 或更高版本。 如果使用 Azure Cloud Shell,则最新版本已安装。

  • 一个具有有效订阅的 Azure 帐户。免费创建一个帐户

  • 一个现有的公共标准 SKU Azure 负载均衡器。 有关创建负载均衡器的详细信息,请参阅 使用 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

创建堡垒公共 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

Azure Bastion 子网

使用 az network vnet subnet create 创建堡垒子网。

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

创建堡垒主机

使用 network bastion create 部署堡垒主机,以便安全管理虚拟网络中的资源。

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 的 --identifier 和 10800 的 --port

你将使用 az network lb address pool 隧道接口 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

将网络虚拟设备添加到网关负载均衡器后端池

通过 Azure 市场部署 NVA。 部署后,使用 az network nic ip-config address-pool add 将虚拟机添加到后端池。

将负载均衡器前端链接到网关负载均衡器

此示例将标准负载均衡器的前端链接到网关负载均衡器。

它会将前端添加到订阅中现有负载均衡器的前端 IP。

使用 az network lb 前端-ip show 将网关负载均衡器前端的资源 ID 置于变量中。

使用 az network lb 前端-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 前端-ip show 将网关负载均衡器前端的资源 ID 置于变量中。

使用 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 中创建网络虚拟设备。

创建 NVA 时,请选择本教程中创建的资源:

  • 虚拟网络

  • 子网

  • 网络安全组

  • 网关负载均衡器

请继续学习下一篇文章,了解如何创建跨区域 Azure 负载均衡器。