title | titlesuffix | description | services | documentationcenter | author | manager | ms.service | ms.topic | ms.tgt_pltfrm | ms.workload | ms.date | ms.author | ms.custom | ms.devlang |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Add IPv6 to an IPv4 application in Azure virtual network - Azure CLI |
Azure Virtual Network |
This article shows how to deploy IPv6 addresses to an existing application in Azure virtual network using Azure CLI. |
virtual-network |
na |
KumudD |
mtillman |
virtual-network |
how-to |
na |
infrastructure-services |
03/31/2020 |
kumud |
devx-track-azurepowershell, devx-track-azurecli |
azurecli |
This article shows you how to add IPv6 addresses to an application that is using IPv4 public IP address in an Azure virtual network for a Standard Load Balancer using Azure CLI. The in-place upgrade includes a virtual network and subnet, a Standard Load Balancer with IPv4 + IPV6 frontend configurations, VMs with NICs that have a IPv4 + IPv6 configurations, network security group, and public IPs.
- This article assumes that you deployed a Standard Load Balancer as described in Quickstart: Create a Standard Load Balancer - Azure CLI.
[!INCLUDE azure-cli-prepare-your-environment-no-header.md]
- This article requires version 2.0.28 or later of the Azure CLI. If using Azure Cloud Shell, the latest version is already installed.
Create public IPv6 address with with az network public-ip create for your Standard Load Balancer. The following example creates an IPv6 public IP address named PublicIP_v6 in the myResourceGroupSLB resource group:
az network public-ip create \
--name PublicIP_v6 \
--resource-group MyResourceGroupSLB \
--location EastUS \
--sku Standard \
--allocation-method static \
--version IPv6
Configure the load balancer with the new IPv6 IP address using az network lb frontend-ip create as follows:
az network lb frontend-ip create \
--lb-name myLoadBalancer \
--name dsLbFrontEnd_v6 \
--resource-group MyResourceGroupSLB \
--public-ip-address PublicIP_v6
Create the backend pool for NICs with IPv6 addresses using az network lb address-pool create as follows:
az network lb address-pool create \
--lb-name myLoadBalancer \
--name dsLbBackEndPool_v6 \
--resource-group MyResourceGroupSLB
Create IPv6 load balancer rules with az network lb rule create.
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
Add IPv6 address ranges to the virtual network and subnet hosting the load balancer as follows:
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"
Configure the VM NICs with an IPv6 address using az network nic ip-config create as follows:
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
You can view the IPv6 dual stack virtual network in Azure portal as follows:
- In the portal's search bar, enter myVnet.
- When myVnet appears in the search results, select it. This launches the Overview page of the dual stack virtual network named myVNet. The dual stack virtual network shows the three NICs with both IPv4 and IPv6 configurations located in the dual stack subnet named mySubnet.
When no longer needed, you can use the Remove-AzResourceGroup command to remove the resource group, VM, and all related resources.
az group delete --name MyAzureResourceGroupSLB
In this article, you updated an existing Standard Load Balancer with a IPv4 frontend IP configuration to a dual stack (IPv4 and IPv6) configuration. You also added IPv6 configurations to the NICs of the VMs in the backend pool. To learn more about IPv6 support in Azure virtual networks, see What is IPv6 for Azure Virtual Network?