Delen via


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

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

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 Azure Portal.

  1. Selecteer in de portal een resource maken in de linkerbovenhoek.

  2. Selecteer Databases op de pagina Een resource maken en selecteer vervolgens Azure Cosmos DB.

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

  4. Vul op de pagina Een Azure Cosmos DB for PostgreSQL-cluster maken de volgende informatie in:

    • Resourcegroep: Selecteer Nieuw en voer vervolgens koppelingsdemo 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 dit niet beschikbaar is, voert u een andere naam in en past u de volgende stappen dienovereenkomstig aan.

    • Locatie: Selecteer VS - oost.

    • Wachtwoord: voer een wachtwoord in en bevestig het.

  5. Selecteer Volgende: Netwerken.

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

  7. Voer in het scherm Privé-eindpunt maken de volgende waarden in of selecteer deze:

    • 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. Selecteer OK.

  9. Nadat u het privé-eindpunt hebt gemaakt, selecteert u Beoordelen en maken en selecteert u 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 het verbindingsreeks door {your_password} 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.

Resources opschonen

U hebt gezien hoe u een privékoppeling maakt tussen een virtuele machine en een cluster. U kunt de inrichting van de resources nu ongedaan maken.

Verwijder de resourcegroep en de resources in de resourcegroep worden ongedaan gemaakt:

az group delete --resource-group link-demo

# press y to confirm

Volgende stappen