Membuat grup server dengan akses privat di Azure Database for PostgreSQL - Hyperscale (Citus)

BERLAKU UNTUK: Azure Database for PostgreSQL - Hyperscale (Citus)

Tutorial ini membuat VM dan grup server Hyperscale (Citus), dan membuat akses privat di antara keduanya.

Membuat jaringan virtual

Pertama, kita akan menyiapkan grup sumber daya dan jaringan virtual. Tindakan ini akan berisi grup server dan mesin virtual kita.

az group create \
	--name link-demo \
	--location eastus

az network vnet create \
	--resource-group link-demo \
	--name link-demo-net \
	--address-prefix 10.0.0.0/16

az network nsg create \
	--resource-group link-demo \
	--name link-demo-nsg

az network vnet subnet create \
	--resource-group link-demo \
	--vnet-name link-demo-net \
	--name link-demo-subnet \
	--address-prefixes 10.0.1.0/24 \
	--network-security-group link-demo-nsg

Membuat komputer virtual

Untuk demonstrasi, kita akan menggunakan mesin virtual yang menjalankan Debian Linux, dan klien PostgreSQL psql.

# provision the VM

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]
az vm create \
	--resource-group link-demo \
	--name link-demo-vm \
	--vnet-name link-demo-net \
	--subnet link-demo-subnet \
	--nsg link-demo-nsg \
	--public-ip-address link-demo-net-ip \
	--image debian \
	--admin-username azureuser \
	--generate-ssh-keys

# install psql database client

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]
az vm run-command invoke \
	--resource-group link-demo \
	--name link-demo-vm \
	--command-id RunShellScript \
	--scripts \
		"sudo touch /home/azureuser/.hushlogin" \
		"sudo DEBIAN_FRONTEND=noninteractive apt-get update" \
		"sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y postgresql-client"
  1. Pilih Buat sumber daya yang bisa ditemukan di sudut kiri atas portal Microsoft Azure.

  2. Pilih Database dari halaman Baru, dan pilih Azure Database for PostgreSQL dari halaman Database.

  3. Untuk opsi penyebaran, klik tombol Buat di Grup server Hyperscale (Citus) .

  4. Isi formulir detail server baru dengan informasi berikut:

    • Grup sumber daya: link-demo
    • Nama grup server: link-demo-sg
    • Lokasi: East US
    • Kata sandi: (pilihan Anda)

    Catatan

    Nama grup server harus unik secara global di seluruh Azure karena akan menentukan entri DNS. Jika link-demo-sg tidak tersedia, silakan pilih nama lain dan sesuaikan langkah-langkah di bawah ini.

  5. Pilih Konfigurasikan grup server, pilih paket Dasar, lalu pilih Simpan.

  6. Pilih Berikutnya: Jaringan di bagian bawah halaman.

  7. Pilih Akses privat.

  8. Layar yang disebut Buat titik akhir privat muncul. Masukkan nilai-nilai ini dan pilih OK:

    • Grup sumber daya: link-demo
    • Lokasi: (US) East US
    • Nama: link-demo-sg-c-pe1
    • Sub-sumber daya target: coordinator
    • Jaringan virtual: link-demo-net
    • Subnet: link-demo-subnet
    • Integrate with private DNS zone: Yes
  9. Setelah membuat titik akhir privat, pilih Tinjau + buat untuk membuat grup server Hyperscale (Citus) Anda.

Mengakses grup server secara privat dari mesin virtual

Tautan privat memungkinkan mesin virtual kami terhubung ke grup server kami, dan mencegah host eksternal melakukannya. Pada langkah ini, kita akan memeriksa bahwa klien database psql pada mesin virtual dapat berkomunikasi dengan simpul koordinator grup server.

# save db URI

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]
#
# obtained from Settings -> Connection Strings in the Azure portal

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]
#
# replace {your_password} in the string with your actual password

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]
PG_URI='host=c.link-demo-sg.postgres.database.azure.com port=5432 dbname=citus user=citus password={your_password} sslmode=require'

# attempt to connect to server group with psql in the virtual machine

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]
az vm run-command invoke \
	--resource-group link-demo \
	--name link-demo-vm \
	--command-id RunShellScript \
	--scripts "psql '$PG_URI' -c 'SHOW citus.version;'" \
	--query 'value[0].message' \
	| xargs printf

Anda akan melihat nomor versi untuk Citus dalam output. Jika Anda melihatnya, maka psql akan mampu mengeksekusi perintah, dan tautan privat berfungsi.

Membersihkan sumber daya

Kita telah melihat cara membuat tautan privat antara mesin virtual dan grup server Hyperscale (Citus). Sekarang kita bisa melakukan deprovisi sumber daya.

Hapus grup sumber daya, dan sumber daya di dalamnya akan dideprovisi:

az group delete --resource-group link-demo

# press y to confirm

[!INCLUDE[applies-to-postgresql-hyperscale](../includes/applies-to-postgresql-hyperscale.md)]

Langkah berikutnya