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"
Een cluster maken met een privékoppeling
Maak uw Azure Cosmos DB for PostgreSQL-cluster in Azure Portal.
Selecteer in de portal een resource maken in de linkerbovenhoek.
Selecteer Databases op de pagina Een resource maken en selecteer vervolgens Azure Cosmos DB.
Selecteer Maken op de pagina API-optie selecteren op de tegel PostgreSQL.
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.
Selecteer Volgende: Netwerken.
Selecteer Privétoegang op het tabblad Netwerken voor connectiviteitsmethode.
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
- Resourcegroep:
Selecteer OK.
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
- Meer informatie over privétoegang
- Meer informatie over privé-eindpunten
- Meer informatie over virtuele netwerken
- Meer informatie over privé-DNS-zones