Membuat dan mengelola komputer virtual Windows yang memiliki beberapa NIC

Berlaku untuk: ✔️ VM Windows ✔️ Kumpulan skala fleksibel

Komputer virtual (VM) di Azure dapat memiliki beberapa kartu antarmuka jaringan virtual (NIC) yang terpasang padanya. Skenario umumnya adalah memiliki subnet yang berbeda untuk koneksi front-end dan back-end. Anda dapat mengaitkan beberapa NIC pada VM ke beberapa subnet, tetapi semua subnet tersebut harus berada di jaringan virtual (vNet) yang sama. Artikel ini merinci cara membuat VM yang memiliki beberapa NIC yang melekat padanya. Anda juga mempelajari cara menambahkan atau menghapus NIC dari VM yang ada. Ukuran VM yang berbeda mendukung berbagai NIC, jadi sesuaikan ukuran VM Anda.

Nota

Jika beberapa subnet tidak diperlukan untuk skenario, mungkin lebih mudah untuk menggunakan beberapa konfigurasi IP pada satu NIC. Instruksi untuk penyiapan ini dapat ditemukan di sini.

Prasyarat

Dalam contoh berikut, ganti contoh nama parameter dengan nilai Anda sendiri. Contoh nama parameter termasuk myResourceGroup, myVnet, dan myVM.

Membuat Komputer Virtual dengan beberapa alamat IP

Pertama, buat grup sumber daya. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi EastUs :

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Membuat jaringan virtual dan subnet

Skenario umum adalah agar jaringan virtual memiliki dua subnet atau lebih. Satu subnet mungkin untuk lalu lintas front-end, yang lain untuk lalu lintas back-end. Untuk menyambungkan ke kedua subnet, Anda kemudian menggunakan beberapa NIC pada VM Anda.

  1. Tentukan dua subnet jaringan virtual dengan New-AzVirtualNetworkSubnetConfig. Contoh berikut menentukan subnet untuk mySubnetFrontEnd dan mySubnetBackEnd:

    $mySubnetFrontEnd = New-AzVirtualNetworkSubnetConfig -Name "mySubnetFrontEnd" `
        -AddressPrefix "192.168.1.0/24"
    $mySubnetBackEnd = New-AzVirtualNetworkSubnetConfig -Name "mySubnetBackEnd" `
        -AddressPrefix "192.168.2.0/24"
    
  2. Buat jaringan virtual dan subnet Anda dengan New-AzVirtualNetwork. Contoh berikut membuat jaringan virtual bernama myVnet:

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

Membuat beberapa NIC

Buat dua NIC dengan New-AzNetworkInterface. Lampirkan satu NIC ke subnet front-end dan satu NIC ke subnet back-end. Contoh berikut membuat NIC bernama myNic1 dan 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

Biasanya Anda juga membuat grup keamanan jaringan untuk memfilter lalu lintas jaringan ke VM dan load balancer untuk mendistribusikan lalu lintas di beberapa VM.

Membuat komputer virtual

Sekarang mulai bangun konfigurasi VM Anda. Setiap ukuran VM memiliki batas untuk jumlah total NIC yang dapat Anda tambahkan ke VM. Untuk informasi selengkapnya, lihat Ukuran VM Windows.

  1. Atur kredensial VM Anda ke $cred variabel sebagai berikut:

    $cred = Get-Credential
    
  2. Tentukan VM Anda dengan New-AzVMConfig. Contoh berikut mendefinisikan VM bernama myVM dan menggunakan ukuran VM yang mendukung lebih dari dua NIC (Standard_DS3_v2):

    $vmConfig = New-AzVMConfig -VMName "myVM" -VMSize "Standard_DS3_v2"
    
  3. Buat konfigurasi VM Anda lainnya dengan Set-AzVMOperatingSystem dan Set-AzVMSourceImage. Contoh berikut membuat VM Windows Server 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"
    
  4. Lampirkan dua NIC yang sebelumnya Anda buat dengan Add-AzVMNetworkInterface:

    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $myNic1.Id -Primary
    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $myNic2.Id
    
  5. Buat VM Anda dengan New-AzVM:

    New-AzVM -VM $vmConfig -ResourceGroupName "myResourceGroup" -Location "EastUs"
    
  6. Tambahkan rute untuk NIC sekunder ke OS dengan menyelesaikan langkah-langkah dalam Mengonfigurasi sistem operasi untuk beberapa NIC.

Menambahkan NIC ke VM yang sudah ada

Untuk menambahkan NIC virtual ke VM yang ada, Anda membatalkan alokasi VM, menambahkan NIC virtual, lalu memulai VM. Ukuran VM yang berbeda mendukung berbagai NIC, jadi sesuaikan ukuran VM Anda. Jika diperlukan, Anda dapat mengubah ukuran VM.

  1. Batalkan alokasi VM dengan Stop-AzVM. Contoh berikut membatalkan alokasi VM bernama myVM di myResourceGroup:

    Stop-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  2. Dapatkan konfigurasi VM yang ada dengan Get-AzVm. Contoh berikut mendapatkan informasi untuk VM bernama myVM di myResourceGroup:

    $vm = Get-AzVm -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  3. Contoh berikut membuat NIC virtual dengan New-AzNetworkInterface bernama myNic3 yang dilampirkan ke mySubnetBackEnd. NIC virtual kemudian dilampirkan ke VM bernama myVM di myResourceGroup dengan 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"
    

    NIC virtual utama

    Salah satu NIC pada VM multi-NIC harus primer. Jika salah satu NIC virtual yang ada pada VM sudah ditetapkan sebagai primer, Anda dapat melewati langkah ini. Contoh berikut mengasumsikan bahwa dua NIC virtual sekarang ada di VM dan Anda ingin menambahkan NIC pertama ([0]) sebagai yang utama:

    # 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. Mulai VM dengan Start-AzVm:

    Start-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
    
  5. Tambahkan rute untuk NIC sekunder ke OS dengan menyelesaikan langkah-langkah dalam Mengonfigurasi sistem operasi untuk beberapa NIC.

Menghapus NIC dari VM yang ada

Untuk menghapus NIC virtual dari VM yang ada, Anda membatalkan alokasi VM, menghapus NIC virtual, lalu memulai VM.

  1. Batalkan alokasi VM dengan Stop-AzVM. Contoh berikut menghapus alokasi VM bernama myVM di myResourceGroup:

    Stop-AzVM -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  2. Dapatkan konfigurasi VM yang ada dengan Get-AzVm. Contoh berikut mendapatkan informasi untuk VM bernama myVM di myResourceGroup:

    $vm = Get-AzVm -Name "myVM" -ResourceGroupName "myResourceGroup"
    
  3. Dapatkan informasi tentang penghapusan NIC dengan Get-AzNetworkInterface. Contoh berikut mendapatkan informasi tentang 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. Hapus NIC dengan Remove-AzVMNetworkInterface lalu perbarui VM dengan Update-AzVm. Contoh berikut menghapus myNic3 seperti yang diperoleh pada $nicId langkah sebelumnya:

    Remove-AzVMNetworkInterface -VM $vm -NetworkInterfaceIDs $nicId | `
        Update-AzVm -ResourceGroupName "myResourceGroup"
    
  5. Mulai VM dengan Start-AzVm:

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

Membuat beberapa NIC dengan templat

Templat Azure Resource Manager menyediakan cara untuk membuat beberapa instans sumber daya selama penyebaran, seperti membuat beberapa NIC. Templat Resource Manager menggunakan file JSON deklaratif untuk menentukan lingkungan Anda. Untuk informasi selengkapnya, lihat gambaran umum Azure Resource Manager. Anda dapat menggunakan salinan untuk menentukan jumlah instans yang akan dibuat:

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

Untuk informasi selengkapnya, lihat membuat beberapa instans dengan menggunakan salin.

Anda juga dapat menggunakan copyIndex() untuk menambahkan angka ke nama sumber daya. Anda kemudian dapat membuat myNic1, MyNic2 dan sebagainya. Kode berikut menunjukkan contoh menambahkan nilai indeks:

"name": "[concat('myNic', copyIndex())]", 

Anda dapat membaca contoh lengkap pembuatan beberapa NIC dengan menggunakan templat Resource Manager.

Tambahkan rute untuk NIC sekunder ke OS dengan menyelesaikan langkah-langkah dalam Mengonfigurasi sistem operasi untuk beberapa NIC.

Mengonfigurasi OS tamu untuk beberapa NIC

Azure menetapkan gateway default ke antarmuka jaringan pertama (utama) yang dilampirkan ke komputer virtual. Azure tidak menetapkan gateway default ke antarmuka jaringan tambahan (sekunder) yang terpasang ke komputer virtual. Secara default, Anda tidak dapat berkomunikasi dengan sumber daya di luar subnet tempat antarmuka jaringan sekunder berada. Namun, antarmuka jaringan sekunder dapat berkomunikasi dengan sumber daya di luar subnet mereka, meskipun langkah-langkah untuk mengaktifkan komunikasi berbeda untuk sistem operasi yang berbeda.

  1. Dari prompt perintah Windows, jalankan route print perintah , yang mengembalikan output yang mirip dengan output berikut untuk komputer virtual dengan dua antarmuka jaringan yang terpasang:

    ===========================================================================
    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
    ===========================================================================
    

    Dalam contoh ini, Microsoft Hyper-V Network Adapter #4 (antarmuka 7) adalah antarmuka jaringan sekunder yang tidak memiliki gateway default yang ditetapkan untuknya.

  2. Dari prompt perintah, jalankan perintah ipconfig untuk melihat alamat IP mana yang ditetapkan ke antarmuka jaringan sekunder. Dalam contoh ini, 192.168.2.4 ditetapkan ke antarmuka 7. Tidak ada alamat gateway default yang dikembalikan untuk antarmuka jaringan sekunder.

  3. Untuk merutekan semua lalu lintas yang ditujukan ke alamat di luar subnet dari antarmuka jaringan sekunder ke gateway untuk subnet, jalankan perintah berikut:

    route add -p 0.0.0.0 MASK 0.0.0.0 192.168.2.1 METRIC 5015 IF 7
    

    Alamat gateway untuk subnet adalah alamat IP pertama (berakhiran .1) dalam rentang alamat yang ditentukan untuk subnet. Jika Anda tidak ingin merutekan semua lalu lintas di luar subnet, Anda dapat menambahkan rute individual ke tujuan tertentu, sebagai gantinya. Misalnya, jika Anda hanya ingin merutekan lalu lintas dari antarmuka jaringan sekunder ke jaringan 192.168.3.0, Anda memasukkan perintah:

    route add -p 192.168.3.0 MASK 255.255.255.0 192.168.2.1 METRIC 5015 IF 7
    
  4. Untuk mengonfirmasi keberhasilan komunikasi dengan sumber daya pada jaringan 192.168.3.0, misalnya, masukkan perintah berikut ke ping 192.168.3.4 menggunakan antarmuka 7 (192.168.2.4):

    ping 192.168.3.4 -S 192.168.2.4
    

    Anda mungkin perlu membuka ICMP melalui firewall Windows perangkat yang Anda ping dengan perintah berikut:

    netsh advfirewall firewall add rule name=Allow-ping protocol=icmpv4 dir=in action=allow
    
  5. Untuk mengonfirmasi rute yang ditambahkan ada di tabel rute, masukkan route print perintah , yang mengembalikan output yang mirip dengan teks berikut:

    ===========================================================================
    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
    

    Rute yang tercantum dengan 192.168.1.1 di bawah Gateway, adalah rute yang ada di sana secara default untuk antarmuka jaringan utama. Rute dengan 192.168.2.1 di bawah Gateway, adalah rute yang Anda tambahkan.

Langkah berikutnya

Tinjau ukuran VM Windows saat Anda mencoba membuat VM yang memiliki beberapa NIC. Perhatikan jumlah maksimum NIC yang didukung setiap ukuran VM.