Vytvoření a správa virtuálního počítače s Windows, který má více síťových karet

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ů, proto velikost virtuálního počítače odpovídajícím způsobem.

Poznámka

Pokud se v jednom scénáři nevyžaduje více podsítí, může být jednodušší využít více konfigurací IP adres na jednom síťovém rozhraní. Pokyny k tomuto nastavení najdete tady.

Požadavky

V následujících příkladech nahraďte příklady názvů parametrů vlastními hodnotami. Mezi příklady názvů parametrů patří 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 určená pro front-endový provoz a druhá pro back-endový provoz. Pokud se chcete připojit k oběma podsítím, pak na virtuálním počítači použijete několik síťových rozhraní.

  1. 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"
    
  2. Vytvořte virtuální síť a podsítě pomocí rutiny New-AzVirtualNetwork. Následující příklad vytvoří virtuální síť myVnet:

    $myVnet = New-AzVirtualNetwork -ResourceGroupName "myResourceGroup" `
        -Location "EastUs" `
        -Name "myVnet" `
        -AddressPrefix "192.168.0.0/16" `
        -Subnet $mySubnetFrontEnd,$mySubnetBackEnd
    

Vytvoření více síťových adaptérů

Vytvořte dvě síťové karty pomocí rutiny 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ázvy 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 do virtuálního počítače a nástroj pro vyrovnávání zatížení pro distribuci provozu mezi více virtuálních počítačů.

Vytvoření virtuálního počítače

Teď začněte sestavovat konfiguraci virtuálního počítače. Každá velikost virtuálního počítače má limit pro celkový počet síťových adaptérů, 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.

  1. Následujícím způsobem nastavte přihlašovací údaje virtuálního počítače na $cred proměnnou:

    $cred = Get-Credential
    
  2. Definujte virtuální počítač pomocí rutiny New-AzVMConfig. Následující příklad definuje virtuální počítač 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"
    
  3. Vytvořte zbytek konfigurace virtuálního počítače pomocí rutin Set-AzVMOperatingSystem a Set-AzVMSourceImage. Následující příklad vytvoří Windows Server 2016 virtuální počítač:

    $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"
    
  4. Připojte dvě síťová rozhraní, která jste předtím vytvořili pomocí rutiny Add-AzVMNetworkInterface:

    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $myNic1.Id -Primary
    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $myNic2.Id
    
  5. Vytvořte virtuální počítač pomocí rutiny New-AzVM:

    New-AzVM -VM $vmConfig -ResourceGroupName "myResourceGroup" -Location "EastUs"
    
  6. Přidejte trasy pro sekundární síťové karty do operačního systému pomocí kroků v části Konfigurace operačního systému pro více síťových karet.

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, zrušte přidělení virtuálního počítače, přidejte virtuální síťovou kartu a pak virtuální počítač spusťte. Různé velikosti virtuálních počítačů podporují různý počet síťových adaptérů, proto velikost virtuálního počítače odpovídajícím způsobem. V případě potřeby můžete změnit velikost virtuálního počítače.

  1. Uvolněte virtuální počítač pomocí rutiny Stop-AzVM. Následující příklad zruší přidělení virtuálního počítače myVM v myResourceGroup:

    Stop-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  2. Získejte stávající konfiguraci virtuálního počítače pomocí rutiny Get-AzVm. Následující příklad získá informace o virtuálním počítači myVM v myResourceGroup:

    $vm = Get-AzVm -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  3. Následující příklad vytvoří virtuální síťovou kartu s rutinou New-AzNetworkInterfacemyNic3 , 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 pomocí rutiny 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 ze síťových karet na virtuálním počítači s více síťovými kartami musí být primární. Pokud je některá ze stávají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 se na virtuálním počítači teď nacházejí dvě virtuální síťové karty, a chcete přidat první síťovou kartu ([0]) jako primární:

    # 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"
    
  4. Spusťte virtuální počítač pomocí rutiny Start-AzVm:

    Start-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
    
  5. Přidejte trasy pro sekundární síťové karty do operačního systému pomocí kroků v části Konfigurace operačního systému pro více síťových karet.

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, zrušte přidělení virtuálního počítače, odeberte virtuální síťovou kartu a pak virtuální počítač spusťte.

  1. Uvolněte virtuální počítač pomocí rutiny Stop-AzVM. Následující příklad zruší přidělení virtuálního počítače myVM v myResourceGroup:

    Stop-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  2. Získejte stávající konfiguraci virtuálního počítače pomocí rutiny Get-AzVm. Následující příklad získá informace o virtuálním počítači myVM v myResourceGroup:

    $vm = Get-AzVm -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  3. 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   
    
  4. Odeberte síťovou kartu pomocí rutiny Remove-AzVMNetworkInterface a pak virtuální počítač aktualizujte pomocí rutiny Update-AzVm. Následující příklad odebere myNic3 , jak ho získal $nicId v předchozím kroku:

    Remove-AzVMNetworkInterface -VM $vm -NetworkInterfaceIDs $nicId | `
        Update-AzVm -ResourceGroupName "myResourceGroup"
    
  5. Spusťte virtuální počítač pomocí rutiny Start-AzVm:

    Start-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
    

Vytvoření více síťových karet pomocí šablon

Šablony Azure Resource Manager poskytují způsob, jak během nasazení vytvořit více instancí prostředku, například vytvořit více síťových adaptérů. Resource Manager šablony používají k definování prostředí deklarativní soubory JSON. Další informace najdete v přehledu azure Resource Manager. Pomocí kopírování můžete zadat počet instancí, které se mají vytvořit:

"copy": {
    "name": "multiplenics",
    "count": "[parameters('count')]"
}

Další informace najdete v tématu Vytvoření více instancí pomocí kopírování.

Můžete také použít copyIndex() k připojení čísla k názvu prostředku. Pak můžete vytvořit myNic1, MyNic2 atd. 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 rozhraní si můžete přečíst pomocí šablon Resource Manager.

Přidejte trasy pro sekundární síťové karty do operačního systému pomocí kroků v části Konfigurace operačního systému pro více síťových karet.

Konfigurace hostovaného operačního systému pro více síťových adaptérů

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íť, ale postup povolení komunikace se u různých operačních systémů liší.

  1. 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 Microsoft Hyper-V síťový adaptér č. 4 (rozhraní 7) sekundárním síťovým rozhraním, ke kterému není přiřazená výchozí brána.

  2. Spuštěním příkazu z příkazového ipconfig řádku zjistěte, která IP adresa je přiřazená 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.

  3. Pokud chcete směrovat veškerý provoz určený pro adresy mimo podsíť sekundárního síťového rozhraní do brány podsítě podsítě, 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 podsítě 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 jste například chtěli směrovat provoz jenom ze sekundárního síťového rozhraní do sítě 192.168.3.0, zadejte tento příkaz:

    route add -p 192.168.3.0 MASK 255.255.255.0 192.168.2.1 METRIC 5015 IF 7
    
  4. Pokud například chcete potvrdit úspěšnou komunikaci s prostředkem v síti 192.168.3.0, zadejte následující příkaz pro odeslání příkazu ping na adresu 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í, které používáte příkaz ping, pomocí následujícího příkazu:

    netsh advfirewall firewall add rule name=Allow-ping protocol=icmpv4 dir=in action=allow
    
  5. Pokud chcete ověřit, že se přidaná trasa nachází ve směrovací tabulce, zadejte route print příkaz , který vrátí 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á s 192.168.1.1 v části Brána je trasa, která existuje 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 si projděte 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í.