你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 在 Azure 虚拟网络中将 IPv6 添加到 IPv4 应用程序
本文介绍如何通过 Azure CLI,将 IPv6 地址添加到对标准负载均衡器使用 Azure 虚拟网络中 IPv4 公共 IP 地址的应用程序。 就地升级涉及到虚拟网络和子网、采用 IPv4 + IPV6 前端配置的标准负载均衡器、包含采用 IPv4 + IPv6 配置的 NIC 的 VM、网络安全组和公共 IP。
先决条件
- 本文假设已根据以下文章所述部署了一个标准负载均衡器:快速入门:创建标准负载均衡器 - Azure CLI。
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 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 Cloud 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 EastUS \
--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"
将 IPv6 配置添加到 NIC
运行 az network nic ip-config create 配置使用 IPv6 地址的 VM NIC,如下所示:
az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name myNicVM1 \
--resource-group MyResourceGroupSLB \
--vnet-name myVnet \
--subnet mySubnet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
az network nic ip-config create \
--name dsIp6Config_NIC2 \
--nic-name myNicVM2 \
--resource-group MyResourceGroupSLB \
--vnet-name myVnet \
--subnet mySubnet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name myLoadBalancer
az network nic ip-config create \
--name dsIp6Config_NIC3 \
--nic-name myNicVM3 \
--resource-group MyResourceGroupSLB \
--vnet-name myVnet \
--subnet mySubnet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name myLoadBalancer
在 Azure 门户中查看 IPv6 双堆栈虚拟网络
可以在 Azure 门户中查看 IPv6 双堆栈虚拟网络,如下所述:
在门户的搜索框中,输入“虚拟网络”和
在“虚拟网络”窗口中,选择“myVNet”。
选择“设置”下的“已连接设备”,查看附加的网络接口。 双堆栈虚拟网络显示了三个 NIC,它们同时采用 IPv4 和 IPv6 配置。
清理资源
如果不再需要资源组、VM 和所有相关的资源,可以使用 az group delete 命令将其删除。
az group delete --name MyAzureResourceGroupSLB
后续步骤
在本文中,你已将采用 IPv4 前端 IP 配置的现有标准负载均衡器更新为双堆栈(IPv4 和 IPv6)配置。 你还将 IPv6 配置添加到了后端池中 VM 的 NIC。 若要详细了解 Azure 虚拟网络中的 IPv6 支持,请参阅 Azure 虚拟网络 IPv6 是什么?