Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
Gebruik Azure Cosmos DB voor NoSQL voor een gedistribueerde databaseoplossing die is ontworpen voor hoogwaardige schalen scenario's met een 99,999% service level agreement (SLA) voor beschikbaarheid, onmiddellijke autoschaalaanpassing en automatische failover over meerdere regio's.
Gebruik de functie Elastische clusters van Azure Database For PostgreSQL voor sharded PostgreSQL met behulp van de opensource Citus-extensie.
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 de Azure portal.
Selecteer in het portaal Een resource maken in de linkerbovenhoek.
Op de pagina Een resource maken, selecteer Databases, en selecteer daarna Azure Cosmos DB.
Selecteer Maken op de Selecteer API-optie pagina, op de PostgreSQL tegel.
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-sgniet 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.
Selecteer Volgende: Netwerken.
Selecteer Privétoegang op het tabblad Netwerken voor connectiviteitsmethode.
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
-
Resourcegroep:
Klik op OK.
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
- Meer informatie over privétoegang
- Meer informatie over privé-eindpunten
- Meer informatie over virtuele netwerken
- Meer informatie over privé-DNS-zones