教程:从入站 NAT 池迁移到 NAT 规则
Azure 负载均衡器 NAT 池是用于将负载均衡器前端端口自动分配给虚拟机规模集中的每个实例的旧方法。 标准 SKU 负载均衡器上的 NAT 规则已将此功能替换为更易于管理且配置速度更快的方法。
为什么要迁移到 NAT 规则?
NAT 规则提供的功能与 NAT 池相同,但具有以下优势:
- 可以使用门户管理 NAT 规则
- NAT 规则可以利用后端池,可简化配置
- NAT 规则配置更改的应用速度比 NAT 池更快
- NAT 池不能与用户配置的 NAT 规则结合使用
迁移过程
迁移过程将为目标负载均衡器上存在的每个入站 NAT 池创建新的后端池。 将为每个 NAT 池创建相应的 NAT 规则,并与新的后端池相关联。 现有的后端池成员资格将保留。
重要
迁移过程先从 NAT 池中删除虚拟机规模集,然后再将虚拟机规模集与新的 NAT 规则相关联。 这需要更新虚拟机规模集模型,可能会导致使用模型升级实例时短暂停机。
注意
迁移到 NAT 规则时,到虚拟机规模集实例的前端端口映射可能会更改,尤其是在单个 NAT 池具有多个关联的虚拟机规模集的情况下。 新端口的分配将按顺序与实例 ID 号对齐;当有多个虚拟机规模集时,会将端口分配给一个规模集中的所有实例,然后继续分配下一个规模集。
注意
Service Fabric 群集更新虚拟机规模集模型所需的时间更长(最长一小时)。
先决条件
- 若要将负载均衡器的 NAT 池迁移到 NAT 规则,负载均衡器 SKU 必须为“标准”。 若要自动执行此升级过程,请参阅使用 PowerShell 将基本负载均衡器升级到标准版中提供的步骤。
- 与目标负载均衡器关联的虚拟机规模集必须使用“手动”或“自动”升级策略,不支持“滚动”升级策略。 有关详细信息,请参阅虚拟机规模集升级策略
- 安装最新版本的 PowerShell
- 安装 Azure PowerShell 模块
安装“AzureLoadBalancerNATPoolMigration”模块
从 PowerShell 库安装模块
Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force
使用模块将 NAT 池升级到 NAT 规则
- 使用
Connect-AzAccount -Environment AzureChinaCloud
连接到 Azure - 查找 NAT 规则升级的目标负载均衡器,并记下其名称和资源组名称
- 运行迁移命令
示例:指定负载均衡器名称和资源组名称
Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <LoadBalancerName>
示例:从管道传递负载均衡器
Get-AzLoadBalancer -ResourceGroupName -ResourceGroupName <loadBalancerResourceGroupName> -Name <LoadBalancerName> | Start-AzNATPoolMigration
常见问题
迁移是否会导致 NAT 端口停机?
是,因为必须先删除 NAT 池,然后才能创建 NAT 规则,因此会有一小段时间,前端端口不会映射到后端端口。
注意
Service Fabric 群集上 NAT 端口的停机时间会更长,测试中的 Silver 群集会停机最长一个小时。
如果成员资格相同,是否需要同时保留迁移期间创建的新后端池和现有的后端池?
否,迁移后,可以查看新的后端池。 如果后端池之间的成员资格相同,则可以将 NAT 规则中的新后端池替换为现有后端池,然后删除新后端池。