Tutorial: Menyambungkan ke server Azure SQL menggunakan Azure Private Endpoint menggunakan Azure CLI

Private Endpoint Azure adalah komponen dasar untuk Private Link di Azure. Private Link memungkinkan sumber daya Azure, seperti mesin virtual (VM), untuk berkomunikasi secara privat dengan sumber daya Private Link.

Diagram sumber daya yang dibuat dalam panduan memulai cepat untuk titik akhir privat.

Dalam tutorial ini, Anda akan belajar cara:

  • Membuat sebuah jaringan virtual dan sebuah bastion host.
  • Membuat mesin virtual.
  • Buat server Azure SQL dan titik akhir privat.
  • Uji konektivitas ke titik akhir privat server SQL.

Prerequisites

Membuat grup sumber daya

Grup sumber daya Azure adalah wadah logis tempat sumber daya Azure dikerahkan dan dikelola.

Buat grup sumber daya dengan az group create:

  • Bernama CreateSQLEndpointTutorial-rg.
  • Di lokasi eastus tersebut.
az group create \
    --name CreateSQLEndpointTutorial-rg \
    --location eastus

Membuat jaringan virtual dan host bastion

Di bagian ini, Anda membuat jaringan virtual, subnet, dan host bastion.

Host bastion digunakan untuk terhubung dengan aman ke komputer virtual untuk menguji titik akhir privat.

Membuat jaringan virtual dengan az network vnet create

  • Bernama myVNet.
  • Awalan alamat 10.0.0.0/16.
  • Subnet bernama myBackendSubnet.
  • Awalan subnet 10.0.0.0/24.
  • Di grup sumber daya CreateSQLEndpointTutorial-rg.
  • Lokasi dari eastus.
az network vnet create \
    --resource-group CreateSQLEndpointTutorial-rg\
    --location eastus \
    --name myVNet \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.0.0.0/24

Perbarui subnet untuk menonaktifkan kebijakan jaringan titik akhir privat dengan az network vnet subnet update:

az network vnet subnet update \
    --name myBackendSubnet \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet \
    --private-endpoint-network-policies Disabled

Gunakan az network public-ip create untuk membuat alamat IP publik untuk host bastion:

  • Buat alamat IP publik redundan zona standar bernama myBastionIP.
  • Pada CreateSQLEndpointTutorial-rg.
az network public-ip create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionIP \
    --sku Standard

Gunakan az network vnet subnet create untuk membuat subnet bastion:

  • Bernama AzureBastionSubnet.
  • Awalan alamat 10.0.1.0/24.
  • Di jaringan virtual myVNet.
  • Dalam grup sumber daya CreateSQLEndpointTutorial-rg.
az network vnet subnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.0.1.0/24

Gunakan az network bastion create untuk membuat host bastion:

  • Bernama myBastionHost.
  • Pada CreateSQLEndpointTutorial-rg.
  • Terkait dengan IP publik myBastionIP.
  • Terkait dengan jaringan virtual myVNet.
  • Di lokasi eastus .
az network bastion create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --sku Basic \
    --location eastus

Dibutuhkan beberapa menit untuk host Azure Bastion terpasang.

Membuat komputer virtual pengujian

Di bagian ini, Anda membuat komputer virtual yang digunakan untuk menguji titik akhir privat.

Buat VM dengan az vm create. Ketika diminta, berikan kata sandi untuk digunakan sebagai kredensial untuk VM:

  • Bernama myVM.
  • Pada CreateSQLEndpointTutorial-rg.
  • Di jaringan myVNet.
  • Di subnet myBackendSubnet.
  • Gambar server Win2022AzureEditionCore.
az vm create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myVM \
    --image Win2022AzureEditionCore \
    --public-ip-address "" \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --admin-username azureuser

Catatan

Azure menyediakan alamat IP akses keluar bawaan untuk VM yang tidak diberi alamat IP publik atau yang terletak dalam kumpulan backend load balancer dasar Azure 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 penyeimbang beban standar, dengan atau tanpa aturan outbound.
  • Sumber daya Azure NAT Gateway dihubungkan ke subnet VM.

VM yang Anda buat dengan menggunakan kumpulan skala mesin virtual dalam mode orkestrasi fleksibel tidak memiliki akses ke luar secara 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.

Membuat server Azure SQL

Di bagian ini, Anda membuat server dan database SQL.

Gunakan az sql server create untuk membuat server SQL:

  • Ganti <sql-server-name> dengan nama server unik Anda.
  • Ganti <kata sandi> Anda dengan kata sandi Anda.
  • Pada CreateSQLEndpointTutorial-rg.
  • Di wilayah eastus .
az sql server create \
    --name <sql-server-name> \
    --resource-group CreateSQLEndpointTutorial-rg \
    --location eastus \
    --admin-user sqladmin \
    --admin-password <your-password>

Gunakan az sql db create untuk membuat database:

  • Bernama myDataBase.
  • Pada CreateSQLEndpointTutorial-rg.
  • Ganti <sql-server-name> dengan nama server unik Anda.
az sql db create \
    --resource-group CreateSQLEndpointTutorial-rg  \
    --server <sql-server-name> \
    --name myDataBase \
    --sample-name AdventureWorksLT

Buat titik akhir pribadi

Di bagian ini, Anda membuat titik akhir privat.

Gunakan az sql server list untuk menempatkan ID sumber daya server SQL ke dalam variabel shell.

Gunakan az network private-endpoint create untuk membuat titik akhir dan koneksi:

  • Bernama myPrivateEndpoint.
  • Dalam grup sumber daya CreateSQLEndpointTutorial-rg.
  • Di jaringan virtual myVNet.
  • Di subnet myBackendSubnet.
  • Koneksi bernama myConnection.
id=$(az sql server list \
    --resource-group CreateSQLEndpointTutorial-rg \
    --query '[].[id]' \
    --output tsv)

az network private-endpoint create \
    --name myPrivateEndpoint \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet --subnet myBackendSubnet \
    --private-connection-resource-id $id \
    --group-ids sqlServer \
    --connection-name myConnection  

Konfigurasi zona DNS pribadi

Di bagian ini, Anda akan membuat dan mengonfigurasi zona DNS privat menggunakan buat zona dns privat jaringan az.

Anda menggunakan az network private-dns link vnet create untuk membuat tautan jaringan virtual ke zona dns.

Anda membuat grup zona DNS dengan az network private-endpoint dns-zone-group create.

  • Zona bernama privatelink.database.windows.net
  • Di jaringan virtual myVNet.
  • Dalam grup sumber daya CreateSQLEndpointTutorial-rg.
  • Tautan DNS bernama myDNSLink.
  • Terkait dengan myPrivateEndpoint.
  • Grup zona bernama MyZoneGroup.
az network private-dns zone create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name "privatelink.database.windows.net"

az network private-dns link vnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --zone-name "privatelink.database.windows.net" \
    --name MyDNSLink \
    --virtual-network myVNet \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
   --resource-group CreateSQLEndpointTutorial-rg \
   --endpoint-name myPrivateEndpoint \
   --name MyZoneGroup \
   --private-dns-zone "privatelink.database.windows.net" \
   --zone-name sql

Menguji konektivitas ke titik akhir privat

Di bagian ini, Anda menggunakan mesin virtual yang Anda buat di langkah sebelumnya untuk terhubung ke server SQL melalui titik akhir privat.

  1. Masuk ke portal Azure.

  2. Pilih Grup Sumber Daya di panel navigasi sebelah kiri.

  3. Pilih CreateSQLEndpointTutorial-rg.

  4. Pilih myVM.

  5. Pada halaman ringkasan myVM, pilih Sambungkan lalu Bastion.

  6. Pilih tombol Gunakan Bastion berwarna biru.

  7. Masukkan nama pengguna dan kata sandi yang Anda masukkan selama pembuatan komputer virtual.

  8. Buka Windows PowerShell pada server setelah Anda tersambung.

  9. Masukkan nslookup <sqlserver-name>.database.windows.net. Ganti <sqlserver-name> dengan nama server SQL yang Anda buat di langkah sebelumnya. Anda menerima pesan yang mirip dengan apa yang ditampilkan di bawah ini:

    Server:  UnKnown
    Address:  172.63.129.16
    
    Non-authoritative answer:
    Name:    mysqlserver8675.privatelink.database.windows.net
    Address:  10.0.0.5
    Aliases:  mysqlserver8675.database.windows.net
    

    Alamat IP privat 10.0.0.5 ditampilkan untuk nama server SQL. Alamat ini berada di subjaringan jaringan maya yang Anda buat sebelumnya.

  10. Pasang SQL Server Management Studio di myVM.

  11. Buka SQL Server Management Studio.

  12. Di Sambungkan ke server, masukkan atau pilih informasi ini:

    Pengaturan Nilai
    Jenis server Pilih Mesin Database.
    Nama server Masukkan <sql-server-name>.database.windows.net
    Autentikasi Pilih Autentikasi SQL Server.
    Nama pengguna Masukkan nama pengguna yang Anda masukkan selama membuat server
    Kata Sandi Masukkan kata sandi yang Anda masukkan selama membuat server
    Ingat kata sandi Pilih Ya.
  13. Pilih Sambungkan.

  14. Telusuri database dari menu kiri.

  15. (Sebagai pilihan) Buat atau minta informasi dari mysqldatabase.

  16. Tutup koneksi bastion ke myVM.

Membersihkan sumber daya

Bila Anda sudah selesai menggunakan titik akhir privat, server SQL, dan komputer virtual, hapus grup sumber daya dan semua sumber daya yang dikandungnya:

az group delete \
    --name CreateSQLEndpointTutorial-rg

Langkah selanjutnya

Dalam tutorial ini, Anda telah membuat:

  • Membuat jaringan virtual dan host bastion.
  • Komputer virtual.
  • Server Azure SQL dengan titik akhir privat.

Anda menggunakan komputer virtual untuk menguji konektivitas dengan aman ke server SQL di seluruh titik akhir privat.

Sebagai langkah selanjutnya, tinjau aplikasi Web dengan konektivitas privat ke skenario arsitektur database Azure SQL, yang menghubungkan aplikasi web di luar jaringan virtual ke titik akhir privat database.