Vytvoření a správa virtuálního počítače s Windows s více síťovými kartami
Platí pro: ✔️ Flexibilní škálovací sady virtuálních ✔️ počítačů s Windows
K virtuálním počítačům v Azure může být připojeno několik virtuálních síťových karet. Běžným scénářem je mít různé podsítě pro připojení front-endu a back-endu. Na virtuálním počítači můžete přidružit více síťových karet k více podsítím, ale všechny tyto podsítě musí být ve stejné virtuální síti. Tento článek podrobně popisuje, jak vytvořit virtuální počítač s více připojenými síťovými kartami. Dozvíte se také, jak přidat nebo odebrat síťové karty z existujícího virtuálního počítače. Různé velikosti virtuálních počítačů podporují různý počet síťových adaptérů, takže odpovídajícím způsobem velikost virtuálního počítače.
Poznámka:
Pokud se pro scénář nevyžaduje více podsítí, může být jednodušší využít více konfigurací IP adres na jedné síťové kartě. Pokyny k tomuto nastavení najdete tady.
Požadavky
V následujících příkladech nahraďte názvy ukázkových parametrů vlastními hodnotami. Příklady názvů parametrů: myResourceGroup, myVnet a myVM.
Vytvoření virtuálního počítače s několika síťovými kartami
Nejprve vytvořte skupinu prostředků. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění EastUs :
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Vytvoření virtuální sítě a podsítí
Běžným scénářem je, že virtuální síť má dvě nebo více podsítí. Jedna podsíť může být pro front-endový provoz, druhá pro back-endový provoz. Pokud se chcete připojit k oběma podsítím, použijte na virtuálním počítači několik síťových karet.
Definujte dvě podsítě virtuální sítě pomocí rutiny New-AzVirtualNetworkSubnetConfig. Následující příklad definuje podsítě pro mySubnetFrontEnd a mySubnetBackEnd:
$mySubnetFrontEnd = New-AzVirtualNetworkSubnetConfig -Name "mySubnetFrontEnd" ` -AddressPrefix "192.168.1.0/24" $mySubnetBackEnd = New-AzVirtualNetworkSubnetConfig -Name "mySubnetBackEnd" ` -AddressPrefix "192.168.2.0/24"
Vytvořte virtuální síť a podsítě pomocí rutiny New-AzVirtualNetwork. Následující příklad vytvoří virtuální síť s názvem myVnet:
$myVnet = New-AzVirtualNetwork -ResourceGroupName "myResourceGroup" ` -Location "EastUs" ` -Name "myVnet" ` -AddressPrefix "192.168.0.0/16" ` -Subnet $mySubnetFrontEnd,$mySubnetBackEnd
Vytvoření několika síťových adaptérů
Vytvořte dvě síťové karty pomocí New-AzNetworkInterface. Připojte jednu síťovou kartu k front-endové podsíti a jednu síťovou kartu k back-endové podsíti. Následující příklad vytvoří síťové karty s názvem myNic1 a myNic2:
$frontEnd = $myVnet.Subnets|?{$_.Name -eq 'mySubnetFrontEnd'}
$myNic1 = New-AzNetworkInterface -ResourceGroupName "myResourceGroup" `
-Name "myNic1" `
-Location "EastUs" `
-SubnetId $frontEnd.Id
$backEnd = $myVnet.Subnets|?{$_.Name -eq 'mySubnetBackEnd'}
$myNic2 = New-AzNetworkInterface -ResourceGroupName "myResourceGroup" `
-Name "myNic2" `
-Location "EastUs" `
-SubnetId $backEnd.Id
Obvykle také vytvoříte skupinu zabezpečení sítě pro filtrování síťového provozu na virtuální počítač a nástroj pro vyrovnávání zatížení pro distribuci provozu mezi více virtuálních počítačů.
Vytvořte virtuální počítač.
Teď začněte sestavovat konfiguraci virtuálního počítače. Každá velikost virtuálního počítače má limit celkového počtu síťových karet, které můžete přidat k virtuálnímu počítači. Další informace najdete v tématu Velikosti virtuálních počítačů s Windows.
Přihlašovací údaje virtuálního počítače nastavte na proměnnou
$cred
následujícím způsobem:$cred = Get-Credential
Definujte virtuální počítač pomocí rutiny New-AzVMConfig. Následující příklad definuje virtuální počítač s názvem myVM a používá velikost virtuálního počítače, která podporuje více než dvě síťové karty (Standard_DS3_v2):
$vmConfig = New-AzVMConfig -VMName "myVM" -VMSize "Standard_DS3_v2"
Vytvořte zbytek konfigurace virtuálního počítače pomocí Set-AzVMOperatingSystem a Set-AzVMSourceImage. Následující příklad vytvoří virtuální počítač s Windows Serverem 2016:
$vmConfig = Set-AzVMOperatingSystem -VM $vmConfig ` -Windows ` -ComputerName "myVM" ` -Credential $cred ` -ProvisionVMAgent ` -EnableAutoUpdate $vmConfig = Set-AzVMSourceImage -VM $vmConfig ` -PublisherName "MicrosoftWindowsServer" ` -Offer "WindowsServer" ` -Skus "2016-Datacenter" ` -Version "latest"
Připojte dvě síťové karty, které jste dříve vytvořili pomocí rutiny Add-AzVMNetworkInterface:
$vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $myNic1.Id -Primary $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $myNic2.Id
Vytvořte virtuální počítač pomocí rutiny New-AzVM:
New-AzVM -VM $vmConfig -ResourceGroupName "myResourceGroup" -Location "EastUs"
Přidejte trasy pro sekundární síťové karty do operačního systému dokončením kroků v části Konfigurace operačního systému pro více síťových adaptérů.
Přidání síťové karty do existujícího virtuálního počítače
Pokud chcete přidat virtuální síťovou kartu do existujícího virtuálního počítače, uvolníte virtuální počítač, přidáte virtuální síťovou kartu a pak virtuální počítač spustíte. Různé velikosti virtuálních počítačů podporují různý počet síťových adaptérů, takže odpovídajícím způsobem velikost virtuálního počítače. V případě potřeby můžete změnit velikost virtuálního počítače.
Uvolněte virtuální počítač pomocí stop-AzVM. Následující příklad uvolní virtuální počítač myVM v myResourceGroup:
Stop-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
Získejte stávající konfiguraci virtuálního počítače pomocí rutiny Get-AzVm. Následující příklad získá informace pro virtuální počítač myVM v myResourceGroup:
$vm = Get-AzVm -Name "myVM" -ResourceGroupName "myResourceGroup"
Následující příklad vytvoří virtuální síťovou kartu s new-AzNetworkInterface s názvem myNic3 , který je připojen k mySubnetBackEnd. Virtuální síťová karta se pak připojí k virtuálnímu počítači myVM v myResourceGroup s add-AzVMNetworkInterface:
# Get info for the back end subnet $myVnet = Get-AzVirtualNetwork -Name "myVnet" -ResourceGroupName "myResourceGroup" $backEnd = $myVnet.Subnets|?{$_.Name -eq 'mySubnetBackEnd'} # Create a virtual NIC $myNic3 = New-AzNetworkInterface -ResourceGroupName "myResourceGroup" ` -Name "myNic3" ` -Location "EastUs" ` -SubnetId $backEnd.Id # Get the ID of the new virtual NIC and add to VM $nicId = (Get-AzNetworkInterface -ResourceGroupName "myResourceGroup" -Name "MyNic3").Id Add-AzVMNetworkInterface -VM $vm -Id $nicId | Update-AzVm -ResourceGroupName "myResourceGroup"
Primární virtuální síťové karty
Jedna z síťových adaptérů na virtuálním počítači s více síťovými kartami musí být primární. Pokud je některé z existujících virtuálních síťových karet na virtuálním počítači už nastavené jako primární, můžete tento krok přeskočit. Následující příklad předpokládá, že na virtuálním počítači jsou teď přítomny dvě virtuální síťové karty a chcete přidat první síťovou kartu (
[0]
) jako primární síťovou kartu:# List existing NICs on the VM and find which one is primary $vm.NetworkProfile.NetworkInterfaces # Set NIC 0 to be primary $vm.NetworkProfile.NetworkInterfaces[0].Primary = $true $vm.NetworkProfile.NetworkInterfaces[1].Primary = $false # Update the VM state in Azure Update-AzVM -VM $vm -ResourceGroupName "myResourceGroup"
Spusťte virtuální počítač pomocí rutiny Start-AzVm:
Start-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
Přidejte trasy pro sekundární síťové karty do operačního systému dokončením kroků v části Konfigurace operačního systému pro více síťových adaptérů.
Odebrání síťové karty z existujícího virtuálního počítače
Pokud chcete odebrat virtuální síťovou kartu z existujícího virtuálního počítače, uvolníte virtuální počítač, odeberete virtuální síťovou kartu a pak virtuální počítač spustíte.
Uvolněte virtuální počítač pomocí stop-AzVM. Následující příklad uvolní virtuální počítač myVM v myResourceGroup:
Stop-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
Získejte stávající konfiguraci virtuálního počítače pomocí rutiny Get-AzVm. Následující příklad získá informace pro virtuální počítač myVM v myResourceGroup:
$vm = Get-AzVm -Name "myVM" -ResourceGroupName "myResourceGroup"
Získejte informace o odebrání síťové karty pomocí rutiny Get-AzNetworkInterface. Následující příklad získá informace o myNic3:
# List existing NICs on the VM if you need to determine NIC name $vm.NetworkProfile.NetworkInterfaces $nicId = (Get-AzNetworkInterface -ResourceGroupName "myResourceGroup" -Name "myNic3").Id
Odeberte síťovou kartu pomocí remove-AzVMNetworkInterface a pak aktualizujte virtuální počítač pomocí Update-AzVm. Následující příklad odebere myNic3 , jak je získáno
$nicId
v předchozím kroku:Remove-AzVMNetworkInterface -VM $vm -NetworkInterfaceIDs $nicId | ` Update-AzVm -ResourceGroupName "myResourceGroup"
Spusťte virtuální počítač pomocí rutiny Start-AzVm:
Start-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
Vytvoření několika síťových rozhraní pomocí šablon
Šablony Azure Resource Manageru poskytují způsob, jak během nasazení vytvořit více instancí prostředku, například vytvořit několik síťových karet. Šablony Resource Manageru definují vaše prostředí pomocí deklarativních souborů JSON. Další informace najdete v přehledu Azure Resource Manageru. Pomocí kopírování můžete určit počet instancí, které se mají vytvořit:
"copy": {
"name": "multiplenics",
"count": "[parameters('count')]"
}
Další informace najdete v tématu Vytváření více instancí pomocí kopírování.
K názvu prostředku můžete také copyIndex()
připojit číslo. Pak můžete vytvořit myNic1, MyNic2 a tak dále. Následující kód ukazuje příklad připojení hodnoty indexu:
"name": "[concat('myNic', copyIndex())]",
Úplný příklad vytvoření více síťových adaptérů si můžete přečíst pomocí šablon Resource Manageru.
Přidejte trasy pro sekundární síťové karty do operačního systému dokončením kroků v části Konfigurace operačního systému pro více síťových adaptérů.
Konfigurace hostovaného operačního systému pro více síťových rozhraní
Azure přiřadí výchozí bránu prvnímu (primárnímu) síťovému rozhraní připojenému k virtuálnímu počítači. Azure nepřiřazuje výchozí bránu dalším (sekundárním) síťovým rozhraním připojeným k virtuálnímu počítači. Proto ve výchozím nastavení nemůžete komunikovat s prostředky mimo podsíť, ve které sekundární síťové rozhraní je. Sekundární síťová rozhraní ale můžou komunikovat s prostředky mimo jejich podsíť, i když se postup povolení komunikace u různých operačních systémů liší.
Z příkazového řádku Windows spusťte
route print
příkaz, který vrátí výstup podobný následujícímu výstupu pro virtuální počítač se dvěma připojenými síťovými rozhraními:=========================================================================== Interface List 3...00 0d 3a 10 92 ce ......Microsoft Hyper-V Network Adapter #3 7...00 0d 3a 10 9b 2a ......Microsoft Hyper-V Network Adapter #4 ===========================================================================
V tomto příkladu je síťový adaptér Microsoft Hyper-V č. 4 (rozhraní 7) sekundárním síťovým rozhraním, které nemá přiřazenou výchozí bránu.
Z příkazového řádku spusťte
ipconfig
příkaz, abyste zjistili, která IP adresa je přiřazena k sekundárnímu síťovému rozhraní. V tomto příkladu je 192.168.2.4 přiřazeno rozhraní 7. Pro sekundární síťové rozhraní se nevrátí žádná výchozí adresa brány.Pokud chcete směrovat veškerý provoz určený pro adresy mimo podsíť sekundárního síťového rozhraní do brány pro podsíť, spusťte následující příkaz:
route add -p 0.0.0.0 MASK 0.0.0.0 192.168.2.1 METRIC 5015 IF 7
Adresa brány pro podsíť je první IP adresa (končící na .1) v rozsahu adres definovaném pro podsíť. Pokud nechcete směrovat veškerý provoz mimo podsíť, můžete místo toho přidat jednotlivé trasy do konkrétních cílů. Pokud například chcete směrovat provoz pouze ze sekundárního síťového rozhraní do sítě 192.168.3.0, zadejte příkaz:
route add -p 192.168.3.0 MASK 255.255.255.0 192.168.2.1 METRIC 5015 IF 7
Pokud chcete potvrdit úspěšnou komunikaci s prostředkem v síti 192.168.3.0, zadejte například následující příkaz pro příkaz ping 192.168.3.4 pomocí rozhraní 7 (192.168.2.4):
ping 192.168.3.4 -S 192.168.2.4
Možná budete muset otevřít PROTOKOL ICMP přes bránu Windows Firewall zařízení, na které příkaz ping používáte následující příkaz:
netsh advfirewall firewall add rule name=Allow-ping protocol=icmpv4 dir=in action=allow
Pokud chcete potvrdit, že přidaná trasa je ve směrovací tabulce, zadejte
route print
příkaz, který vrací výstup podobný následujícímu textu:=========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.4 15 0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.4 5015
Trasa uvedená ve verzi 192.168.1.1 v části Brána je trasa, která je ve výchozím nastavení pro primární síťové rozhraní. Trasa s 192.168.2.1 v části Brána je trasa, kterou jste přidali.
Další kroky
Při pokusu o vytvoření virtuálního počítače s více síťovými kartami zkontrolujte velikosti virtuálních počítačů s Windows. Věnujte pozornost maximálnímu počtu síťových adaptérů, které jednotlivé velikosti virtuálních počítačů podporují.