Bagikan melalui


Membuat dan mengelola titik akhir layanan VNet untuk Azure Database for PostgreSQL - Server Tunggal menggunakan Azure CLI

BERLAKU UNTUK: Azure Database for PostgreSQL - Server Tunggal

Penting

Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke Azure Database for PostgreSQL - Server Fleksibel. Untuk informasi selengkapnya tentang migrasi ke Azure Database for PostgreSQL - Server Fleksibel, lihat Apa yang terjadi pada Server Tunggal Azure Database for PostgreSQL?.

Titik akhir dan aturan layanan Virtual Network (VNet) memperluas ruang alamat privat Virtual Network ke server Azure Database for PostgreSQL. Menggunakan perintah Azure CLI yang nyaman, Anda dapat membuat, memperbarui, menghapus, membuat daftar, dan menunjukkan titik akhir dan aturan layanan VNet untuk mengelola server Anda. Untuk ringkasan titik akhir layanan VNet Azure Database for PostgreSQL, termasuk batasan, lihat Titik akhir layanan VNet Server Azure Database for PostgreSQL. Titik akhir layanan VNet tersedia di semua wilayah yang didukung untuk Azure Database for PostgreSQL.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Catatan

Dukungan untuk titik akhir layanan VNet hanya untuk server Tujuan Umum dan Memori yang Dioptimalkan. Dalam kasus peering VNet, jika lalu lintas mengalir melalui VNet Gateway umum dengan titik akhir layanan dan seharusnya mengalir ke peer, silakan buat aturan ACL/VNet untuk memungkinkan Microsoft Azure Virtual Machines di Gateway VNet untuk mengakses server Azure Database for PostgreSQL.

Mengonfigurasi titik akhir layanan Vnet

Perintah az network vnet digunakan untuk mengonfigurasi jaringan virtual. Titik akhir layanan dapat dikonfigurasi pada jaringan virtual secara independen, oleh pengguna dengan akses tulis ke jaringan virtual.

Untuk mengamankan sumber daya layanan Azure ke VNet, pengguna harus memiliki izin ke "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/" atas subnet yang ditambahkan. Izin ini disertakan dalam peran administrator layanan bawaan, secara default dan dapat diubah dengan membuat peran kustom.

Pelajari selengkapnya tentang peran bawaan dan menetapkan izin tertentu untuk peran kustom.

Sumber daya layanan VNet dan Azure dapat berada di langganan yang sama atau berbeda. Jika sumber daya layanan VNet dan Azure berada dalam langganan yang berbeda, sumber daya harus berada pada penyewa Direktori Aktif (AD) yang sama. Pastikan kedua langganan memiliki penyedia sumber daya Microsoft.Sql yang terdaftar. Untuk informasi selengkapnya, lihat resource-manager-registration.

Penting

Sangat disarankan untuk membaca artikel ini tentang konfigurasi dan pertimbangan titik akhir layanan sebelum menjalankan skrip sampel di bawah ini, atau mengonfigurasi titik akhir layanan. Titik akhir layanan Virtual Network:Titik akhir layanan Microsoft Azure Virtual Network adalah subnet yang nilai propertinya menyertakan satu atau beberapa nama jenis layanan Azure formal. Titik akhir layanan VNet menggunakan nama jenis layanan Microsoft.Sql, yang mengacu pada layanan Azure bernama SQL Database. Tag layanan ini juga berlaku untuk layanan Azure SQL Database, Azure Database for PostgreSQL dan MySQL. Hal ini penting untuk diketahui bahwa ketika menerapkan tag layanan Microsoft.Sql ke titik akhir layanan VNet, ini mengonfigurasi lalu lintas titik akhir layanan untuk semua layanan Azure Database, termasuk Azure SQL Database, Azure Database for PostgreSQL, dan server Azure Database for MySQL pada subnet.

Sampel skrip

Meluncurkan Azure Cloud Shell

Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.

Untuk membuka Cloud Shell, cukup pilih Cobalah dari sudut kanan atas blok kode. Anda juga dapat meluncurkan Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com.

Saat Cloud Shell terbuka, verifikasi bahwa Bash dipilih untuk lingkungan Anda. Sesi berikutnya akan menggunakan Azure CLI dalam lingkungan Bash, Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, lalu tekan Enter untuk menjalankannya.

Masuk ke Azure

Cloud Shell diautentikasi secara otomatis dengan akun awal yang digunakan untuk masuk. Gunakan skrip berikut untuk masuk menggunakan langganan yang berbeda, menggantikan <Subscription ID> dengan ID Langganan Azure Anda. Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif

Jalankan skrip

# Create a PostgreSQL server and configure a vNet rule

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
vNet="vNet-$randomIdentifier"
vNetAddressPrefix="10.0.0.0/16"
subnet="subnet-$randomIdentifier"
subnetAddressPrefix="10.0.1.0/24"
rule="rule-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

# Get available service endpoints for Azure region output is JSON
echo "List of available service endpoints for $location"
az network vnet list-endpoint-services --location "$location"

# Add Azure SQL service endpoint to a subnet while creating the virtual network
echo "Adding service endpoint to $subnet in $vNet"
az network vnet create --resource-group $resourceGroup --name $vNet --address-prefixes $vNetAddressPrefix --location "$location"

# Creates the service endpoint
echo "Creating a service endpoint to $subnet in $vNet"
az network vnet subnet create --resource-group $resourceGroup --name $subnet --vnet-name $vNet --address-prefix $subnetAddressPrefix --service-endpoints Microsoft.SQL

# View service endpoints configured on a subnet
echo "Viewing the service endpoint to $subnet in $vNet"
az network vnet subnet show --resource-group $resourceGroup --name $subnet --vnet-name $vNet

# Create a VNet rule on the server to secure it to the subnet
# Note: resource group (-g) parameter is where the database exists.
# VNet resource group if different should be specified using subnet id (URI) instead of subnet, VNet pair.
echo "Creating a VNet rule on $server to secure it to $subnet in $vNet"
az postgres server vnet-rule create --name $rule --resource-group $resourceGroup --server $server --vnet-name $vNet --subnet $subnet

Bersihkan penyebaran

Gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkait dengannya menggunakan perintah az group delete - kecuali Anda masih memiliki kebutuhan untuk sumber daya ini. Beberapa sumber daya ini mungkin membutuhkan beberapa waktu untuk dibuat dan dihapus.

echo "Cleaning up resources by removing the resource group..."
az group delete --name $resourceGroup -y