Distribuera ett IPv6-program med dubbla staplar i ett virtuellt Azure-nätverk med Hjälp av Azure CLI

Den här artikeln visar hur du distribuerar ett program med dubbla staplar (IPv4 + IPv6) med standard load balancer i Azure som innehåller ett virtuellt nätverk med dubbla staplar med ett undernät med dubbla staplar, en Standard Load Balancer med dubbla (IPv4 + IPv6) klientdelskonfigurationer, virtuella datorer med nätverkskort som har en dubbel IP-konfiguration, regler för dubbla nätverkssäkerhetsgrupper och dubbla offentliga IP-adresser.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • Den här artikeln kräver version 2.0.49 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Skapa en resursgrupp

Innan du kan skapa det virtuella nätverket med dubbla staplar måste du skapa en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet DsResourceGroup01 på platsen eastus :

az group create \
--name DsResourceGroup01 \
--location eastus

Skapa offentliga IP-adresser för IPv4 och IPv6 för lastbalanserare

För att få åtkomst till dina IPv4- och IPv6-slutpunkter på Internet behöver du offentliga IP-adresser för IPv4 och IPv6 för lastbalanseraren. Skapa en offentlig IP-adress med az network public-ip create. I följande exempel skapas den offentliga IP-adressen IPv4 och IPv6 med namnet dsPublicIP_v4 och dsPublicIP_v6 i resursgruppen 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

Skapa offentliga IP-adresser för virtuella datorer

Om du vill fjärransluta till dina virtuella datorer på Internet behöver du offentliga IPv4-IP-adresser för de virtuella datorerna. Skapa en offentlig IP-adress med 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

Skapa en Standard Load Balancer

I det här avsnittet konfigurerar du IP med dubbla klientdelar (IPv4 och IPv6) och serverdelsadresspoolen för lastbalanseraren och skapar sedan en Standard Load Balancer.

Skapa en lastbalanserare

Skapa Standard Load Balancer med az network lb create med namnet dsLB som innehåller en klientdelspool med namnet dsLbFrontEnd_v4, en serverdelspool med namnet dsLbBackEndPool_v4 som är associerad med den offentliga IPv4-IP-adressen dsPublicIP_v4 som du skapade i föregående steg.

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

Skapa IPv6-klientdel

Skapa en IPV6-klientdels-IP med az network lb frontend-ip create. I följande exempel skapas en IP-konfiguration för klientdelen med namnet dsLbFrontEnd_v6 och den dsPublicIP_v6 adressen bifogas:

az network lb frontend-ip create \
--lb-name dsLB  \
--name dsLbFrontEnd_v6  \
--resource-group DsResourceGroup01  \
--public-ip-address dsPublicIP_v6

Konfigurera IPv6-serverdelsadresspool

Skapa en IPv6-serverdelsadresspool med az network lb address-pool create. I följande exempel skapas serverdelsadresspoolen med namnet dsLbBackEndPool_v6 för att inkludera virtuella datorer med IPv6 NIC-konfigurationer:

az network lb address-pool create \
--lb-name dsLB  \
--name dsLbBackEndPool_v6  \
--resource-group DsResourceGroup01

Skapa en hälsoavsökning

Skapa en hälsoavsökning med az network lb probe create så att du kan övervaka de virtuella datorernas hälsotillstånd.

az network lb probe create -g DsResourceGroup01  --lb-name dsLB -n dsProbe --protocol tcp --port 3389

Skapa en lastbalanseringsregel

En lastbalanseringsregel används för att definiera hur trafiken ska distribueras till de virtuella datorerna. Du definierar IP-konfigurationen på klientdelen för inkommande trafik och IP-poolen på serverdelen för att ta emot trafik samt nödvändig käll- och målport.

Använd az network lb rule create för att skapa en regel för lastbalanseraren. I följande exempel skapas lastbalanseringsregler med namnet dsLBrule_v4 och dsLBrule_v6 och balanserar trafik på TCP-port80 till IP-konfigurationerna för IPv4- och IPv6-klientdelen:

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

Skapa nätverksresurser

Innan du distribuerar vissa virtuella datorer måste du skapa stödnätverksresurser – tillgänglighetsuppsättning, nätverkssäkerhetsgrupp, virtuellt nätverk och virtuella nätverkskort.

Skapa en tillgänglighetsuppsättning

Om du vill förbättra tillgängligheten för din app placerar du dina virtuella datorer i en tillgänglighetsuppsättning.

Skapa en tillgänglighetsuppsättning med az vm availability-set create. I följande exempel skapas en tillgänglighetsuppsättning med namnet dsAVset:

az vm availability-set create \
--name dsAVset  \
--resource-group DsResourceGroup01  \
--location eastus \
--platform-fault-domain-count 2  \
--platform-update-domain-count 2  

Skapa nätverkssäkerhetsgrupp

Skapa en nätverkssäkerhetsgrupp för de regler som styr inkommande och utgående kommunikation i ditt virtuella nätverk.

Skapa en nätverkssäkerhetsgrupp

Skapa en nätverkssäkerhetsgrupp med az network nsg create

az network nsg create \
--name dsNSG1  \
--resource-group DsResourceGroup01  \
--location eastus

Skapa en regel för nätverkssäkerhetsgrupp för inkommande och utgående anslutningar

Skapa en regel för nätverkssäkerhetsgrupp för att tillåta RDP-anslutningar via port 3389, internetanslutning via port 80 och för utgående anslutningar med 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 "*"

Skapa ett virtuellt nätverk

Skapa ett virtuellt nätverk med kommandot az network vnet create. I följande exempel skapas ett virtuellt nätverk med namnet dsVNET med undernät dsSubNET_v4 och 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

Skapa nätverkskort

Skapa virtuella nätverkskort för varje virtuell dator med az network nic create. I följande exempel skapas ett virtuellt nätverkskort för varje virtuell dator. Varje nätverkskort har två IP-konfigurationer (1 IPv4-konfiguration, 1 IPv6-konfiguration). Du skapar IPV6-konfigurationen med 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

Skapa virtuella datorer

Skapa de virtuella datorerna med az vm create. I följande exempel skapas två virtuella datorer och nödvändiga virtuella nätverkskomponenter om de inte redan finns.

Skapa en virtuell dator dsVM0 på följande sätt:

 az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest  

Skapa en virtuell dator dsVM1 på följande sätt:

az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest 

Visa virtuellt IPv6-nätverk med dubbla staplar i Azure-portalen

Du kan visa det virtuella IPv6-nätverket med dubbla staplar i Azure-portalen på följande sätt:

  1. I portalens sökfält anger du dsVnet.
  2. När myVirtualNetwork visas i sökresultatet väljer du det. Då startas översiktssidan för det virtuella nätverket med dubbla staplar med namnet dsVnet. Det virtuella nätverket med dubbla staplar visar de två nätverkskorten med både IPv4- och IPv6-konfigurationer i undernätet med dubbla staplar med namnet dsSubnet.

IPv6 dual stack virtual network in Azure

Rensa resurser

När den inte längre behövs du använda kommandot az group delete för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser.

 az group delete --name DsResourceGroup01

Nästa steg

I den här artikeln har du skapat en Standard Load Balancer med en IP-konfiguration med dubbla klientdelar (IPv4 och IPv6). Du har också skapat två virtuella datorer som inkluderade nätverkskort med dubbla IP-konfigurationer (IPV4 + IPv6) som lades till i lastbalanserarens serverdelspool. Mer information om IPv6-stöd i virtuella Azure-nätverk finns i Vad är IPv6 för Azure Virtual Network?