你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Azure CLI 创建网关负载均衡器
Azure 负载均衡器包括标准、基本和网关 SKU。 网关负载均衡器用于以透明方式插入网络虚拟设备 (NVA)。 对于需要实现 NVA 高性能和高度可伸缩性的方案,可以使用网关负载均衡器。
在本教程中,你将了解如何执行以下操作:
- 创建虚拟网络。
- 创建网络安全组。
- 创建网关负载均衡器。
- 将负载均衡器前端链接到网关负载均衡器。
先决条件
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 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 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 负载均衡器。