Mulai cepat: Menggunakan Azure PowerShell untuk membuat jaringan virtual

Mulai cepat ini menunjukkan kepada Anda cara membuat jaringan virtual dengan menggunakan Azure PowerShell. Anda kemudian membuat dua komputer virtual (VM) di jaringan, terhubung dengan aman ke VM dari internet, dan memulai komunikasi privat antara VM.

Jaringan virtual adalah blok penyusun dasar untuk jaringan privat di Azure. Azure Virtual Network memungkinkan sumber daya Azure seperti VM untuk berkomunikasi satu sama lain dengan aman dan internet.

Diagram sumber daya yang dibuat dalam mulai cepat jaringan virtual.

Prasyarat

  • Akun Azure dengan langganan aktif. Anda dapat membuat akun secara gratis.

  • Azure Cloud Shell atau Azure PowerShell.

    Langkah-langkah dalam mulai cepat ini menjalankan cmdlet Azure PowerShell secara interaktif di Azure Cloud Shell. Untuk menjalankan perintah di Cloud Shell, pilih Buka Cloudshell di sudut kanan atas blok kode. Pilih Salin untuk menyalin kode, lalu tempelkan ke Cloud Shell untuk menjalankannya. Anda juga dapat menjalankan Cloud Shell dari dalam portal Azure.

    Anda juga dapat menginstal Azure PowerShell secara lokal untuk menjalankan cmdlet. Langkah-langkah dalam artikel ini memerlukan modul Azure PowerShell versi 5.4.1 atau yang lebih baru. Jalankan Get-Module -ListAvailable Az untuk menemukan versi yang terpasang. Jika Anda perlu meningkatkan, lihat Memperbarui modul Azure PowerShell.

    Jika Anda menjalankan PowerShell secara lokal, jalankan Connect-AzAccount untuk menyambungkan ke Azure.

Buat grup sumber daya

Gunakan New-AzResourceGroup untuk membuat grup sumber daya untuk menghosting jaringan virtual. Jalankan kode berikut untuk membuat grup sumber daya bernama test-rg di wilayah Azure eastus2 :

$rg = @{
    Name = 'test-rg'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

Membuat jaringan virtual

  1. Gunakan New-AzVirtualNetwork untuk membuat jaringan virtual bernama vnet-1 dengan awalan alamat IP 10.0.0.0/16 di grup sumber daya test-rg dan lokasi eastus2 :

    $vnet = @{
        Name = 'vnet-1'
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        AddressPrefix = '10.0.0.0/16'
    }
    $virtualNetwork = New-AzVirtualNetwork @vnet
    
  2. Azure menyebarkan sumber daya ke subnet dalam jaringan virtual. Gunakan Add-AzVirtualNetworkSubnetConfig untuk membuat konfigurasi subnet bernama subnet-1 dengan awalan alamat 10.0.0.0/24:

    $subnet = @{
        Name = 'subnet-1'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.0.0/24'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  3. Kaitkan konfigurasi subnet ke jaringan virtual dengan menggunakan Set-AzVirtualNetwork:

    $virtualNetwork | Set-AzVirtualNetwork
    

Sebarkan Azure Bastion

Azure Bastion menggunakan browser Anda untuk menyambungkan ke VM di jaringan virtual Anda melalui Secure Shell (SSH) atau Remote Desktop Protocol (RDP) dengan menggunakan alamat IP privat mereka. VM tidak memerlukan alamat IP publik, perangkat lunak klien, atau konfigurasi khusus. Untuk informasi selengkapnya tentang Bastion, lihat Apa itu Azure Bastion?.

Harga per jam dimulai sejak Bastion disebarkan, terlepas dari penggunaan data keluar. Untuk informasi selengkapnya, lihat Harga dan SKU. Jika Anda menyebarkan Bastion sebagai bagian dari tutorial atau pengujian, kami sarankan Anda menghapus sumber daya ini setelah Selesai menggunakannya.

  1. Konfigurasikan subnet Bastion untuk jaringan virtual Anda. Subnet ini dicadangkan khusus untuk sumber daya Bastion dan harus diberi nama AzureBastionSubnet.

    $subnet = @{
        Name = 'AzureBastionSubnet'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.1.0/26'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  2. Atur konfigurasi:

    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Buat alamat IP publik untuk Bastion. Host Bastion menggunakan IP publik untuk mengakses SSH dan RDP melalui port 443.

    $ip = @{
            ResourceGroupName = 'test-rg'
            Name = 'public-ip'
            Location = 'eastus2'
            AllocationMethod = 'Static'
            Sku = 'Standard'
            Zone = 1,2,3
    }
    New-AzPublicIpAddress @ip
    
  4. Gunakan perintah New-AzBastion untuk membuat host Bastion SKU Standar baru di AzureBastionSubnet:

    $bastion = @{
        Name = 'bastion'
        ResourceGroupName = 'test-rg'
        PublicIpAddressRgName = 'test-rg'
        PublicIpAddressName = 'public-ip'
        VirtualNetworkRgName = 'test-rg'
        VirtualNetworkName = 'vnet-1'
        Sku = 'Basic'
    }
    New-AzBastion @bastion
    

Dibutuhkan sekitar 10 menit untuk menyebarkan sumber daya Bastion. Anda dapat membuat VM di bagian berikutnya saat Bastion disebarkan ke jaringan virtual Anda.

Membuat komputer virtual

Gunakan New-AzVM untuk membuat dua VM bernama vm-1 dan vm-2 di subnet subnet-1 jaringan virtual. Saat Anda dimintai kredensial, masukkan nama pengguna dan kata sandi untuk VM.

  1. Untuk membuat VM pertama, gunakan kode berikut:

    # Set the administrator and password for the VM. ##
    $cred = Get-Credential
    
    ## Place the virtual network into a variable. ##
    $vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
    
    ## Create a network interface for the VM. ##
    $nic = @{
        Name = "nic-1"
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        Subnet = $vnet.Subnets[0]
    }
    $nicVM = New-AzNetworkInterface @nic
    
    ## Create a virtual machine configuration. ##
    $vmsz = @{
        VMName = "vm-1"
        VMSize = 'Standard_DS1_v2'  
    }
    $vmos = @{
        ComputerName = "vm-1"
        Credential = $cred
    }
    $vmimage = @{
        PublisherName = 'Canonical'
        Offer = '0001-com-ubuntu-server-jammy'
        Skus = '22_04-lts-gen2'
        Version = 'latest'    
    }
    $vmConfig = New-AzVMConfig @vmsz `
        | Set-AzVMOperatingSystem @vmos -Linux `
        | Set-AzVMSourceImage @vmimage `
        | Add-AzVMNetworkInterface -Id $nicVM.Id
    
    ## Create the VM. ##
    $vm = @{
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        VM = $vmConfig
    }
    New-AzVM @vm
    
  2. Untuk membuat VM kedua, gunakan kode berikut:

    # Set the administrator and password for the VM. ##
    $cred = Get-Credential
    
    ## Place the virtual network into a variable. ##
    $vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
    
    ## Create a network interface for the VM. ##
    $nic = @{
        Name = "nic-2"
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        Subnet = $vnet.Subnets[0]
    }
    $nicVM = New-AzNetworkInterface @nic
    
    ## Create a virtual machine configuration. ##
    $vmsz = @{
        VMName = "vm-2"
        VMSize = 'Standard_DS1_v2'  
    }
    $vmos = @{
        ComputerName = "vm-2"
        Credential = $cred
    }
    $vmimage = @{
        PublisherName = 'Canonical'
        Offer = '0001-com-ubuntu-server-jammy'
        Skus = '22_04-lts-gen2'
        Version = 'latest'    
    }
    $vmConfig = New-AzVMConfig @vmsz `
        | Set-AzVMOperatingSystem @vmos -Linux `
        | Set-AzVMSourceImage @vmimage `
        | Add-AzVMNetworkInterface -Id $nicVM.Id
    
    ## Create the VM. ##
    $vm = @{
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        VM = $vmConfig
    }
    New-AzVM @vm
    

Tip

Anda dapat menggunakan -AsJob opsi untuk membuat VM di latar belakang saat Melanjutkan tugas lain. Sebagai contoh, jalankan New-AzVM @vm1 -AsJob. Saat Azure mulai membuat VM di latar belakang, Anda mendapatkan sesuatu seperti output berikut:

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Long Running... AzureLongRun... Running       True            localhost            New-AzVM

Azure membutuhkan waktu beberapa menit untuk membuat VM. Saat Azure selesai membuat VM, Azure mengembalikan output ke PowerShell.

Catatan

VM di jaringan virtual dengan host Bastion tidak memerlukan alamat IP publik. Bastion menyediakan IP publik, dan VM menggunakan IP privat untuk berkomunikasi dalam jaringan. Anda dapat menghapus IP publik dari VM apa pun di jaringan virtual yang dihosting Bastion. Untuk informasi selengkapnya, lihat Memisahkan alamat IP publik dari Azure VM.

Catatan

Azure menyediakan IP akses keluar default untuk VM yang tidak diberi alamat IP publik atau berada di kumpulan backend load balancer Azure dasar internal. Mekanisme IP akses keluar default menyediakan alamat IP keluar yang tidak dapat dikonfigurasi.

IP akses keluar default dinonaktifkan saat salah satu peristiwa berikut terjadi:

  • Alamat IP publik ditetapkan ke VM.
  • VM ditempatkan di kumpulan backend load balancer standar, dengan atau tanpa aturan keluar.
  • Sumber daya Azure NAT Gateway ditetapkan ke subnet VM.

VM yang Anda buat dengan menggunakan set skala komputer virtual dalam mode orkestrasi fleksibel tidak memiliki akses keluar default.

Untuk informasi selengkapnya tentang koneksi keluar di Azure, lihat Akses keluar default di Azure dan Menggunakan Terjemahan Alamat Jaringan Sumber (SNAT) untuk koneksi keluar.

Menyambungkan ke mesin virtual

  1. Di portal, cari dan pilih Komputer virtual.

  2. Pada halaman Komputer virtual, pilih vm-1.

  3. Di informasi Gambaran Umum untuk vm-1, pilih Koneksi.

  4. Pada halaman Koneksi ke komputer virtual, pilih tab Bastion.

  5. Pilih Gunakan Bastion.

  6. Masukkan nama pengguna dan kata sandi yang Anda buat saat membuat VM, lalu pilih Koneksi.

Memulai komunikasi antar VM

  1. Pada permintaan bash untuk vm-1, masukkan ping -c 4 vm-2.

    Anda mendapatkan balasan yang mirip dengan pesan berikut:

    azureuser@vm-1:~$ ping -c 4 vm-2
    PING vm-2.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.5) 56(84) bytes of data.
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=1 ttl=64 time=1.83 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=2 ttl=64 time=0.987 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=3 ttl=64 time=0.864 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=4 ttl=64 time=0.890 ms
    
  2. Tutup koneksi Bastion ke vm-1.

  3. Ulangi langkah-langkah dalam Koneksi ke komputer virtual untuk menyambungkan ke vm-2.

  4. Pada permintaan bash untuk vm-2, masukkan ping -c 4 vm-1.

    Anda mendapatkan balasan yang mirip dengan pesan berikut:

    azureuser@vm-2:~$ ping -c 4 vm-1
    PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data.
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=0.695 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=0.896 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=3.43 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=0.780 ms
    
  5. Tutup koneksi Bastion ke vm-2.

Membersihkan sumber daya

Setelah Anda selesai dengan jaringan virtual dan VM, gunakan Remove-AzResourceGroup untuk menghapus grup sumber daya dan semua sumber dayanya:

Remove-AzResourceGroup -Name 'test-rg' -Force

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat jaringan virtual dengan subnet default yang berisi dua VM. Anda menyebarkan Azure Bastion dan menggunakannya untuk menyambungkan ke VM, dan berkomunikasi dengan aman antara VM. Untuk mempelajari lebih lanjut tentang pengaturan jaringan virtual, lihat Buat, ubah, atau hapus jaringan virtual.