Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB'de özel erişime sahip bir kümeye bağlanma

Önemli

PostgreSQL için Azure Cosmos DB artık yeni projeler için desteklenmemektedir. Bu hizmeti yeni projeler için kullanmayın. Bunun yerine, şu iki hizmetlerden birini kullanın:

Bu öğreticide bir sanal makine (VM) ve PostgreSQL için Azure Cosmos DB kümesi oluşturulur ve bunlar arasında özel erişim oluşturulur.

Önkoşullar

Sanal ağ oluşturma

İlk olarak, kümenizi ve VM'nizi barındıracak bir kaynak grubu ve sanal ağ ayarlayın.

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

Sanal makine oluşturun

Tanıtım için Debian Linux ve PostgreSQL istemcisini psql çalıştıran bir VM oluşturun.

# provision the VM

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 Debian11 \
	--admin-username azureuser \
	--generate-ssh-keys

# install psql database client

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"

Azure portalında PostgreSQL için Azure Cosmos DB kümenizi oluşturun.

  1. Portalda sol üst köşedeki Kaynak oluştur'u seçin.

  2. Kaynak oluştur sayfasında Veritabanları'nı ve ardından Azure Cosmos DB'yi seçin.

  3. API Seç seçeneği sayfasındaki PostgreSQL kutucuğunda Oluştur'u seçin.

  4. PostgreSQL için Azure Cosmos DB kümesi oluşturma sayfasında aşağıdaki bilgileri doldurun:

    • Kaynak grubu: Yeni'yi seçin ve link-demo girin.

    • Küme adı: link-demo-sg girin.

      Not

      Bir DNS girişi oluşturduğundan küme adı Azure genelinde genel olarak benzersiz olmalıdır. Kullanılamıyorsa link-demo-sg , başka bir ad girin ve aşağıdaki adımları uygun şekilde ayarlayın.

    • Konum: Doğu ABD'yi seçin.

    • Parola: Parolayı girin ve onaylayın.

  5. İleri: Ağ'ı seçin.

  6. sekmesinde, Bağlantı yöntemi için Özel erişim'i seçin.

  7. Özel uç nokta oluştur ekranında aşağıdaki değerleri girin veya seçin:

    • Kaynak grubu: link-demo
    • Konum:: (US) East US
    • Ad: link-demo-sg-c-pe1
    • Hedef alt kaynak: coordinator
    • Sanal ağ: link-demo-net
    • Alt ağ: link-demo-subnet
    • Özel DNS bölgesiyle tümleştirme: Evet
  8. Tamam'ı seçin.

  9. Özel uç noktayı oluşturduktan sonra Gözden geçir + oluştur'u ve ardından Oluştur'u seçerek kümenizi oluşturun.

Vm'den kümeye özel olarak erişme

Özel bağlantı, VM'nin kümeye bağlanmasına izin verir ve dış konakların bunu yapmasını engeller. Bu adımda, VM'nizdeki psql veritabanı istemcisinin kümenin koordinatör düğümüyle iletişim kurabildiğini denetlersiniz.

PG_URI='host=c-link-demo-sg.12345678901234.postgres.cosmos.azure.com port=5432 dbname=citus user=citus password={your_password} sslmode=require'

# Attempt to connect to cluster with psql in the VM

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

Not

Bağlantı dizesinde `{your_password}` yerine küme parolanızı veya Microsoft Entra ID belirtecinizi kullanın. Daha fazla bilgi için bkz . kimlik doğrulama seçenekleri.

Çıkışta Citus için bir sürüm numarası görmeniz gerekir. Bunu yaparsanız psql komutu yürütebildi ve özel bağlantı çalıştı.

Kaynakları temizleme

Vm ile küme arasında özel bağlantı oluşturmayı gördünüz. Artık kaynakları kaldırabilirsiniz.

Kaynak grubunu sildiğinizde, içindeki kaynakların devre dışı bırakılacağını aklınızdan çıkarmayın.

az group delete --resource-group link-demo

# press y to confirm

Sonraki adımlar