Aggiungere un'applicazione IPv4 a IPv6 nella rete virtuale di Azure usando PowerShell
Questo articolo illustra come aggiungere la connettività IPv6 a un'applicazione IPv4 esistente in una rete virtuale di Azure con un'istanza di Load Balancer Standard e un indirizzo IP pubblico. L'aggiornamento sul posto include:
- Spazio indirizzi IPv6 per la rete virtuale e la subnet
- Load Balancer Standard con configurazioni front-end IPv4 e IPV6
- Macchine virtuali con schede di interfaccia di rete con una configurazione IPv4 + IPv6
- IP pubblico di tipo IPv6 in modo che il servizio di bilanciamento del carico abbia connettività IPv6 con connessione Internet
Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione | Esempio/Collegamento |
---|---|
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.
Selezionare INVIO per eseguire il codice o il comando.
Se si sceglie di installare e usare PowerShell in locale, per questo articolo è necessario il modulo Azure PowerShell 6.9.0 o versione successiva. Eseguire Get-Module -ListAvailable Az
per trovare la versione installata. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzAccount
per creare una connessione con Azure.
Prerequisiti
Questo articolo presuppone che sia stata distribuita un'istanza di Load Balancer Standard come descritto in Avvio rapido: Creare un'istanza di Load Balancer Standard - Azure PowerShell.
Recuperare il gruppo di risorse
Prima di creare la rete virtuale dual stack, è necessario recuperare il gruppo di risorse con Get-AzResourceGroup.
$rg = Get-AzResourceGroup -ResourceGroupName "myResourceGroupSLB"
Creare indirizzi IP di tipo IPv6
Creare un indirizzo IPv6 pubblico con New-AzPublicIpAddress per Load Balancer Standard. L'esempio seguente crea un indirizzo IP pubblico di tipo IPv6 denominato PublicIP_v6 nel gruppo di risorse myResourceGroupSLB:
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "PublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Sku Standard `
-AllocationMethod Static `
-IpAddressVersion IPv6
Configurare il front-end del servizio di bilanciamento del carico
Recuperare la configurazione del servizio di bilanciamento del carico esistente e quindi aggiungere il nuovo indirizzo IP di tipo IPv6 usando Add-AzLoadBalancerFrontendIpConfig come indicato di seguito:
# Retrieve the load balancer configuration
$lb = Get-AzLoadBalancer -ResourceGroupName $rg.ResourceGroupName -Name "MyLoadBalancer"
# Add IPv6 components to the local copy of the load balancer configuration
$lb | Add-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
#Update the running load balancer with the new frontend
$lb | Set-AzLoadBalancer
Configurare il pool back-end del servizio di bilanciamento del carico
Creare il pool back-end nella copia locale della configurazione del servizio di bilanciamento del carico e aggiornare il servizio di bilanciamento del carico in esecuzione con la nuova configurazione del pool back-end come indicato di seguito:
$lb | Add-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6"
# Update the running load balancer with the new backend pool
$lb | Set-AzLoadBalancer
Configurare le regole del servizio di bilanciamento del carico
Recuperare la configurazione del pool front-end e back-end del servizio di bilanciamento del carico esistente e quindi aggiungere nuove regole di bilanciamento del carico usando Add-AzLoadBalancerRuleConfig.
# Retrieve the updated (live) versions of the frontend and backend pool
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "dsLbFrontEnd_v6" -LoadBalancer $lb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6" -LoadBalancer $lb
# Create new LB rule with the frontend and backend
$lb | Add-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80
#Finalize all the load balancer updates on the running load balancer
$lb | Set-AzLoadBalancer
Aggiungere intervalli di indirizzi IPv6
Aggiungere intervalli di indirizzi IPv6 alla rete virtuale e alla subnet che ospitano le macchine virtuali come indicato di seguito:
#Add IPv6 ranges to the VNET and subnet
#Retreive the VNET object
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rg.ResourceGroupName -Name "myVnet"
#Add IPv6 prefix to the VNET
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")
#Update the running VNET
$vnet | Set-AzVirtualNetwork
#Retrieve the subnet object from the local copy of the VNET
$subnet= $vnet.subnets[0]
#Add IPv6 prefix to the Subnet (subnet of the VNET prefix, of course)
$subnet.addressprefix.add("fd00:db8:deca::/64")
#Update the running VNET with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Aggiungere la configurazione IPv6 alla scheda di interfaccia di rete
Configurare tutte le schede di interfaccia di rete della macchina virtuale con un indirizzo IPv6 usando Add-AzNetworkInterfaceIpConfig come indicato di seguito:
#Retrieve the NIC objects
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$NIC_2 = Get-AzNetworkInterface -Name "myNic2" -ResourceGroupName $rg.ResourceGroupName
$NIC_3 = Get-AzNetworkInterface -Name "myNic3" -ResourceGroupName $rg.ResourceGroupName
#Add an IPv6 IPconfig to NIC_1 and update the NIC on the running VM
$NIC_1 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_2 and update the NIC on the running VM
$NIC_2 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_2 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_3 and update the NIC on the running VM
$NIC_3 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_3 | Set-AzNetworkInterface
Visualizzare la rete virtuale dual stack IPv6 in portale di Azure
È possibile visualizzare la rete virtuale dual stack IPv6 in portale di Azure come indicato di seguito:
Nella barra di ricerca del portale, immettere reti virtuali e
Nella finestra Reti virtuali, selezionare myVNet.
Selezionare Dispositivi connessi in Impostazioni per visualizzare le interfacce di rete collegate. La rete virtuale dual stack mostra le tre schede di interfaccia di rete con configurazioni IPv4 e IPv6.
Pulire le risorse
Quando non servono più, è possibile usare il comando Remove-AzResourceGroup per rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate.
Remove-AzResourceGroup -Name MyAzureResourceGroupSLB
Passaggi successivi
In questo articolo è stata aggiornata un'istanza di Load Balancer Standard esistente con una configurazione IP front-end IPv4 a una configurazione dual stack (IPv4 e IPv6). Sono state aggiunte anche configurazioni IPv6 alle schede di interfaccia di rete delle macchine virtuali nel pool back-end e alla rete virtuale che le ospita. Per altre informazioni sul supporto IPv6 nelle reti virtuali di Azure, vedere Che cos'è IPv6 per la rete virtuale di Azure?