使用 Azure CLI 在 Azure 虚拟网络中将 IPv6 添加到 IPv4 应用程序
本文介绍如何通过 Azure CLI,将 IPv6 地址添加到对标准负载均衡器使用 Azure 虚拟网络中 IPv4 公共 IP 地址的应用程序。 就地升级涉及到虚拟网络和子网、采用 IPv4 + IPV6 前端配置的标准负载均衡器、包含采用 IPv4 + IPv6 配置的 NIC 的 VM、网络安全组和公共 IP。
先决条件
- 本文假设已根据以下文章所述部署了一个标准负载均衡器:快速入门:创建标准负载均衡器 - Azure CLI。
可以使用本地 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 是什么?