Buat dan kelola komputer virtual Windows yang memiliki banyak NIC

Berlaku untuk: ✔️ mesin virtual Windows ✔️ Scale sets fleksibel

Komputer virtual (VM) di Azure dapat memiliki beberapa kartu antarmuka jaringan virtual (NIC) yang terpasang padanya. Skenario umumnya untuk memiliki subnet yang berbeda untuk konektivitas ujung-depan dan ujung-belakang. Anda dapat mengaitkan beberapa NIC pada VM ke beberapa subnet, tetapi semua subnet tersebut harus berada di jaringan virtual (vNet) yang sama. Artikel ini menjelaskan cara membuat VM yang memiliki beberapa NIC yang terpasang padanya. Anda juga mempelajari cara menambah atau menghapus NIC dari VM yang ada. Ukuran VM yang berbeda mendukung jumlah NIC yang bervariasi, jadi sesuaikan ukuran VM Anda.

Catatan

Jika beberapa subnet tidak diperlukan untuk sebuah skenario, akan lebih mudah untuk menggunakan beberapa konfigurasi IP pada satu NIC. Petunjuk untuk pengaturan ini dapat ditemukan di sini.

Prasyarat

Dalam contoh berikut ini, ganti nama parameter contoh 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 dan subnet virtual

Skenario umum adalah untuk jaringan virtual memiliki dua atau lebih subnet. Satu subnet mungkin untuk lalu lintas ujung-depan, yang lain untuk lalu lintas ujung-belakang. Untuk terhubung ke kedua subnet, Anda kemudian menggunakan beberapa NIC di VM Anda.

  1. Tentukan dua subnet jaringan virtual dengan New-AzVirtualNetworkSubnetConfig. Contoh berikut mendefinisikan 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 dan subnet virtual 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. Pasang satu NIC ke subnet ujung-depan dan satu NIC ke subnet ujung-belakang. 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 ke beberapa VM.

Membuat komputer virtual

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

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

    $cred = Get-Credential
    
  2. Tentukan VM 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 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 di Mengonfigurasi sistem operasi untuk beberapa NIC.

Tambahkan NIC ke VM yang ada

Untuk menambahkan NIC virtual ke VM yang ada, Anda membatalkan alokasi VM, menambahkan NIC virtual, lalu memulai VM. Ukuran VM yang berbeda mendukung jumlah NIC yang bervariasi, jadi sesuaikan ukuran VM Anda. Jika perlu, 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 menjadi yang utama. Jika salah satu NIC virtual yang ada pada VM sudah ditetapkan sebagai utama, 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 di Mengonfigurasi sistem operasi untuk beberapa NIC.

MenghapusNIC 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 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. 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 $nicId pada 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 template

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

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

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

Anda juga dapat menggunakan copyIndex() untuk menambahkan nomor ke nama sumber daya. Anda kemudian dapat membuat myNic1, MyNic2 dan seterusnya. Kode berikut menampilkan contoh penambahan nilai indeks:

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

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

Tambahkan rute untuk NIC sekunder ke OS dengan menyelesaikan langkah-langkah di 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. Antarmuka jaringan sekunder dapat, bagaimanapun, 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 perintah route print, yang mengembalikan output serupa 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 padanya.

  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 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 (diakhiri dengan .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. 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 komunikasi yang berhasil dengan sumber daya di jaringan 192.168.3.0, misalnya, masukkan perintah berikut untuk 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 dari 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 dari di tabel rute, masukkan perintah route print, 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 terdaftar dengan 192.168.1.1 di bawah Gateway, adalah rute yang ada 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 oleh setiap ukuran VM.