V tomto článku se dozvíte, jak nasadit aplikaci s duálním stackem (IPv4 + IPv6) pomocí Standardního Load Balanceru v Azure. Scénář zahrnuje virtuální síť s duálním zásobníkem a duální podsítí, službou Standard Load Balancer s duální konfigurací front-endu (IPv4 + IPv6), virtuálními počítači se síťovými kartami v duální IP konfiguraci, duálními pravidly skupiny zabezpečení sítě a duálními veřejnými IP adresami.
Podle těchto pokynů v Azure PowerShell nasaďte aplikaci s duálním stackem (IPv4 + IPv6) pomocí Standard Load Balancer v Azure.
Vytvoření skupiny zdrojů
Než budete moct vytvořit virtuální síť se dvěma zásobníky, musíte vytvořit skupinu prostředků pomocí rutiny New-AzResourceGroup. Následující příklad vytvoří skupinu prostředků s názvem myRGDualStack ve východní oblasti USA:
$rg = New-AzResourceGroup `
-ResourceGroupName "dsRG1" `
-Location "east us"
Vytvoření veřejných IP adres IPv4 a IPv6
Pro přístup k virtuálním počítačům z internetu potřebujete veřejné IP adresy IPv4 a IPv6 pro nástroj pro vyrovnávání zatížení. Vytvořte veřejné IP adresy pomocí New-AzPublicIpAddress. Následující příklad vytvoří veřejnou IP adresu IPv4 a IPv6 s názvem dsPublicIP_v4 a dsPublicIP_v6 ve skupině prostředků 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
Pokud chcete získat přístup k virtuálním počítačům pomocí připojení RDP, vytvořte pro ně veřejné IP adresy IPV4 pomocí 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
Vytvořit standardní load balancer
V této části nakonfigurujete duální front-endovou IP adresu (IPv4 a IPv6) a back-endový fond adres pro nástroj pro vyrovnávání zatížení a pak vytvoříte Load Balancer úrovně Standard.
Vytvoření front-endové IP adresy
Vytvořte front-endovou IP adresu pomocí rutiny New-AzLoadBalancerFrontendIpConfig. Následující příklad vytvoří konfigurace front-endových IP adres IPv4 a IPv6 s názvem dsLbFrontEnd_v4 a dsLbFrontEnd_v6:
$frontendIPv4 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v4" `
-PublicIpAddress $PublicIP_v4
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
Vytvořte adresní fond backend pomocí New-AzLoadBalancerBackendAddressPoolConfig pro virtuální počítače nasazené později. Následující příklad vytvoří back-endové fondy adres s názvem dsLbBackEndPool_v4 a dsLbBackEndPool_v6 pro zahrnutí virtuálních počítačů s konfigurací síťových adaptérů IPV4 i IPv6:
$backendPoolv4 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v4"
$backendPoolv6 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v6"
Vytvořit zdravotní sondu
Pomocí rutiny Add-AzLoadBalancerProbeConfig vytvořte sondu stavu pro monitorování stavu virtuálních počítačů.
$probe = New-AzLoadBalancerProbeConfig -Name MyProbe -Protocol tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
Vytvořte pravidlo pro vyrovnávání zátěže
Pravidlo nástroje pro vyrovnávání zatížení slouží k definování způsobu distribuce provozu do virtuálních počítačů. Definujte konfiguraci front-endových IP adres pro příchozí provoz, back-endový fond IP adres pro příjem provozu a také požadovaný zdrojový a cílový port. Pokud chcete zajistit, aby provoz přijímaly jenom virtuální počítače, které jsou v pořádku, můžete volitelně definovat sondu stavu. Základní nástroj pro vyrovnávání zatížení používá sondu IPv4 k vyhodnocení stavu koncových bodů IPv4 i IPv6 na virtuálních počítačích. Vyrovnávač zatížení úrovně Standard zahrnuje podporu explicitních sond stavu IPv6.
Vytvořte pravidlo nástroje pro vyrovnávání zatížení pomocí rutiny Add-AzLoadBalancerRuleConfig. Následující příklad vytvoří pravidla nástroje pro vyrovnávání zatížení s názvem dsLBrule_v4 a dsLBrule_v6 a vyrovnává provoz na portu TCP 80 s konfigurací IPv4 a IPv6 front-endových IP adres:
$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
Vytvoření nástroje pro vyrovnávání zatížení
Vytvořte Standardní Load Balancer pomocí New-AzLoadBalancer. Následující příklad vytvoří veřejný Load Balancer úrovně Standard s názvem myLoadBalancer s použitím konfigurace IPv4 a IPv6 front-endových IP adres, back-endových fondů a pravidel vyrovnávání zatížení, která jste vytvořili v předchozích krocích:
$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
Vytvoření síťových prostředků
Před nasazením některých virtuálních počítačů a testováním nástroje pro vyrovnávání musíte vytvořit podpůrné síťové prostředky – skupinu dostupnosti, skupinu zabezpečení sítě, virtuální síť a virtuální síťové karty.
Vytvořte skupinu dostupnosti
Pokud chcete zlepšit vysokou dostupnost aplikace, umístěte své virtuální počítače do skupiny dostupnosti.
Vytvořte sadu dostupnosti pomocí New-AzAvailabilitySet. Následující příklad vytvoří skupinu dostupnosti s názvem myAvailabilitySet:
$avset = New-AzAvailabilitySet `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsAVset" `
-PlatformFaultDomainCount 2 `
-PlatformUpdateDomainCount 2 `
-Sku aligned
Vytvoření skupiny zabezpečení sítě
Vytvořte skupinu zabezpečení sítě pro pravidla, která řídí příchozí a odchozí komunikaci ve vaší virtuální síti.
Vytvoření pravidla skupiny zabezpečení sítě pro port 3389
Vytvořte pravidlo skupiny zabezpečení sítě, které povolí připojení RDP přes port 3389 pomocí rutiny New-AzNetworkSecurityRuleConfig.
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleRDP' `
-Description 'Allow RDP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389
Vytvoření pravidla skupiny zabezpečení sítě pro port 80
Vytvořte pravidlo skupiny zabezpečení sítě, které povolí připojení k internetu přes port 80 pomocí rutiny New-AzNetworkSecurityRuleConfig.
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleHTTP' `
-Description 'Allow HTTP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80
Vytvoření skupiny zabezpečení sítě
Vytvořte skupinu zabezpečení sítě pomocí příkazu New-AzNetworkSecurityGroup.
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsNSG1" `
-SecurityRules $rule1,$rule2
Vytvoření virtuální sítě
Vytvořte virtuální síť pomocí New-AzVirtualNetwork. Následující příklad vytvoří virtuální síť s názvem dsVnet s podsítí nazvanou 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
Vytvoření síťových rozhraní
Vytvoření virtuálních síťových rozhraní pomocí New-AzNetworkInterface Následující příklad vytvoří dvě virtuální síťové karty s konfigurací IPv4 i IPv6. (Jednu virtuální síťovou kartu pro každý virtuální počítač, který pro svou aplikaci vytvoříte v následujících krocích).
$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
Vytvoření virtuálních počítačů
Pomocí rutiny Get-Credential nastavte uživatelské jméno a heslo správce virtuálních počítačů:
$cred = get-credential -Message "DUAL STACK VNET SAMPLE: Please enter the Administrator credential to log into the VMs."
Teď můžete vytvořit virtuální počítače pomocí New-AzVM. Následující příklad vytvoří dva virtuální počítače a požadované komponenty virtuální sítě, pokud ještě neexistují.
$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
Určení IP adres koncových bodů IPv4 a IPv6
Získejte všechny objekty síťového rozhraní ve skupině prostředků, abyste mohli shrnout IP adresy použité v tomto nasazení pomocí get-AzNetworkInterface. Získejte také adresy frontendu Load Balanceru pro koncové body IPv4 a IPv6 pomocí 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
Následující obrázek ukazuje ukázkový výstup se seznamem privátních IPv4 a IPv6 adres těchto dvou virtuálních počítačů a IP adres IPv4 a IPv6 služby Load Balancer.
Zobrazení virtuální sítě s duálním stackem IPv6 v Azure Portal
Virtuální síť duálního zásobníku IPv6 můžete zobrazit na portálu Azure takto:
- Na panelu hledání na portálu zadejte dsVnet.
- Když se ve výsledcích hledání zobrazí dsVnet , vyberte ji. Tím se otevře stránka Přehled virtuální sítě s duálním zásobníkem nazvané dsVnet. Virtuální síť se dvěma stacky zobrazuje dvě síťové karty s konfigurací IPv4 i IPv6 umístěné v podsíti duálního stacku s názvem dsSubnet.
Čištění zdrojů
Pokud už je nepotřebujete, můžete k odebrání skupiny prostředků, virtuálního počítače a všech souvisejících prostředků použít příkaz Remove-AzResourceGroup .
Remove-AzResourceGroup -Name dsRG1
Podle těchto pokynů v Azure CLI nasaďte aplikaci s dvojitým stohováním (IPv4 + IPv6) pomocí Standardního Load Balanceru.
Vytvoření skupiny zdrojů
Než budete moci vytvořit svou duální stack virtuální síť, musíte vytvořit skupinu prostředků pomocí az group create. Následující příklad vytvoří skupinu prostředků pojmenovanou DsResourceGroup01 v umístění eastus:
az group create \
--name DsResourceGroup01 \
--location eastus
Vytvoření veřejných IP adres IPv4 a IPv6 pro nástroj pro vyrovnávání zatížení
Pro přístup ke koncovým bodům IPv4 a IPv6 na internetu potřebujete veřejné IP adresy IPv4 a IPv6 pro nástroj pro vyrovnávání zatížení. Vytvořte veřejnou IP adresu pomocí příkazu az network public-ip create. Následující příklad vytvoří veřejnou IP adresu IPv4 a IPv6 s názvem dsPublicIP_v4 a dsPublicIP_v6 ve skupině prostředků 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
Vytvoření veřejných IP adres pro virtuální počítače
Pokud chcete vzdáleně přistupovat k virtuálním počítačům na internetu, potřebujete pro virtuální počítače veřejné IP adresy IPv4. Vytvořte veřejnou IP adresu pomocí příkazu 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
Vytvořit standardní load balancer
V této části nakonfigurujete duální front-endovou IP adresu (IPv4 a IPv6) a back-endový fond adres pro nástroj pro vyrovnávání zatížení a pak vytvoříte Load Balancer úrovně Standard.
Vytvoření nástroje pro vyrovnávání zatížení
Vytvořte Load Balancer úrovně Standard pomocí příkazu az network lb create s názvem dsLB , který zahrnuje front-endový fond s názvem dsLbFrontEnd_v4, back-endový fond s názvem dsLbBackEndPool_v4 , který je přidružený k veřejné IP adrese IPv4 dsPublicIP_v4 , kterou jste vytvořili v předchozím kroku.
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
Vytvoření front-endu IPv6
Vytvořte front-endovou IP adresu IPV6 pomocí příkazu az network lb frontend-ip create. Následující příklad vytvoří konfiguraci front-endové IP adresy s názvem dsLbFrontEnd_v6 a připojí dsPublicIP_v6 adresu:
az network lb frontend-ip create \
--lb-name dsLB \
--name dsLbFrontEnd_v6 \
--resource-group DsResourceGroup01 \
--public-ip-address dsPublicIP_v6
Vytvořte back-endové fondy adres IPv6 pomocí příkazu az network lb address-pool create. Následující příklad vytvoří back-endový fond adres s názvem dsLbBackEndPool_v6 pro zahrnutí virtuálních počítačů s konfiguracemi síťových adaptérů IPv6:
az network lb address-pool create \
--lb-name dsLB \
--name dsLbBackEndPool_v6 \
--resource-group DsResourceGroup01
Vytvořit zdravotní sondu
Vytvořte sondu stavu pomocí příkazu az network lb probe create pro monitorování stavu virtuálních počítačů.
az network lb probe create -g DsResourceGroup01 --lb-name dsLB -n dsProbe --protocol tcp --port 3389
Vytvořte pravidlo pro vyrovnávání zátěže
Pravidlo nástroje pro vyrovnávání zatížení slouží k definování způsobu distribuce provozu do virtuálních počítačů. Definujte konfiguraci front-endových IP adres pro příchozí provoz, back-endový fond IP adres pro příjem provozu a také požadovaný zdrojový a cílový port.
Vytvořte pravidlo nástroje pro vyrovnávání zatížení pomocí příkazu az network lb rule create. Následující příklad vytvoří pravidla nástroje pro vyrovnávání zatížení s názvem dsLBrule_v4 a dsLBrule_v6 a vyrovnává provoz na portu TCP 80 s konfigurací IPv4 a IPv6 front-endových IP adres:
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
Vytvoření síťových prostředků
Před nasazením některých virtuálních počítačů musíte vytvořit podpůrné síťové prostředky – skupinu dostupnosti, skupinu zabezpečení sítě, virtuální síť a virtuální síťové karty.
Vytvořte skupinu dostupnosti
Pokud chcete zlepšit dostupnost aplikace, umístěte virtuální počítače do skupiny dostupnosti.
Vytvořte sadu dostupnosti pomocí příkazu az vm availability-set create. Následující příklad vytvoří sadu dostupnosti s názvem dsAVset:
az vm availability-set create \
--name dsAVset \
--resource-group DsResourceGroup01 \
--location eastus \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
Vytvoření skupiny zabezpečení sítě
Vytvořte skupinu zabezpečení sítě pro pravidla, která řídí příchozí a odchozí komunikaci ve vaší virtuální síti.
Vytvoření skupiny zabezpečení sítě
Vytvořte skupinu zabezpečení sítě pomocí az network nsg create
az network nsg create \
--name dsNSG1 \
--resource-group DsResourceGroup01 \
--location eastus
Vytvoření pravidla skupiny zabezpečení sítě pro příchozí a odchozí připojení
Vytvořte pravidlo skupiny zabezpečení sítě, které povolí připojení RDP přes port 3389, připojení k internetu přes port 80 a odchozí připojení pomocí příkazu 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 "*"
Vytvoření virtuální sítě
Vytvořte virtuální síť pomocí příkazu az network vnet create. Následující příklad vytvoří virtuální síť s názvem dsVNET s podsítěmi dsSubNET_v4 a 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
Vytvoření síťových rozhraní
Vytvořte virtuální síťové karty pro každý virtuální počítač pomocí příkazu az network nic create. Následující příklad vytvoří virtuální síťovou kartu pro každý virtuální počítač. Každá síťová karta má dvě konfigurace IP adres (1 konfigurace IPv4, 1 konfigurace IPv6). Konfiguraci PROTOKOLU IPV6 vytvoříte pomocí příkazu 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
Vytvoření virtuálních počítačů
Vytvořte virtuální počítače pomocí příkazu az vm create. Následující příklad vytvoří dva virtuální počítače a požadované komponenty virtuální sítě, pokud ještě neexistují.
Následujícím způsobem vytvořte virtuální počítač dsVM0 :
az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Následujícím způsobem vytvořte virtuální počítač dsVM1 :
az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Zobrazení virtuální sítě s duálním stackem IPv6 v Azure Portal
Virtuální síť duálního zásobníku IPv6 můžete zobrazit na portálu Azure takto:
- Na panelu hledání na portálu zadejte dsVnet.
- Jakmile se ve výsledcích hledání zobrazí virtuální síť myVirtualNetwork, vyberte ji. Tím se otevře stránka Přehled virtuální sítě s duálním zásobníkem nazvané dsVnet. Virtuální síť se dvěma stacky zobrazuje dvě síťové karty s konfigurací IPv4 i IPv6 umístěné v podsíti duálního stacku s názvem dsSubnet.
Čištění zdrojů
Pokud už je nepotřebujete, můžete k odebrání skupiny prostředků, virtuálního počítače a všech souvisejících prostředků použít příkaz az group delete.
az group delete --name DsResourceGroup01
Pomocí šablony popsané v tomto článku nasaďte v Azure aplikaci s duálním protokolem (IPv4 + IPv6) pomocí vyrovnávače zatížení úrovně Standard.
Požadované konfigurace
Vyhledejte oddíly šablony v šabloně a zjistěte, kde by se měly nacházet.
Adresní prostor IPv6 pro virtuální síť
Oddíl šablony, který chcete přidat:
"addressSpace": {
"addressPrefixes": [
"[variables('vnetv4AddressRange')]",
"[variables('vnetv6AddressRange')]"
Podsíť IPv6 v rámci adresního prostoru virtuální sítě IPv6
Oddíl šablony, který chcete přidat:
{
"name": "V6Subnet",
"properties": {
"addressPrefix": "[variables('subnetv6AddressRange')]"
}
Konfigurace protokolu IPv6 pro síťovou kartu
Oddíl šablony, který chcete přidat:
{
"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')]"
}
Pravidla skupiny zabezpečení sítě IPv6 (NSG)
{
"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"
}
Podmíněná konfigurace
Pokud používáte síťové virtuální zařízení, přidejte do směrovací tabulky trasy IPv6. Jinak je tato konfigurace volitelná.
{
"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"
}
Volitelná konfigurace
Přístup k internetu IPv6 pro virtuální síť
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
Veřejné IP adresy IPv6
{
"apiVersion": "[variables('ApiVersion')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "lbpublicip-v6",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard"
},
"properties": {
"publicIPAllocationMethod": "Static",
"publicIPAddressVersion": "IPv6"
}
IPv6 front-end pro vyrovnávač zatížení
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
Fond back-endových adres IPv6 pro Load Balancer
"backendAddressPool": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', 'loadBalancer'), '/backendAddressPools/LBBAP-v6')]"
},
"protocol": "Tcp",
"frontendPort": 8080,
"backendPort": 8080
},
"name": "lbrule-v6"
Pravidla nástroje pro vyrovnávání zatížení IPv6 pro přidružení příchozích a odchozích portů
{
"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')]"
}
Ukázková šablona VM ve formátu JSON
Pokud chcete nasadit aplikaci se dvěma zásobníky IPv6 ve virtuální síti Azure pomocí šablony Azure Resource Manageru, podívejte se na ukázkovou šablonu tady.