Teilen über


Herstellen einer Verbindung mit einem Cluster mit privatem Zugriff in Azure Cosmos DB for PostgreSQL

GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)

In diesem Tutorial werden ein virtueller Computer (VM) und ein Azure Cosmos DB for PostgreSQL-Cluster erstellt. Außerdem wird der private Zugriff zwischen ihnen eingerichtet.

Voraussetzungen

Erstellen eines virtuellen Netzwerks

Richten Sie zunächst eine Ressourcengruppe und ein virtuelles Netzwerk ein, in der bzw. dem sich Ihr Cluster und Ihr virtueller Computer befinden sollen.

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

Erstellen eines virtuellen Computers

Erstellen Sie zu Demonstrationszwecken eine VM, auf der Debian Linux ausgeführt wird, und den PostgreSQL-Client psql.

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

Erstellen Sie Ihren Azure Cosmos DB for PostgreSQL-Cluster im Azure-Portal.

  1. Wählen Sie im Portal oben links die Option Ressource erstellen aus.

  2. Wählen Sie auf der Seite Ressource erstellen die Option Datenbanken und dann Azure Cosmos DB aus.

  3. Wählen Sie auf der Seite API-Option auswählen auf der Kachel PostgreSQL die Option Erstellen aus.

  4. Füllen Sie auf der Seite Azure Cosmos DB for PostgreSQL-Cluster erstellen die folgenden Informationen aus:

    • Ressourcengruppe: Wählen Sie Neu aus, und geben Sie dann link-demo ein.

    • Clustername: Geben Sie link-demo-sg ein.

      Hinweis

      Der Clustername muss in Azure global eindeutig sein, da damit ein DNS-Eintrag erstellt wird. Wenn link-demo-sg nicht verfügbar ist, müssen Sie einen anderen Namen auswählen. Passen Sie die unten angegebenen Schritte dann entsprechend an.

    • Standort: Wählen Sie USA, Osten aus.

    • Kennwort: Geben Sie ein Kennwort ein, und bestätigen Sie es anschließend.

  5. Klicken Sie auf Weiter: Netzwerk.

  6. Wählen Sie auf der Registerkarte Netzwerk als Konnektivitätsmethode die Option Privater Zugriff aus.

  7. Geben Sie auf dem Bildschirm Privaten Endpunkt erstellen die folgenden Werte ein, oder wählen Sie sie aus:

    • Ressourcengruppe: link-demo
    • Standort: (US) East US
    • Name: link-demo-sg-c-pe1
    • Untergeordnete Zielressource: coordinator
    • Virtuelles Netzwerk: link-demo-net
    • Subnetz: link-demo-subnet
    • Integration mit einer private DNS-Zone: Ja
  8. Klicken Sie auf OK.

  9. Nachdem Sie den privaten Endpunkt erstellt haben, wählen Sie Überprüfen und erstellen und dann Erstellen aus, um Ihren Cluster zu erstellen.

Privates Zugreifen auf das Cluster über den virtuellen Computer

Die private Verbindung sorgt dafür, dass der virtuelle Computer eine Verbindung mit dem Cluster herstellen kann, externe Hosts dagegen nicht. In diesem Schritt überprüfen Sie, ob der Datenbankclient psql auf dem virtuellen Computer mit dem Koordinatorknoten des Clusters kommunizieren kann. Ersetzen Sie {your_password} im Code durch das Clusterkennwort.

# replace {your_password} in the string with your actual password

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

In der Ausgabe sollte eine Versionsnummer für Citus angezeigt werden. In diesem Fall konnte psql den Befehl ausführen, und die private Verbindung hat funktioniert.

Bereinigen von Ressourcen

Sie haben erfahren, wie Sie eine private Verbindung zwischen einem virtuellen Computer und einem Cluster erstellen. Nun können Sie die Bereitstellung der Ressourcen aufheben.

Löschen Sie die Ressourcengruppe, und die Bereitstellung der darin enthaltenen Ressourcen wird aufgehoben:

az group delete --resource-group link-demo

# press y to confirm

Nächste Schritte