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

管理自定义 IP 地址前缀

自定义 IP 地址前缀是外部客户拥有并预配到订阅中的连续 IP 地址范围。 客户拥有该范围,并允许 Microsoft 播发该范围。 有关详细信息,请参阅自定义 IP 地址前缀概述

本文介绍如何执行以下操作:

  • 使用区域委托功能安全地将有效前缀迁移到 Azure

  • 根据已预配的自定义 IP 前缀创建公共 IP 前缀

  • 从 Microsoft 外部迁移活动 IP 前缀

  • 查看有关自定义 IP 前缀的信息

  • 解除自定义 IP 前缀

  • 取消预配/删除自定义 IP 前缀

有关如何预配 IP 地址的信息,请参阅创建自定义 IP 地址前缀 - Azure 门户创建自定义 IP 地址前缀 - Azure PowerShell创建自定义 IP 地址前缀 - Azure CLI

根据自定义 IP 前缀创建公共 IP 前缀

如果自定义 IP 前缀处于“已预配”、“委托中”或“已委托”状态,则可以创建链接的公共 IP 前缀。 作为自定义 IP 前缀范围或整个范围的子集。

使用以下 CLI 和 PowerShell 命令创建带有指向现有自定义 IP 前缀的 --custom-ip-prefix-name (CLI) 和 -CustomIpPrefix (PowerShell) 参数的公共 IP 前缀。

工具 命令
CLI az network custom-ip prefix update
PowerShell New-AzPublicIpPrefix

注意

可以使用 Azure PowerShell 或 Azure 门户从具有适当权限的另一个订阅中的自定义 IP 前缀派生公共 IP 前缀。

Diagram of custom IP prefix showing derived public IP prefixes across multiple subscriptions.

使用 PowerShell 根据自定义 IP 前缀派生公共 IP 前缀的示例如下所示:

Set-AzContext -Subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$customprefix = Get-AzCustomIpPrefix -Name myBYOIPPrefix -ResourceGroupName myResourceGroup
Set-AzContext -Subscription yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
New-AzPublicIpPrefix -Name myPublicIpPrefix -ResourceGroupName myResourceGroup2 -Location eastus -PrefixLength 30 -CustomIpPrefix $customprefix

创建后,子公共 IP 前缀中的 IP 可以像任何其他标准 SKU 静态公共 IP 一样与资源关联。 若要详细了解如何使用来自公共 IP 前缀的 IP,包括从范围中选择某个特定 IP,请参阅根据前缀创建静态公共 IP 地址

从 Microsoft 外部迁移活动前缀

如果另一个网络将预配的范围播发到 Internet,则应计划迁移到 Azure 以防止意外停机。 无论选择哪种方法,都使用维护时段进行转换。

方法 1:如果自定义 IP 前缀处于“已预配”状态,则根据该前缀创建公共 IP 前缀和公共 IP 地址

  • 公共 IP 可与网络资源关联,但不会被播发,也无法访问。 如果执行了用于将自定义 IP 前缀状态更新为“Commissioned”的命令,则 IP 会从 Microsoft 的网络进行播发。 任何来自 Microsoft 以外位置的相同范围的播发都可能导致 BGP 路由不稳定或流量丢失。 例如,客户本地生成。 验证 Azure 基础结构可运行后,应禁用播发。

方法 2:使用 Microsoft 范围根据前缀创建公共 IP 前缀和公共 IP 地址。 在订阅中部署基础结构并验证其是否正常运行

  • 如果自定义 IP 前缀处于“已预配”状态,则创建第二组镜像公共 IP 前缀和公共 IP 地址。 将已预配的 IP 添加到现有基础结构。 例如,将其他网络接口添加到虚拟机或负载均衡器的另一个前端。 在发出用于将自定义 IP 前缀状态更改为“已委托”的命令之前,请对所需 IP 执行更改。

  • 此外,也可以先委托范围,然后再进行更改。 此过程不适用于具有公共 IP 的所有资源类型。 在这些情况下,必须创建具有已预配的公共 IP 的新资源。

使用区域委托功能

当自定义 IP 前缀转换为完全的“已委托”状态时,范围将由 Microsoft 从本地 Azure 区域播发,并由 Microsoft 的广域网播发到 Internet(全球)。 如果当前正在从 Microsoft 以外的位置同时将范围播发到 Internet,则可能会出现 BGP 路由不稳定或流量丢失的情况。 为了简化当前位于 Azure 外部的范围的转换,可以利用区域委托功能,该功能会将载入的范围置于“CommissionedNoInternetAdvertise”状态,而在该状态下,它仅从单个 Azure 区域内进行播发。 该状态允许在将此范围播发到 Internet 之前测试该区域内的所有附加基础结构,可以很好地遵循上述部分中方法 1 的要求。

在 Azure 门户中使用以下步骤将自定义 IP 前缀置于此状态:

  1. 在 Azure 门户顶部的搜索框中,输入“自定义 IP”,然后选择“自定义 IP 前缀”。

  2. 在“自定义 IP 前缀”中,验证自定义 IP 前缀是否以“已预配”状态列出。 根据需要刷新状态,直到状态正确。

  3. 从资源列表中选择自定义 IP 前缀。

  4. 在自定义 IP 前缀的“概述”中,选择“委托”下拉菜单,然后选择“仅 <Resource_Region>”。

该操作是异步的。 可以通过查看自定义 IP 前缀的“委托状态”字段来检查状态。 状态最初会将前缀显示为“正在委托”,然后显示为“已委托”。 播发推出不是二进制的,范围仍处于“Commissioning”状态时将部分播发。

使用以下示例 PowerShell 将自定义 IP 前缀范围置于此状态。

Update-AzCustomIpPrefix 
(other arguments)
-Commission
-NoInternetAdvertise

查看自定义 IP 前缀

若要查看自定义 IP 前缀,可以在 Azure CLI 和 Azure PowerShell 中使用以下命令。 此时会显示根据自定义 IP 前缀创建的所有公共 IP 前缀。

命令

工具 命令
CLI az network custom-ip prefix list 用于列出自定义 IP 前缀
az network custom-ip prefix show 用于显示设置和任何派生的公共 IP 前缀
PowerShell Get-AzCustomIpPrefix 用于检索自定义 IP 前缀对象并查看其设置和任何派生的公共 IP 前缀

解除自定义 IP 前缀

必须先解除自定义 IP 前缀,才能关闭播发。

注意

必须先删除根据已预配的自定义 IP 前缀创建的所有公共 IP 前缀,然后才能解除自定义 IP 前缀。 如果这可能会导致迁移过程中出现问题,请参阅下面有关区域委托的部分。

完全完成解除过程预计需要 3 - 4 小时。

可在 Azure CLI 和 Azure PowerShell 中使用以下命令来开始停止从 Azure 播发范围的过程。 该操作是异步操作,使用 view 命令来检索状态。 CommissionedState 字段最初将前缀显示为“Decommissioning”,然后显示为“Provisioned”,因为它会转换到之前的状态。 删除播发是一个循序渐进的过程,该范围将在仍处于“Decommissioning”状态时进行部分播发。

命令

工具 命令
Azure 门户 使用自定义 IP 前缀的“概述”部分中的“解除”选项
CLI az network custom-ip prefix update,其 --state 标志设置为 decommission
PowerShell Update-AzCustomIpPrefix,带有标志 -Decommission

另外,也可以使用自定义 IP 前缀的“概述”部分中的“解除”按钮通过 Azure 门户解除自定义 IP 前缀。

使用区域委托功能协助解除授权

自定义 IP 前缀必须清除公共 IP 前缀,然后才能进入“Decommissioning”状态。 为了简化迁移,可以反向使用区域委托功能。 可以将全局委托范围更改回区域委托状态。 通过此更改,可以确保在从各自的资源中删除任何公共 IP 地址之前,不再将范围播发到单个区域的范围之外。

命令与本页前面提到的命令类似:

Update-AzCustomIpPrefix 
(other arguments)
-Decommission
-NoInternetAdvertise

该操作是异步的。 可以通过查看自定义 IP 前缀的“委托状态”字段来检查状态。 状态最初会将前缀显示为“InternetDecommissioningInProgress”,然后显示为“CommissionedNoInternetAdvertise”。 到 Internet 的播发不是二进制的,范围在仍处于“InternetDecommissioningInProgress”状态时会部分播发。

取消预配/删除自定义 IP 前缀

若要完全删除自定义 IP 前缀,必须先取消配置该前缀,然后再将其删除。

注意

如果需要将预配范围从一个区域迁移到另一个区域,则必须先从第一个区域中完全删除原始自定义 IP 前缀,然后才能在另一个区域中创建具有相同地址范围的新自定义 IP 前缀。

完成取消预配过程的预计时间为 30 到 60 分钟。

可在 Azure CLI 和 Azure PowerShell 中使用以下命令从 Microsoft 取消预配和删除范围。 取消预配操作是异步操作。 可以使用 view 命令来检索状态。 “CommissionedState”字段最初将前缀显示为“Deprovisioning”,然后显示为“Deprovisioned”,因为它会转换到之前的状态。 如果范围处于“已取消预配”状态,则可以使用删除命令将其删除。

命令

工具 命令
Azure 门户 使用自定义 IP 前缀的“概述”部分中的“取消预配”选项
CLI az network custom-ip prefix update,其 --state 标志设置为 deprovision
az network custom-ip prefix delete 用于删除
PowerShell Update-AzCustomIpPrefix,带有标志 -Deprovision
Remove-AzCustomIpPrefix 用于删除

另外,也可以使用自定义 IP 前缀的“概述”部分中的“取消预配”按钮通过 Azure 门户解除自定义 IP 前缀,然后使用该部分中的“删除”按钮将其删除。

权限

为了获取公共 IP 地址前缀的管理权限,必须将你的帐户分配给网络参与者角色或自定义角色。

操作 名称
Microsoft.Network/customIPPrefixes/read 读取自定义 IP 地址前缀
Microsoft.Network/customIPPrefixes/write 创建或更新自定义 IP 地址前缀
Microsoft.Network/customIPPrefixes/delete 删除自定义 IP 地址前缀
Microsoft.Network/customIPPrefixes/join/action 根据自定义 IP 地址前缀创建公共 IP 前缀

排除故障和常见问题解答

本部分提供有关自定义 IP 前缀资源以及预配和删除过程的常见问题的答案。

创建新的自定义 IP 前缀后返回“ValidationFailed”错误

预配快速失败可能是由于前缀验证错误。 前缀验证错误表明我们无法验证你对该范围的所有权。 验证错误也可能表明我们无法验证 Microsoft 是否有权播发该范围,或该范围是否与给定订阅关联。 若要查看特定错误,请查看自定义 IP 前缀资源中的“FailedReason”字段(在门户的 JSON 视图中),然后查看以下部分的“状态消息”部分。

更新自定义 IP 前缀以进行播发后,它将转换为“CommissioningFailed”状态

如果无法完全播发自定义 IP 前缀,则它将转为“CommissioningFailed”状态。 若要查看特定错误,请查看自定义 IP 前缀资源中的“FailedReason”字段(在门户的 JSON 视图中),然后查看如下所示的“状态消息”部分,这将有助于确定委托过程在什么时候失败。

我无法解除自定义 IP 前缀

在解除自定义 IP 前缀之前,请确保该前缀没有公共 IP 前缀或公共 IP 地址。

我无法删除自定义 IP 前缀

若要删除自定义 IP 前缀,它必须处于“Deprovisioned”或“ValidationFailed”状态。 如果范围处于“ProvisionFailed”状态,必须先使其处于“Deprovisioned”状态,然后才能将其删除。 如果范围在很长一段时间内“卡”在“Provisioning”或“Deprovisioning”状态,请联系 Microsoft 支持部门。

如何将范围从一个区域迁移到另一个区域

若要迁移自定义 IP 前缀,必须先从一个区域取消预配该前缀。 然后,可以在另一个区域中创建具有相同 CIDR 的新自定义 IP 前缀。

使用 IPv6 时,是否有任何特殊注意事项

是 - 使用 BYOIPv6 时预配和委托存在多种差异。 有关详细信息,请参阅创建自定义 IPv6 地址前缀 - PowerShell

状态消息

从 Azure 载入或删除自定义 IP 前缀时,系统会更新资源的 FailedReason 属性。 如果使用 Azure 门户,消息会显示为顶级横幅。 下表列出了加入或移除自定义 IP 前缀时的状态消息。

注意

如果 FailedReason 为 OperationNotFailed,则表明自定义 IP 前缀处于稳定状态(例如“已预配”、“已委托”),没有明显问题。

验证失败

失败消息 说明
CustomerSignatureNotVerified 无法使用前缀的 Whois/RDAP 记录针对身份验证消息验证已签名的消息。
NotAuthorizedToAdvertiseThisPrefix

ASN8075NotAllowedToAdvertise
ASN8075 无权播发此前缀。 确保已正确提交路由源授权 (ROA)。
PrefixRegisteredInAfricaAndSouthAmericaNotAllowedInOtherRegion 使用 AFRINIC 或 LACNIC 注册 IP 前缀。 这些前缀不能在非洲/南美洲以外地区使用。
NotFindRoutingRegistryToGetCertificate 无法使用区域 Internet 注册表 (RIR) 的注册数据访问协议 (RDAP) 查找 IP 前缀的公钥。
CIDRInAuthorizationMessageNotMatchCustomerIP 授权消息中的 CIDR 与提交的 IP 地址不匹配。
ExpiryDateFormatInvalidOrNotInThefuture 授权消息中提供的到期日期格式错误或已过期。 预期格式为 yyyymmdd
AuthMessageFormatInvalid 授权消息格式无效。 预期格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx1.2.3.0/24yyyymmdd。
CannotParseValidCertificateFromRIRPage 无法使用区域 Internet 注册表 (RIR) 的注册数据访问协议 (RDAP) 分析 IP 前缀的公钥。
ROANotFound 无法查找用于验证的路由源授权 (ROA)。
CertFromRIRPageExpired 区域 Internet 注册表 (RIR) 的注册数据访问协议 (RDAP) 提供的公钥已过期。
InvalidPrefixLengthInROA 提供的前缀长度与路由源授权 (ROA) 中的前缀不匹配。
RIRNotSupport 仅支持在 ARIN、RIPE、APNIC、AFRINIC 和 LACNIC 中注册的前缀。
InvalidCIDRFormat CIDR 格式无效。 预期格式为 10.10.10.0/16。
InvalidCIDRFormatInAuthorizationMessage 授权消息中的 CIDR 格式无效。 预期格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx1.2.3.0/24yyyymmdd。
OperationFailedPleaseRetryLaterOrContactSupport 未知错误。 请联系支持人员。

注意

并非所有在委托或解除授权过程中显示的消息都指示失败,有些只是提供更详细的状态。

委托状态

状态消息 说明
RegionalCommissioningInProgress 委托范围在 Azure 内进行区域性播发。
CommissionedNoInternetAdvertise 该范围现在在 Azure 中进行区域播发。
InternetCommissioningInProgress 范围现在 Azure 内进行区域性播发,并被委托向 Internet 播发。

解除授权状态

状态消息 说明
InternetDecommissioningInProgress 当前正解除授权范围。 范围不再播发到 Internet。
RegionalDecommissioningInProgress 范围不再播发到 Internet,且目前处于解除授权状态。 范围不再在 Azure 内进行区域性播发。

委托失败

失败消息 说明
CommissionFailedRangeNotAdvertised 范围无法在 Azure 内进行区域性播发,或者无法播发到 Internet。
CommissionFailedRangeRegionallyAdvertised 范围无法播发到 Internet,但正在 Azure 内进行播发。
CommissionFailedRangeInternetAdvertised 范围无法以最佳方式进行播发,但正在向 Internet 和在 Azure 内播发。

解除授权失败

失败消息 说明
DecommissionFailedRangeInternetAdvertised 无法解除授权范围,范围仍向 Internet 和在 Azure 内播发。
DecommissionFailedRangeRegionallyAdvertised 无法解除授权范围,范围仍在 Azure 内播发,但不再向 Internet 播发。

后续步骤