Dela via


Ansluta till ett kluster med privat åtkomst i Azure Cosmos DB for PostgreSQL

GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)

Den här självstudien skapar en virtuell dator (VM) och ett Azure Cosmos DB for PostgreSQL-kluster och upprättar privat åtkomst mellan dem.

Förutsättningar

Skapa ett virtuellt nätverk

Konfigurera först en resursgrupp och ett virtuellt nätverk för att lagra klustret och den virtuella datorn.

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

Skapa en virtuell dator

För demonstration skapar du en virtuell dator som kör Debian Linux och psql PostgreSQL-klienten.

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

Skapa ditt Azure Cosmos DB for PostgreSQL-kluster i Azure Portal.

  1. I portalen väljer du Skapa en resurs i det övre vänstra hörnet.

  2. På sidan Skapa en resurs väljer du Databaser och sedan Azure Cosmos DB.

  3. På alternativsidan Välj API går du till panelen PostgreSQL och väljer Skapa.

  4. På sidan Skapa en Azure Cosmos DB för PostgreSQL-kluster fyller du i följande information:

    • Resursgrupp: Välj Ny och ange sedan link-demo.

    • Klusternamn: Ange link-demo-sg.

      Kommentar

      Klusternamnet måste vara globalt unikt i Azure eftersom det skapar en DNS-post. Om link-demo-sg inte är tillgängligt anger du ett annat namn och justerar följande steg i enlighet med detta.

    • Plats: Välj USA, östra.

    • Lösenord: Ange och bekräfta sedan ett lösenord.

  5. Välj Nästa: Nätverk.

  6. På fliken Nätverk går du till Anslutningsmetod och väljer Privat åtkomst.

  7. På skärmen Skapa privat slutpunkt anger eller väljer du följande värden:

    • Resursgrupp: link-demo
    • Plats: (US) East US
    • Namn: link-demo-sg-c-pe1
    • Underresurs för mål: coordinator
    • Virtuellt nätverk: link-demo-net
    • Undernät: link-demo-subnet
    • Integrera med privat DNS-zon: Ja
  8. Välj OK.

  9. När du har skapat den privata slutpunkten väljer du Granska + skapa och väljer sedan Skapa för att skapa klustret.

Få åtkomst till klustret privat från den virtuella datorn

Den privata länken gör att den virtuella datorn kan ansluta till klustret och förhindrar att externa värdar gör det. I det här steget kontrollerar du att psql-databasklienten på den virtuella datorn kan kommunicera med koordinatornoden i klustret.

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

Kommentar

I anslutningssträng ersätter du {your_password} med ditt klusterlösenord eller Microsoft Entra-ID-token. Mer information finns i autentiseringsalternativ.

Du bör se ett versionsnummer för Citus i utdata. Om du gör det kunde psql köra kommandot och den privata länken fungerade.

Rensa resurser

Du har sett hur du skapar en privat länk mellan en virtuell dator och ett kluster. Nu kan du avetablera resurserna.

Ta bort resursgruppen så avetableras resurserna inuti:

az group delete --resource-group link-demo

# press y to confirm

Nästa steg