Delen via


Verbinding maken met een cluster met privétoegang in Azure Cosmos DB for PostgreSQL

Belangrijk

Azure Cosmos DB for PostgreSQL wordt niet meer ondersteund voor nieuwe projecten. Gebruik deze service niet voor nieuwe projecten. Gebruik in plaats daarvan een van deze twee services:

In deze zelfstudie maakt u een virtuele machine (VM) en een Azure Cosmos DB for PostgreSQL-cluster en brengt u er privétoegang tussen.

Vereisten

  • Een Azure-account met een actief abonnement. Als u nog geen account hebt, maakt u gratis een account.
  • Als u de code lokaal wilt uitvoeren, is Azure CLI geïnstalleerd. U kunt de code ook uitvoeren in Azure Cloud Shell.

Een virtueel netwerk maken

Stel eerst een resourcegroep en een virtueel netwerk in om uw cluster en VM te bewaren.

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

Maak een virtuele machine

Maak voor demonstratie een VIRTUELE machine met Debian Linux en de psql PostgreSQL-client.

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

Maak uw Azure Cosmos DB for PostgreSQL-cluster in de Azure portal.

  1. Selecteer in het portaal Een resource maken in de linkerbovenhoek.

  2. Op de pagina Een resource maken, selecteer Databases, en selecteer daarna Azure Cosmos DB.

  3. Selecteer Maken op de Selecteer API-optie pagina, op de PostgreSQL tegel.

  4. Vul op de Azure Cosmos DB voor PostgreSQL-cluster aanmaken pagina de volgende informatie in:

    • Resourcegroep: Selecteer Nieuw en voer vervolgens link-demo in.

    • Clusternaam: Voer link-demo-sg in.

      Notitie

      De clusternaam moet globaal uniek zijn in Azure omdat er een DNS-vermelding wordt gemaakt. Als link-demo-sg niet beschikbaar is, voert u een andere naam in en past u de volgende stappen dienovereenkomstig aan.

    • Locatie: Selecteer Oostelijke VS.

    • Wachtwoord: voer een wachtwoord in en bevestig het.

  5. Selecteer Volgende: Netwerken.

  6. Selecteer Privétoegang op het tabblad Netwerken voor connectiviteitsmethode.

  7. Op het Privé-eindpunt maken scherm, voer de volgende waarden in of selecteer ze:

    • Resourcegroep: link-demo
    • Locatie: (US) East US
    • Naam: link-demo-sg-c-pe1
    • Doelsubresource: coordinator
    • Virtueel netwerk: link-demo-net
    • Subnet: link-demo-subnet
    • Integreren met privé-DNS-zone: Ja
  8. Klik op OK.

  9. Nadat u het privé-eindpunt hebt gemaakt, selecteert u Beoordelen en maken en vervolgens Maken om uw cluster te maken.

Toegang tot het cluster privé vanaf de VIRTUELE machine

Met de privékoppeling kan de virtuele machine verbinding maken met het cluster en voorkomt u dat externe hosts dit doen. In deze stap controleert u of de psql-databaseclient op uw VM kan communiceren met het coördinatorknooppunt van het cluster.

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

Notitie

Vervang in de verbindingsreeks {your_password} met uw clusterwachtwoord of Microsoft Entra ID-token. Zie verificatieopties voor meer informatie.

In de uitvoer ziet u een versienummer voor Citus. Als u dit wel doet, kon psql de opdracht uitvoeren en werkte de privékoppeling.

De resources opschonen

U hebt gezien hoe u een privékoppeling maakt tussen een virtuele machine en een cluster. Nu kunt u de resources deprovisioneren.

Verwijder de resourcegroep, en de resources binnenin zullen worden ontmanteld.

az group delete --resource-group link-demo

# press y to confirm

Volgende stappen