Sdílet prostřednictvím


Připojení ke clusteru s privátním přístupem ve službě Azure Cosmos DB for PostgreSQL

Důležité

Azure Cosmos DB for PostgreSQL se už pro nové projekty nepodporuje. Tuto službu nepoužívejte pro nové projekty. Místo toho použijte jednu z těchto dvou služeb:

  • Azure Cosmos DB for NoSQL můžete použít pro distribuované databázové řešení navržené pro vysoce škálovatelné scénáře s 99,999% smlouvou o úrovni služeb (SLA), okamžitým automatickým škálováním a automatickým převzetím služeb při selhání napříč několika oblastmi.

  • Použijte funkci Elastic Clusters služby Azure Database for PostgreSQL pro horizontálně dělené PostgreSQL pomocí opensourcového rozšíření Citus.

Tento kurz vytvoří virtuální počítač (VM) a Azure Cosmos DB cluster pro PostgreSQL a zajistí mezi nimi soukromý přístup.

Požadavky

Vytvoření virtuální sítě

Nejprve nastavte skupinu prostředků a virtuální síť pro uložení clusteru a virtuálního počítače.

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

Vytvoření virtuálního počítače

Pro ukázku vytvořte virtuální počítač se systémem Debian Linux a klientem psql PostgreSQL.

# 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"

Vytvořte cluster Azure Cosmos DB for PostgreSQL na webu Azure Portal.

  1. Na portálu vyberte Vytvořit prostředek v levém horním rohu.

  2. Na stránce Vytvořit prostředek vyberte Databáze a pak vyberte Azure Cosmos DB.

  3. Na stránce s možností Vybrat rozhraní API na dlaždici PostgreSQL vyberte Vytvořit.

  4. Na stránce Vytvoření clusteru Azure Cosmos DB pro PostgreSQL vyplňte následující informace:

    • Skupina prostředků: Vyberte Nový a poté zadejte link-demo.

    • Název clusteru: Zadejte link-demo-sg.

      Poznámka:

      Název clusteru musí být globálně jedinečný v rámci Azure, protože vytvoří položku DNS. Pokud link-demo-sg není k dispozici, zadejte jiný název a odpovídajícím způsobem upravte následující kroky.

    • Umístění: Vyberte USA – východ.

    • Heslo: Zadejte a potvrďte heslo.

  5. Vyberte Další: Sítě.

  6. Na kartě Sítě vyberte pro metodu připojení privátní přístup.

  7. Na obrazovce Vytvořit privátní koncový bod zadejte nebo vyberte následující hodnoty:

    • Skupina prostředků: link-demo
    • Umístění:(US) East US
    • Název: link-demo-sg-c-pe1
    • Cílový dílčí prostředek: coordinator
    • Virtuální síť: link-demo-net
    • Podsíť: link-demo-subnet
    • Integrace s privátní zónou DNS: Ano
  8. Vyberte OK.

  9. Po vytvoření privátního koncového bodu vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit a vytvořte cluster.

Privátní přístup ke clusteru z virtuálního počítače

Privátní propojení umožňuje virtuálnímu počítači připojit se ke clusteru a zabránit externím hostitelům. V tomto kroku zkontrolujete, že klient databáze psql na vašem virtuálním počítači může komunikovat s koordinačním uzlem clusteru.

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

Poznámka:

V připojovacím řetězci zaměňte {your_password} za heslo clusteru nebo token Microsoft Entra ID. Další informace najdete v tématu Možnosti ověřování.

Ve výstupu by se mělo zobrazit číslo verze Citus. Pokud ano, psql mohl příkaz spustit a privátní propojení fungovalo.

Vyčištění zdrojů

Viděli jste, jak vytvořit privátní propojení mezi virtuálním počítačem a clusterem. Teď můžete zrušit přiřazení prostředků.

Odstraňte skupinu prostředků a prostředky uvnitř se zruší:

az group delete --resource-group link-demo

# press y to confirm

Další kroky