Partager via


Déployer une application IPv6 dual stack avec Azure Load Balancer

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.

Prerequisites

Déployer une application double stack (IPv4 + IPv6)

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

Configurer le pool d’adresses back-end IPv6

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 :

  1. Dans la barre de recherche du portail, saisissez dsVnet.
  2. 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

Étapes suivantes