Mulai cepat: Buat titik akhir privat dengan menggunakan Azure PowerShell

Mulai menggunakan Azure Private Link dengan membuat dan menggunakan titik akhir privat untuk terhubung dengan aman ke aplikasi web Azure App Services.

Dalam mulai cepat ini, buat titik akhir privat untuk aplikasi web Azure App Services lalu buat dan sebarkan komputer virtual (VM) untuk menguji koneksi privat.

Anda dapat membuat titik akhir privat untuk berbagai layanan Azure, seperti Azure SQL dan Azure Storage.

Diagram sumber daya yang dibuat dalam mulai cepat titik akhir privat.

Prasyarat

  • Akun Azure dengan langganan aktif. Jika Anda belum memiliki akun Azure, buat akun secara gratis.

  • Aplikasi web Azure dengan aplikasi PremiumV2-tier atau paket layanan aplikasi yang lebih tinggi yang disebarkan di langganan Azure Anda.

  • 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

Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola.

Membuat grup sumber daya menggunakan New-AzResourceGroup:

$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. Kemudian kaitkan konfigurasi subnet ke jaringan virtual dengan 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 protokol desktop jarak jauh (RDP) dengan menggunakan alamat IP privat mereka. VM tidak memerlukan alamat IP publik, perangkat lunak klien, atau konfigurasi khusus. Untuk informasi selengkapnya tentang Azure Bastion, lihat Azure Bastion.

Catatan

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 Azure Bastion untuk jaringan virtual Anda. Subnet ini dicadangkan secara eksklusif untuk sumber daya Azure 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 Azure Bastion. Host bastion menggunakan IP publik untuk mengakses secure shell (SSH) dan protokol desktop jarak jauh (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 Azure 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 beberapa menit agar sumber daya Bastion disebarkan.

Membuat titik akhir privat

Layanan Azure yang mendukung titik akhir privat diperlukan untuk menyiapkan titik akhir privat dan koneksi ke jaringan virtual. Untuk contoh dalam artikel ini, kami menggunakan WebApp Azure App Services dari prasyarat. Untuk informasi selengkapnya tentang layanan Azure yang mendukung titik akhir privat, lihat ketersediaan Azure Private Link.

Titik akhir privat dapat memiliki alamat IP yang ditetapkan secara statis atau dinamis.

Penting

Anda harus memiliki Azure App Services WebApp yang disebarkan sebelumnya untuk melanjutkan langkah-langkah dalam artikel ini. Untuk informasi selengkapnya, lihat Prasyarat.

Di bagian ini, Anda akan:

## Place the previously created webapp into a variable. ##
$webapp = Get-AzWebApp -ResourceGroupName test-rg -Name webapp-1

## Create the private endpoint connection. ## 
$pec = @{
    Name = 'connection-1'
    PrivateLinkServiceId = $webapp.ID
    GroupID = 'sites'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @pec

## Place the virtual network you created previously into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'

## Create the private endpoint. ##
$pe = @{
    ResourceGroupName = 'test-rg'
    Name = 'private-endpoint'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
    PrivateLinkServiceConnection = $privateEndpointConnection
}
New-AzPrivateEndpoint @pe

Mengonfigurasi Zona DNS privat

Zona DNS privat digunakan untuk mengatasi nama DNS titik akhir privat di jaringan virtual. Untuk contoh ini, kami menggunakan informasi DNS untuk aplikasi web Azure App Services, untuk informasi selengkapnya tentang konfigurasi DNS titik akhir privat, lihat Konfigurasi DNS Titik Akhir Privat Azure.

Di bagian ini, Anda akan:

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'

## Create the private DNS zone. ##
$zn = @{
    ResourceGroupName = 'test-rg'
    Name = 'privatelink.azurewebsites.net'
}
$zone = New-AzPrivateDnsZone @zn

## Create a DNS network link. ##
$lk = @{
    ResourceGroupName = 'test-rg'
    ZoneName = 'privatelink.azurewebsites.net'
    Name = 'dns-link'
    VirtualNetworkId = $vnet.Id
}
$link = New-AzPrivateDnsVirtualNetworkLink @lk

## Configure the DNS zone. ##
$cg = @{
    Name = 'privatelink.azurewebsites.net'
    PrivateDnsZoneId = $zone.ResourceId
}
$config = New-AzPrivateDnsZoneConfig @cg

## Create the DNS zone group. ##
$zg = @{
    ResourceGroupName = 'test-rg'
    PrivateEndpointName = 'private-endpoint'
    Name = 'zone-group'
    PrivateDnsZoneConfig = $config
}
New-AzPrivateDnsZoneGroup @zg

Membuat mesin virtual uji

Untuk memverifikasi alamat IP statis dan fungsionalitas titik akhir privat, diperlukan mesin virtual pengujian yang terhubung ke jaringan virtual Anda.

Di bagian ini, Anda akan:

## Create the credential for the virtual machine. Enter a username and password at the prompt. ##
$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 virtual machine. ##
$nic = @{
    Name = 'nic-1'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic

## Create the configuration for the virtual machine. ##
$vm1 = @{
    VMName = 'vm-1'
    VMSize = 'Standard_DS1_v2'
}
$vm2 = @{
    ComputerName = 'vm-1'
    Credential = $cred
}
$vm3 = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2022-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vm1 | Set-AzVMOperatingSystem -Windows @vm2 | Set-AzVMSourceImage @vm3 | Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine. ##
New-AzVM -ResourceGroupName 'test-rg' -Location 'eastus2' -VM $vmConfig

Catatan

Komputer virtual 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.

Menguji konektivitas ke titik akhir privat

Gunakan komputer virtual yang Anda buat sebelumnya untuk menyambungkan ke aplikasi web di seluruh titik akhir privat.

  1. Di kotak pencarian di bagian atas portal, masukkan Jaringan virtual. Pilih Komputer virtual.

  2. Pilih vm-1.

  3. Pada halaman gambaran umum untuk vm-1, pilih Koneksi, lalu pilih tab Bastion.

  4. Pilih Gunakan Bastion.

  5. Masukkan nama pengguna dan kata sandi yang Anda gunakan saat membuat mesin virtual.

  6. Pilih Sambungkan.

  7. Setelah Anda terhubung, buka PowerShell di server.

  8. Memasuki nslookup webapp-1.azurewebsites.net. Anda menerima pesan yang mirip dengan contoh berikut:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    webapp-1.privatelink.azurewebsites.net
    Address:  10.0.0.10
    Aliases:  webapp-1.azurewebsites.net
    

    Alamat IP privat 10.0.0.10 dikembalikan untuk nama aplikasi web jika Anda memilih alamat IP statis di langkah-langkah sebelumnya. Alamat ini berada di subnet jaringan virtual yang Anda buat sebelumnya.

  9. Di koneksi bastion ke vm-1, buka browser web.

  10. Masukkan URL aplikasi web Anda, https://webapp-1.azurewebsites.net.

    Jika aplikasi web Anda belum disebarkan, Anda mendapatkan halaman aplikasi web default berikut:

    Cuplikan layar halaman aplikasi web default di browser.

Membersihkan sumber daya

Jika tidak lagi diperlukan, Anda dapat menggunakan perintah Remove-AzResourceGroup untuk menghapus grup sumber daya, jaringan virtual, dan sumber daya yang tersisa.

Remove-AzResourceGroup -Name 'test-rg'

Langkah berikutnya

Untuk informasi selengkapnya tentang layanan yang mendukung titik akhir privat, lihat: