Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak nasadit aplikaci se dvěma zásobníky (IPv4 + IPv6) v Azure, která zahrnuje virtuální síť a podsíť se dvěma zásobníky, interním nástrojem pro vyrovnávání zatížení úrovně Standard s konfigurací front-endu (IPv4 + IPv6), virtuálními počítači s duální konfigurací IP adres, skupinou zabezpečení sítě a veřejnými IP adresami.
Postup vytvoření interního nástroje pro vyrovnávání zatížení podporující protokol IPv6 je téměř stejný jako proces vytvoření internetového load balanceru IPv6 popsaného zde. Jediné rozdíly pro vytvoření interního nástroje pro vyrovnávání zatížení jsou v konfiguraci front-endu, jak je znázorněno v příkladu PowerShellu níže:
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PrivateIpAddress "fd00:db8:deca:deed::100" `
-PrivateIpAddressVersion "IPv6" `
-Subnet $DsSubnet
Změny, které dělají z výše uvedené konfigurace přední části interního vyrovnavače zatížení, jsou:
-
PrivateIpAddressVersionje specifikováno jako IPv6. - Argument
-PublicIpAddressbyl vynechán nebo nahrazen znakem-PrivateIpAddress. Upozorňujeme, že privátní adresa musí být v rozsahu prostoru IP podsítě, ve kterém se nasadí interní nástroj pro vyrovnávání zatížení. Pokud je statická-PrivateIpAddressvynechána, bude z podsítě, ve které je nasazen interní nástroj pro vyrovnávání zatížení, vybraná další bezplatná adresa IPv6. - Podsíť duálního stacku, ve které se nasadí interní vyrovnávač zatížení, je určena buď pomocí
-Subnetargumentu nebo-SubnetIdargumentu.
Azure Cloud Shell
Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.
Spuštění služby Azure Cloud Shell:
| Možnost | Příklad nebo odkaz |
|---|---|
| Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. |
|
| Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. |
|
| Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. |
|
Použití Azure Cloud Shellu:
Spusťte Cloud Shell.
Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.
Vložte kód nebo příkaz do relace Cloud Shellu stisknutím kombinace kláves Ctrl+Shift+V v systémech Windows a Linux nebo Cmd+Shift+V v macOS.
Stisknutím klávesy Enter spusťte kód nebo příkaz.
Pokud se rozhodnete nainstalovat a používat PowerShell místně, tento článek vyžaduje modul Azure PowerShell verze 6.9.0 nebo novější. Nainstalovanou verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, je také potřeba spustit příkaz Connect-AzAccount pro vytvoření připojení k Azure.
Vytvoření skupiny zdrojů
Než budete moci vytvořit svou duální virtuální síť, musíte pomocí New-AzResourceGroup vytvořit skupinu prostředků. Následující příklad vytvoří skupinu prostředků s názvem dsStd_ILB_RG v umístění východ USA:
$rg = New-AzResourceGroup `
-ResourceGroupName "dsStd_ILB_RG" `
-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 virtuální počítače. 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 RdpPublicIP_1 a RdpPublicIP_2 ve skupině prostředků dsStd_ILB_RG :
$RdpPublicIP_1 = New-AzPublicIpAddress `
-Name "RdpPublicIP_1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv4 `
-sku Standard
$RdpPublicIP_2 = New-AzPublicIpAddress `
-Name "RdpPublicIP_2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv6 `
-sku Standard
Vytvoření virtuální sítě a podsítě
Vytvořte virtuální síť pomocí cmdletu New-AzVirtualNetwork s duální podporou konfigurací podsítě pomocí cmdletu New-AzVirtualNetworkSubnetConfig. Následující příklad vytvoří virtuální síť s názvem dsVnet s dsSubnet.
# Create dual stack subnet config
$DsSubnet = 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 $DsSubnet
#Refresh the fully populated subnet for use in load balancer frontend configuration
$DsSubnet = get-AzVirtualNetworkSubnetconfig -name dsSubnet -VirtualNetwork $vnet
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" `
-PrivateIpAddress "10.0.0.100" `
-PrivateIpAddressVersion "IPv4" `
-Subnet $DsSubnet
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PrivateIpAddress "fd00:db8:deca:deed::100" `
-PrivateIpAddressVersion "IPv6" `
-Subnet $DsSubnet
Konfigurujte fond backendových adres
Vytvořte fond back-endových adres pomocí New-AzLoadBalancerBackendAddressPoolConfig rutiny. Virtuální počítače se k tomuto back-endovému fondu připojí v dalších krocích. 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řte pravidlo vyrovnávače zatížení
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. Aby provoz přijímaly pouze zdravé virtuální počítače (VM), můžete volitelně definovat sondu stavu. Standard Load Balancer podporuje explicitní sondy 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
$lbrule_v6 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80
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ý Standard Load Balancer s názvem myInternalLoadBalancer pomocí konfigurací front-end IP adres IPv4 a IPv6, back-end poolů a pravidel vyvážení zatížení, které jste vytvořili v předchozích krocích:
$lb = New-AzLoadBalancer `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "MyInternalLoadBalancer" `
-Sku "Standard" `
-FrontendIpConfiguration $frontendIPv4,$frontendIPv6 `
-BackendAddressPool $backendPoolv4,$backendPoolv6 `
-LoadBalancingRule $lbrule_v4,$lbrule_v6
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ě a virtuální síťové karty.
Vytvořte skupinu dostupnosti
Pokud chcete zlepšit vysokou dostupnost aplikace, umístěte virtuální počítače do skupiny dostupnosti.
Vytvořte sadu dostupnosti pomocí New-AzAvailabilitySet. Následující příklad vytvoří sadu dostupnosti s názvem dsAVset:
$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á budou řídit 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 80 `
-DestinationAddressPrefix * `
-DestinationPortRange 80
Vytvoření skupiny zabezpečení sítě
Vytvořte skupinu zabezpečení sítě pomocí rutiny New-AzNetworkSecurityGroup.
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsNSG1" `
-SecurityRules $rule1,$rule2
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).
# Create the IPv4 configuration for NIC 1
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_1
# Create the IPv6 configuration
$Ip6Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp6Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv6 `
-LoadBalancerBackendAddressPool $backendPoolv6
# Create NIC 1
$NIC_1 = New-AzNetworkInterface `
-Name "dsNIC1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
# Create the IPv4 configuration for NIC 2
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_2
# Create NIC 2 reusing the IPv6 configuration from NIC 1
$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 VM's"
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é součásti 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
Zobrazení virtuální sítě se dvěma zásobníky IPv6 na webu 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 dsVnet zobrazí ve výsledcích hledání, vyberte ho. 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.
Vyčištění prostředků
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 dsStd_ILB_RG
Další kroky
V tomto článku jste vytvořili Load Balancer úrovně Standard s konfigurací duální front-endové IP adresy (IPv4 a IPv6). Také jste vytvořili dva virtuální počítače, které zahrnovaly síťové karty s konfigurací dvou IP adres (IPV4 + IPv6), které byly přidány do back-endového fondu nástroje pro vyrovnávání zatížení. Další informace o podpoře protokolu IPv6 ve virtuálních sítích Azure najdete v tématu Co je IPv6 pro službu Azure Virtual Network?