使用 Azure CLI 在 Azure 虚拟网络中将 IPv6 添加到 IPv4 应用程序

本文介绍如何通过 Azure CLI,将 IPv6 地址添加到对标准负载均衡器使用 Azure 虚拟网络中 IPv4 公共 IP 地址的应用程序。 就地升级涉及到虚拟网络和子网、采用 IPv4 + IPV6 前端配置的标准负载均衡器、包含采用 IPv4 + IPv6 配置的 NIC 的 VM、网络安全组和公共 IP。

先决条件

可以使用本地 Azure CLI。

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

  • 本地 Azure 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,则最新版本已安装。

创建 IPv6 地址

使用 az network public-ip create 为标准负载均衡器创建公共 IPv6 地址。 以下示例在 myResourceGroupSLB 资源组中创建名为 PublicIP_v6 的 IPv6 公共 IP 地址:

az network public-ip create \
--name PublicIP_v6 \
--resource-group MyResourceGroupSLB \
--location ChinaEast \
--sku Standard \
--allocation-method static \
--version IPv6

配置 IPv6 负载均衡器前端

运行 az network lb frontend-ip create 配置使用新 IPv6 IP 地址的负载均衡器,如下所示:

az network lb frontend-ip create \
--lb-name myLoadBalancer \
--name dsLbFrontEnd_v6 \
--resource-group MyResourceGroupSLB \
--public-ip-address PublicIP_v6

配置 IPv6 负载均衡器后端池

运行 az network lb address-pool create 为使用 IPv6 地址的 NIC 创建后端池,如下所示:

az network lb address-pool create \
--lb-name myLoadBalancer \
--name dsLbBackEndPool_v6 \
--resource-group MyResourceGroupSLB

配置 IPv6 负载均衡器规则

使用 az network lb rule create 创建 IPv6 负载均衡器规则。

az network lb rule create \
--lb-name myLoadBalancer \
--name dsLBrule_v6 \
--resource-group MyResourceGroupSLB \
--frontend-ip-name dsLbFrontEnd_v6 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--backend-pool-name dsLbBackEndPool_v6

添加 IPv6 地址范围

将 IPv6 地址范围添加到托管负载均衡器的虚拟网络和子网,如下所示:

az network vnet update \
--name myVnet  \
--resource-group MyResourceGroupSLB \
--address-prefixes  "10.0.0.0/16"  "fd00:db8:deca::/48"

az network vnet subnet update \
--vnet-name myVnet \
--name mySubnet \
--resource-group MyResourceGroupSLB \
--address-prefixes  "10.0.0.0/24"  "fd00:db8:deca:deed::/64"  

清理资源

如果不再需要资源组、VM 和所有相关的资源,可以使用 az group delete 命令将其删除。

 az group delete --name MyAzureResourceGroupSLB

后续步骤

在本文中,你已将采用 IPv4 前端 IP 配置的现有标准负载均衡器更新为双堆栈(IPv4 和 IPv6)配置。 你还将 IPv6 配置添加到了后端池中 VM 的 NIC。 若要详细了解 Azure 虚拟网络中的 IPv6 支持,请参阅 Azure 虚拟网络 IPv6 是什么?