你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将附加到可用性集中 VM 的所有公共 IP 地址从基本 SKU 升级为标准 SKU
重要
基本 SKU 公共 IP 将于 2025 年 9 月 30 日停用。 有关详细信息,请查看官方公告。 如果你当前使用的是基本 SKU 公共 IP,请确保在停用日期之前升级到标准 SKU 公共 IP。 本文将引导你完成升级过程。
若要详细了解基本 SKU 公共 IP 的停用情况和标准 SKU 公共 IP 的优势,请查看此处
升级概述
此脚本可将附加到可用性集中虚拟机 (VM) 的任何公共 IP 地址从基本 SKU 升级为标准 SKU。 为了执行升级,公共 IP 地址分配方法将在与每个 VM 取消关联之前设置为静态。 取消关联后,公共 IP SKU 将升级为标准 SKU,然后 IP 将与原始 VM 重新关联,直到所有 IP 升级完毕。
由于公共 IP 分配在与 VM 分离之前设置为“静态”,因此即使是在脚本失败的情况下,IP 地址在升级过程中也不会更改。 在公共 IP 与 VM 分离之前,模块会仔细检查公共 IP 分配方法是否为“静态”。
模块将所有升级活动记录到名为 AvSetPublicIPUpgrade.log
的文件中,该文件是在执行模块的位置创建的(默认情况下)。
约束/不支持的方案
具有与负载均衡器关联的网络接口的 VM:由于与 VM 关联的负载均衡器和公共 IP SKU 必须匹配,因此如果 VM 的网络接口也与负载均衡器关联(通过后端池或 NAT 池成员资格),则无法升级与 VM 关联的实例级公共 IP 地址。 使用脚本将基本负载均衡器升级到标准 SKU 同时升级负载均衡器和公共 IP。
没有网络安全组的 VM:具有要升级的 IP 的 VM 必须有网络安全组 (NSG) 与使用公共 IP 的每个 IP 配置的子网相关联,或者与 NIC 直接关联。 这是因为标准 SKU 公共 IP“默认安全”,这意味着必须在 NSG 上显式允许流向公共 IP 的任何流量才能到达 VM。 默认情况下,基本 SKU 公共 IP 允许任何流量。 在没有 NSG 的情况下升级公共 IP SKU 会导致入站 Internet 流量进入之前在基本 SKU 中允许的公共 IP。 请参阅:公共 IP SKU
下载脚本
从 PowerShell 库下载迁移脚本。
Install-Module -Name AzureAvSetBasicPublicIPUpgrade -Scope CurrentUser -Repository PSGallery -Force
使用模块
使用
Select-AzSubscription
选择可用性集所在的 Azure 订阅Select-AzSubscription -Subscription <SubscriptionId>
找到包含你要升级的附加基本公共 IP 的可用性集。 记下其名称和资源组名称。
检查模块参数:
- AvailabilitySetName [string](必需)- 此参数是可用性集的名称。
- ResourceGroupName [string](必需)- 此参数是可用性集的资源组,其中包含你要升级的附加基本公共 IP。
使用以下示例或
Get-Help Start-AzAvSetPublicIPUpgrade
作为指导来运行升级。
脚本的示例用法
将可用性集名称和资源组名称作为参数传递,升级单个可用性集中的 VM。
Start-AzAvSetPublicIPUpgrade -availabilitySetName 'myAvSet' -resourceGroupName 'myRG'
评估单个可用性集中的 VM,无需进行任何更改
Start-AzAvSetPublicIPUpgrade -availabilitySetName 'myAvSet' -resourceGroupName 'myRG' -WhatIf
尝试升级用户有权访问的每个可用性集中的 VM。 将跳过没有公共 IP、已升级或没有 NSG 的 VM。
Get-AzAvailabilitySet -resourceGroupName 'myRG' | Start-AzAvSetPublicIPUpgrade -skipVMMissingNSG
迁移失败后可以恢复,为此可以传递要恢复的可用性集的名称和资源组以及恢复日志文件。
Start-AzAvSetPublicIPUpgrade -RecoverFromFile ./AvSetPublicIPUpgrade_Recovery_2020-01-01-00-00.csv -AvailabilitySetName myAvSet -ResourceGroup rg-myrg
从失败的迁移中恢复
如果迁移由于暂时性问题(例如网络中断或客户端系统问题)而失败,可重试迁移,在目标状态下配置 VM 和公共 IP。 在执行时,脚本会输出恢复日志文件,用于确保正确重新配置 VM。 查看在执行脚本的位置创建的日志文件 AvSetPublicIPUpgrade.log
。
若要从失败的升级中恢复,请使用 -recoverFromFile
参数将恢复日志文件路径传递给脚本,并使用 -AvailabilitySetName
参数标识要恢复的可用性集,如本示例所示。
Start-VMPublicIPUpgrade -RecoverFromFile ./AvSetPublicIPUpgrade_Recovery_2020-01-01-00-00.csv -AvailabilitySetName myAvSet -ResourceGroupName rg-myrg
常见问题
迁移需要多长时间?VM 在其公共 IP 上有多长时间无法访问?
升级 VM 的公共 IP 所需的时间取决于与该 VM 关联的公共 IP 和网络接口的数量。 在测试中,具有单个 NIC 和公共 IP 的 VM 需要 1 到 2 分钟的时间来升级。 VM 上的每个 NIC 会使升级时间额外增加大约一分钟,每个公共 IP 使时间增加几秒。
是否可回滚到基本 SKU 公共 IP?
无法将公共 IP 地址从“标准”降级为“基本”。
是否可以在执行之前测试迁移?
如果没有完成操作,无法评估公共 IP 的升级情况。 不过,此脚本包含一个 -WhatIf
参数,它用于检查可用性集 VM 是否支持升级,并在不执行操作的情况下演练步骤。
脚本是否支持区域基本 SKU 公共 IP?
是,将区域基本 SKU 公共 IP 升级到区域标准 SKU 公共 IP 的过程是相同的,适用于脚本。