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

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

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

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

先决条件

  • 如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

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

  • 具有有效订阅的 Azure 帐户。创建试用订阅

  • 一个现有的公共标准 SKU Azure 负载均衡器。 有关创建负载均衡器的详细信息,请参阅 使用 Azure CLI 创建公共负载均衡器

    • 对于本教程,示例中现有的负载均衡器名为 myLoadBalancer。

创建资源组

Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。

使用 az group create 创建资源组:

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

配置虚拟网络

网关负载均衡器后端池中的资源需要一个虚拟网络。

创建虚拟网络

使用 az network vnet create 创建虚拟网络。

  az network vnet create \
    --resource-group TutorGwLB-rg \
    --location chinanorth3 \
    --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 chinanorth3

部署 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 将虚拟机添加到后端池。

清理资源

如果不再需要资源组、负载均衡器和剩余资源,可以使用 az group delete 命令将其删除。

  az group delete \
    --name TutorGwLB-rg

后续步骤

在 Azure 中创建网络虚拟设备。

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

  • 虚拟网络

  • 子网

  • 网络安全组

  • 网关负载均衡器

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