Cet article explique comment déployer une application double pile (IPv4 + IPv6) à l’aide de Standard Load Balancer dans Azure. Le scénario comprend un réseau virtuel double pile avec un sous-réseau double pile, un équilibreur de charge standard avec des configurations frontales doubles (IPv4 + IPv6), des machines virtuelles dont les cartes réseau ont une configuration double IP, des règles de groupe de sécurité réseau double pile et des adresses IP publiques doubles.
Suivez ces instructions dans Azure PowerShell pour déployer une application IPv4 + IPv6 à l’aide de Standard Load Balancer dans Azure.
Créer un groupe de ressources
Avant de pouvoir créer un réseau virtuel double pile, vous devez créer un groupe de ressources avec la commande New-AzResourceGroup. L’exemple suivant crée un groupe de ressources nommé myRGDualStack à l’emplacement Est des États-Unis :
$rg = New-AzResourceGroup `
-ResourceGroupName "dsRG1" `
-Location "east us"
Créer des adresses IP publiques IPv4 et IPv6
Pour accéder à vos machines virtuelles à partir d’Internet, vous avez besoin d’adresses IP publiques IPv4 et IPv6 pour l’équilibreur de charge. Créez des adresses IP publiques avec New-AzPublicIpAddress. L’exemple suivant crée une adresse IP publique IPv4 et IPv6 nommée dsPublicIP_v4 et dsPublicIP_v6 dans le groupe de ressources dsRG1 :
$PublicIP_v4 = New-AzPublicIpAddress `
-Name "dsPublicIP_v4" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv4 `
-Sku Standard
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "dsPublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv6 `
-Sku Standard
Pour accéder à vos machines virtuelles à l’aide d’une connexion RDP, créez une adresse IP publique IPV4 pour les machines virtuelles avec New-AzPublicIpAddress.
$RdpPublicIP_1 = New-AzPublicIpAddress `
-Name "RdpPublicIP_1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
$RdpPublicIP_2 = New-AzPublicIpAddress `
-Name "RdpPublicIP_2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
Créer un équilibreur de charge standard
Dans cette section, vous allez configurer l’adresse IP frontale double (IPv4 et IPv6) et le pool d’adresses back-end pour l’équilibreur de charge, puis créer un équilibreur de charge standard.
Créer une adresse IP frontale
Créez une adresse IP frontale avec New-AzLoadBalancerFrontendIpConfig. L’exemple suivant crée des configurations IP frontales IPv4 et IPv6 nommées dsLbFrontEnd_v4 et dsLbFrontEnd_v6 :
$frontendIPv4 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v4" `
-PublicIpAddress $PublicIP_v4
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
Créez un pool d’adresses back-end avec New-AzLoadBalancerBackendAddressPoolConfig pour les machines virtuelles déployées ultérieurement. L’exemple suivant crée des pools d’adresses back-end nommés dsLbBackEndPool_v4 et dsLbBackEndPool_v6 pour inclure des machines virtuelles avec des configurations de carte réseau IPV4 et IPv6 :
$backendPoolv4 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v4"
$backendPoolv6 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v6"
Créer une sonde de santé
Utilisez Add-AzLoadBalancerProbeConfig pour créer une sonde d’intégrité pour surveiller l’intégrité des machines virtuelles.
$probe = New-AzLoadBalancerProbeConfig -Name MyProbe -Protocol tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
Créer une règle d’équilibreur de charge
Une règle d’équilibrage de charge est utilisée pour définir la distribution du trafic vers les machines virtuelles. Vous définissez la configuration IP frontale pour le trafic entrant et le pool d’adresses IP principal pour recevoir le trafic, ainsi que le port source et le port de destination requis. Pour vous assurer que seules les machines virtuelles saines reçoivent du trafic, vous pouvez éventuellement définir une sonde d’intégrité. L’équilibreur de charge de base utilise une sonde IPv4 pour évaluer l’intégrité des points de terminaison IPv4 et IPv6 sur les machines virtuelles. L'équilibreur de charge standard inclut la prise en charge des sondes de vérification de l'état IPv6 explicites.
Créez une règle d’équilibreur de charge avec Add-AzLoadBalancerRuleConfig. L’exemple suivant crée des règles d’équilibreur de charge nommées dsLBrule_v4 et dsLBrule_v6 et équilibre le trafic sur le port TCP80 vers les configurations IP front-end IPv4 et IPv6 :
$lbrule_v4 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v4" `
-FrontendIpConfiguration $frontendIPv4 `
-BackendAddressPool $backendPoolv4 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-probe $probe
$lbrule_v6 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-probe $probe
Créer un équilibreur de charge
Créez un équilibreur de charge standard avec New-AzLoadBalancer. L’exemple suivant crée un équilibreur de charge standard public nommé myLoadBalancer à l’aide des configurations IP frontales IPv4 et IPv6, des pools principaux et des règles d’équilibrage de charge que vous avez créées dans les étapes précédentes :
$lb = New-AzLoadBalancer `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "MyLoadBalancer" `
-Sku "Standard" `
-FrontendIpConfiguration $frontendIPv4,$frontendIPv6 `
-BackendAddressPool $backendPoolv4,$backendPoolv6 `
-LoadBalancingRule $lbrule_v4,$lbrule_v6 `
-Probe $probe
Créer des ressources réseau
Avant de déployer certaines machines virtuelles et de tester votre équilibreur, vous devez créer des ressources réseau de prise en charge : groupe à haute disponibilité, groupe de sécurité réseau, réseau virtuel et cartes réseau virtuelles.
Créer un ensemble de disponibilité
Pour améliorer la haute disponibilité de votre application, placez vos machines virtuelles dans un groupe à haute disponibilité.
Créez un ensemble de disponibilité avec New-AzAvailabilitySet. L’exemple suivant crée un groupe à haute disponibilité nommé myAvailabilitySet :
$avset = New-AzAvailabilitySet `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsAVset" `
-PlatformFaultDomainCount 2 `
-PlatformUpdateDomainCount 2 `
-Sku aligned
Création d’un groupe de sécurité réseau
Créez un groupe de sécurité réseau pour les règles qui régissent les communications entrantes et sortantes dans votre réseau virtuel.
Créer une règle de groupe de sécurité réseau pour le port 3389
Créez une règle de groupe de sécurité réseau pour autoriser les connexions RDP via le port 3389 avec New-AzNetworkSecurityRuleConfig.
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleRDP' `
-Description 'Allow RDP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389
Créer une règle de groupe de sécurité réseau pour le port 80
Créez une règle de groupe de sécurité réseau pour autoriser les connexions Internet via le port 80 avec New-AzNetworkSecurityRuleConfig.
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleHTTP' `
-Description 'Allow HTTP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80
Créer un groupe de sécurité réseau
Créez un groupe de sécurité réseau avec New-AzNetworkSecurityGroup.
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsNSG1" `
-SecurityRules $rule1,$rule2
Créer un réseau virtuel
Créez un réseau virtuel avec New-AzVirtualNetwork. L’exemple suivant crée un réseau virtuel nommé dsVnet avec mySubnet :
# Create dual stack subnet
$subnet = New-AzVirtualNetworkSubnetConfig `
-Name "dsSubnet" `
-AddressPrefix "10.0.0.0/24","fd00:db8:deca:deed::/64"
# Create the virtual network
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsVnet" `
-AddressPrefix "10.0.0.0/16","fd00:db8:deca::/48" `
-Subnet $subnet
Créer des cartes réseau
Créez des cartes réseau virtuelles avec New-AzNetworkInterface. L’exemple suivant crée deux cartes réseau virtuelles avec des configurations IPv4 et IPv6. (Une carte réseau virtuelle pour chaque machine virtuelle que vous créez pour votre application en procédant comme suit).
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_1
$Ip6Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp6Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv6 `
-LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 = New-AzNetworkInterface `
-Name "dsNIC1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_2
$NIC_2 = New-AzNetworkInterface `
-Name "dsNIC2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
Créer des machines virtuelles
Définissez un nom d’utilisateur administrateur et un mot de passe pour les machines virtuelles avec Get-Credential :
$cred = get-credential -Message "DUAL STACK VNET SAMPLE: Please enter the Administrator credential to log into the VMs."
Vous pouvez maintenant créer les machines virtuelles avec New-AzVM. L’exemple suivant crée deux machines virtuelles et les composants de réseau virtuel requis s’ils n’existent pas déjà.
$vmsize = "Standard_A2"
$ImagePublisher = "MicrosoftWindowsServer"
$imageOffer = "WindowsServer"
$imageSKU = "2019-Datacenter"
$vmName= "dsVM1"
$VMconfig1 = New-AzVMConfig -VMName $vmName -VMSize $vmsize -AvailabilitySetId $avset.Id 3> $null | Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent 3> $null | Set-AzVMSourceImage -PublisherName $ImagePublisher -Offer $imageOffer -Skus $imageSKU -Version "latest" 3> $null | Set-AzVMOSDisk -Name "$vmName.vhd" -CreateOption fromImage 3> $null | Add-AzVMNetworkInterface -Id $NIC_1.Id 3> $null
$VM1 = New-AzVM -ResourceGroupName $rg.ResourceGroupName -Location $rg.Location -VM $VMconfig1
$vmName= "dsVM2"
$VMconfig2 = New-AzVMConfig -VMName $vmName -VMSize $vmsize -AvailabilitySetId $avset.Id 3> $null | Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent 3> $null | Set-AzVMSourceImage -PublisherName $ImagePublisher -Offer $imageOffer -Skus $imageSKU -Version "latest" 3> $null | Set-AzVMOSDisk -Name "$vmName.vhd" -CreateOption fromImage 3> $null | Add-AzVMNetworkInterface -Id $NIC_2.Id 3> $null
$VM2 = New-AzVM -ResourceGroupName $rg.ResourceGroupName -Location $rg.Location -VM $VMconfig2
Déterminer les adresses IP des points de terminaison IPv4 et IPv6
Obtenez tous les objets d’interface réseau dans le groupe de ressources pour résumer les adresses IP utilisées dans ce déploiement avec get-AzNetworkInterface. Obtenez également les adresses front-end de Load Balancer des points de terminaison IPv4 et IPv6 avec get-AzpublicIpAddress.
$rgName= "dsRG1"
$NICsInRG= get-AzNetworkInterface -resourceGroupName $rgName
write-host `nSummary of IPs in this Deployment:
write-host ******************************************
foreach ($NIC in $NICsInRG) {
$VMid= $NIC.virtualmachine.id
$VMnamebits= $VMid.split("/")
$VMname= $VMnamebits[($VMnamebits.count-1)]
write-host `nPrivate IP addresses for $VMname
$IPconfigsInNIC= $NIC.IPconfigurations
foreach ($IPconfig in $IPconfigsInNIC) {
$IPaddress= $IPconfig.privateipaddress
write-host " "$IPaddress
IF ($IPconfig.PublicIpAddress.ID) {
$IDbits= ($IPconfig.PublicIpAddress.ID).split("/")
$PipName= $IDbits[($IDbits.count-1)]
$PipObject= get-azPublicIpAddress -name $PipName -resourceGroup $rgName
write-host " "RDP address: $PipObject.IpAddress
}
}
}
write-host `nPublic IP addresses on Load Balancer:
(get-AzpublicIpAddress -resourcegroupname $rgName | where { $_.name -notlike "RdpPublicIP*" }).IpAddress
La figure suivante montre un exemple de sortie qui répertorie les adresses IPv4 et IPv6 privées des deux machines virtuelles, ainsi que les adresses IP IPv4 et IPv6 frontales de l’équilibreur de charge.
Afficher le réseau virtuel double pile IPv6 dans le Portail Microsoft Azure
Vous pouvez afficher le réseau virtuel double pile IPv6 dans le Portail Microsoft Azure en procédant comme suit :
- Dans la barre de recherche du portail, saisissez dsVnet.
- Lorsque dsVnet apparaît dans les résultats de la recherche, sélectionnez-le. Cette opération affiche la page Vue d’ensemble du réseau virtuel double pile nommé dsVnet. Le réseau virtuel de pile double présente les deux cartes réseau, avec des configurations IPv4 et IPv6 situées dans le sous-réseau double pile nommé dsSubnet.
Nettoyer les ressources
Quand vous n’en avez plus besoin, vous pouvez utiliser la commande Remove-AzResourceGroup pour supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées.
Remove-AzResourceGroup -Name dsRG1
Suivez ces instructions dans Azure CLI pour déployer une application double pile (IPv4 + IPv6) à l’aide de Standard Load Balancer dans Azure.
Créer un groupe de ressources
Avant de pouvoir créer votre réseau virtuel dual-stack, vous devez créer un groupe de ressources avec az group create. L’exemple suivant crée un groupe de ressources nommé DsResourceGroup01 à l’emplacement eastus :
az group create \
--name DsResourceGroup01 \
--location eastus
Créer des adresses IP publiques IPv4 et IPv6 pour l’équilibreur de charge
Pour accéder à vos points de terminaison IPv4 et IPv6 sur Internet, vous avez besoin d’adresses IP publiques IPv4 et IPv6 pour l’équilibreur de charge. Créez une adresse IP publique avec az network public-ip create. L’exemple suivant crée une adresse IP publique IPv4 et IPv6 nommée dsPublicIP_v4 et dsPublicIP_v6 dans le groupe de ressources DsResourceGroup01 :
# Create an IPV4 IP address
az network public-ip create \
--name dsPublicIP_v4 \
--resource-group DsResourceGroup01 \
--location eastus \
--sku STANDARD \
--allocation-method static \
--version IPv4
# Create an IPV6 IP address
az network public-ip create \
--name dsPublicIP_v6 \
--resource-group DsResourceGroup01 \
--location eastus \
--sku STANDARD \
--allocation-method static \
--version IPv6
Créer des adresses IP publiques pour les machines virtuelles
Pour accéder à distance à vos machines virtuelles sur Internet, vous avez besoin d’adresses IP publiques IPv4 pour les machines virtuelles. Créez une adresse IP publique avec az network public-ip create.
az network public-ip create \
--name dsVM0_remote_access \
--resource-group DsResourceGroup01 \
--location eastus \
--sku Standard \
--allocation-method static \
--version IPv4
az network public-ip create \
--name dsVM1_remote_access \
--resource-group DsResourceGroup01 \
--location eastus \
--sku Standard \
--allocation-method static \
--version IPv4
Créer un équilibreur de charge standard
Dans cette section, vous allez configurer l’adresse IP frontale double (IPv4 et IPv6) et le pool d’adresses back-end pour l’équilibreur de charge, puis créer un équilibreur de charge standard.
Créer un équilibreur de charge
Créez l’équilibreur de charge standard avec az network lb create nommé dsLB qui inclut un pool frontal nommé dsLbFrontEnd_v4, un pool principal nommé dsLbBackEndPool_v4 associé à l’adresse IP publique IPv4 dsPublicIP_v4 que vous avez créé à l’étape précédente.
az network lb create \
--name dsLB \
--resource-group DsResourceGroup01 \
--sku Standard \
--location eastus \
--frontend-ip-name dsLbFrontEnd_v4 \
--public-ip-address dsPublicIP_v4 \
--backend-pool-name dsLbBackEndPool_v4
Créer un serveur frontal IPv6
Créez une adresse IP frontale IPV6 avec az network lb frontend-ip create. L’exemple suivant crée une configuration IP frontale nommée dsLbFrontEnd_v6 et attache l’adresse dsPublicIP_v6 :
az network lb frontend-ip create \
--lb-name dsLB \
--name dsLbFrontEnd_v6 \
--resource-group DsResourceGroup01 \
--public-ip-address dsPublicIP_v6
Créez un pool d’adresses back-end IPv6 avec az network lb address-pool create. L’exemple suivant crée un pool d’adresses back-end nommé dsLbBackEndPool_v6 pour inclure des machines virtuelles avec des configurations de carte réseau IPv6 :
az network lb address-pool create \
--lb-name dsLB \
--name dsLbBackEndPool_v6 \
--resource-group DsResourceGroup01
Créer une sonde de santé
Créez une sonde de santé avec az network lb probe create pour surveiller la santé des machines virtuelles.
az network lb probe create -g DsResourceGroup01 --lb-name dsLB -n dsProbe --protocol tcp --port 3389
Créer une règle d’équilibreur de charge
Une règle d’équilibrage de charge est utilisée pour définir la distribution du trafic vers les machines virtuelles. Vous définissez la configuration IP frontale pour le trafic entrant et le pool d’adresses IP principal pour recevoir le trafic, ainsi que le port source et le port de destination requis.
Créez une règle d’équilibreur de charge avec az network lb rule create. L’exemple suivant crée des règles d’équilibreur de charge nommées dsLBrule_v4 et dsLBrule_v6 et équilibre le trafic sur le port TCP80 vers les configurations IP front-end IPv4 et IPv6 :
az network lb rule create \
--lb-name dsLB \
--name dsLBrule_v4 \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v4 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v4
az network lb rule create \
--lb-name dsLB \
--name dsLBrule_v6 \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v6 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v6
Créer des ressources réseau
Avant de déployer certaines machines virtuelles, vous devez créer des ressources réseau de prise en charge : groupe à haute disponibilité, groupe de sécurité réseau, réseau virtuel et cartes réseau virtuelles.
Créer un ensemble de disponibilité
Pour améliorer la disponibilité de votre application, placez vos machines virtuelles dans un groupe à haute disponibilité.
Créez un set de disponibilité avec az vm availability-set create. L’exemple suivant permet de créer un groupe à haute disponibilité nommé dsAVset :
az vm availability-set create \
--name dsAVset \
--resource-group DsResourceGroup01 \
--location eastus \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
Création d’un groupe de sécurité réseau
Créez un groupe de sécurité réseau pour les règles qui régissent les communications entrantes et sortantes dans votre réseau virtuel.
Créer un groupe de sécurité réseau
Créer un groupe de sécurité réseau avec az network nsg create
az network nsg create \
--name dsNSG1 \
--resource-group DsResourceGroup01 \
--location eastus
Créer une règle de groupe de sécurité réseau pour les connexions entrantes et sortantes
Créez une règle de groupe de sécurité réseau pour autoriser les connexions RDP via le port 3389, la connexion Internet via le port 80 et pour les connexions sortantes avec la commande az network nsg rule create.
# Create inbound rule for port 3389
az network nsg rule create \
--name allowRdpIn \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 100 \
--description "Allow Remote Desktop In" \
--access Allow \
--protocol "*" \
--direction Inbound \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--destination-address-prefixes "*" \
--destination-port-ranges 3389
# Create inbound rule for port 80
az network nsg rule create \
--name allowHTTPIn \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 200 \
--description "Allow HTTP In" \
--access Allow \
--protocol "*" \
--direction Inbound \
--source-address-prefixes "*" \
--source-port-ranges 80 \
--destination-address-prefixes "*" \
--destination-port-ranges 80
# Create outbound rule
az network nsg rule create \
--name allowAllOut \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 300 \
--description "Allow All Out" \
--access Allow \
--protocol "*" \
--direction Outbound \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--destination-address-prefixes "*" \
--destination-port-ranges "*"
Créer un réseau virtuel
Créez un réseau virtuel avec az network vnet create. L’exemple suivant crée un réseau virtuel nommé dsVNET avec des sous-réseaux dsSubNET_v4 et dsSubNET_v6 :
# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus \
--address-prefixes "10.0.0.0/16" "fd00:db8:deca::/48"
# Create a single dual stack subnet
az network vnet subnet create \
--name dsSubNET \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--address-prefixes "10.0.0.0/24" "fd00:db8:deca:deed::/64" \
--network-security-group dsNSG1
Créer des cartes réseau
Créez des cartes réseau virtuelles pour chaque machine virtuelle avec az network nic create. L’exemple suivant crée une carte réseau virtuelle pour chaque machine virtuelle. Chaque carte réseau a deux configurations IP (1 configuration IPv4, 1 configuration IPv6). Vous créez la configuration IPV6 avec az network nic ip-config create.
# Create NICs
az network nic create \
--name dsNIC0 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM0_remote_access
az network nic create \
--name dsNIC1 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM1_remote_access
# Create IPV6 configurations for each NIC
az network nic ip-config create \
--name dsIp6Config_NIC0 \
--nic-name dsNIC0 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name dsNIC1 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
Créer des machines virtuelles
Créez les machines virtuelles avec az vm create. L’exemple suivant crée deux machines virtuelles et les composants de réseau virtuel requis s’ils n’existent pas déjà.
Créez une machine virtuelle dsVM0 comme suit :
az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Créez la machine virtuelle dsVM1 comme suit :
az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Afficher le réseau virtuel double pile IPv6 dans le Portail Microsoft Azure
Vous pouvez afficher le réseau virtuel double pile IPv6 dans le Portail Microsoft Azure en procédant comme suit :
- Dans la barre de recherche du portail, saisissez dsVnet.
- Quand la mention myVirtualNetwork apparaît dans les résultats de recherche, sélectionnez-la. Cette opération affiche la page Vue d’ensemble du réseau virtuel double pile nommé dsVnet. Le réseau virtuel de pile double présente les deux cartes réseau, avec des configurations IPv4 et IPv6 situées dans le sous-réseau double pile nommé dsSubnet.
Nettoyer les ressources
Lorsque vous n’en avez plus besoin, vous pouvez utiliser la commande az group delete pour supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées.
az group delete --name DsResourceGroup01
Utilisez le modèle décrit dans cet article pour déployer une application double pile (IPv4 + IPv6) à l’aide de Standard Load Balancer dans Azure.
Configurations requises
Recherchez les sections de modèle dans le modèle pour voir où elles doivent se produire.
AddressSpace IPv6 pour le réseau virtuel
Section à ajouter au modèle :
"addressSpace": {
"addressPrefixes": [
"[variables('vnetv4AddressRange')]",
"[variables('vnetv6AddressRange')]"
Sous-réseau IPv6 au sein de l’espace d’adresses de réseau virtuel IPv6
Section à ajouter au modèle :
{
"name": "V6Subnet",
"properties": {
"addressPrefix": "[variables('subnetv6AddressRange')]"
}
Configuration IPv6 pour la carte réseau
Section à ajouter au modèle :
{
"name": "ipconfig-v6",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"privateIPAddressVersion":"IPv6",
"subnet": {
"id": "[variables('v6-subnet-id')]"
},
"loadBalancerBackendAddressPools": [
{
"id": "[concat(resourceId('Microsoft.Network/loadBalancers','loadBalancer'),'/backendAddressPools/LBBAP-v6')]"
}
Règles de groupe de sécurité réseau IPv6
{
"name": "default-allow-rdp",
"properties": {
"description": "Allow RDP",
"protocol": "Tcp",
"sourcePortRange": "33819-33829",
"destinationPortRange": "5000-6000",
"sourceAddressPrefix": "fd00:db8:deca:deed::/64",
"destinationAddressPrefix": "fd00:db8:deca:deed::/64",
"access": "Allow",
"priority": 1003,
"direction": "Inbound"
}
Configuration conditionnelle
Si vous utilisez une appliance virtuelle réseau, ajoutez des itinéraires IPv6 dans la table de routage. Sinon, cette configuration est facultative.
{
"type": "Microsoft.Network/routeTables",
"name": "v6route",
"apiVersion": "[variables('ApiVersion')]",
"location": "[resourceGroup().location]",
"properties": {
"routes": [
{
"name": "v6route",
"properties": {
"addressPrefix": "fd00:db8:deca:deed::/64",
"nextHopType": "VirtualAppliance",
"nextHopIpAddress": "fd00:db8:ace:f00d::1"
}
Configuration facultative
Accès Internet IPv6 pour le réseau virtuel
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
Adresses IP publiques IPv6
{
"apiVersion": "[variables('ApiVersion')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "lbpublicip-v6",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard"
},
"properties": {
"publicIPAllocationMethod": "Static",
"publicIPAddressVersion": "IPv6"
}
Interface IPv6 pour l'équilibrage de charge
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
Pool d’adresses principal IPv6 pour Load Balancer
"backendAddressPool": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', 'loadBalancer'), '/backendAddressPools/LBBAP-v6')]"
},
"protocol": "Tcp",
"frontendPort": 8080,
"backendPort": 8080
},
"name": "lbrule-v6"
Règles d’équilibreur de charge IPv6 pour associer des ports entrants et sortants
{
"name": "ipconfig-v6",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"privateIPAddressVersion":"IPv6",
"subnet": {
"id": "[variables('v6-subnet-id')]"
},
"loadBalancerBackendAddressPools": [
{
"id": "[concat(resourceId('Microsoft.Network/loadBalancers','loadBalancer'),'/backendAddressPools/LBBAP-v6')]"
}
Exemple de modèle de machine virtuelle JSON
Pour déployer une application double pile IPv6 dans un réseau virtuel Azure à l’aide d’un modèle Azure Resource Manager, consultez l’exemple de modèle ici.