Ansluta till ett kluster med privat åtkomst i Azure Cosmos DB for PostgreSQL
GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)
Den här självstudien skapar en virtuell dator (VM) och ett Azure Cosmos DB for PostgreSQL-kluster och upprättar privat åtkomst mellan dem.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Om du inte har något skapar du ett konto kostnadsfritt.
- Om du vill köra koden lokalt installeras Azure CLI . Du kan också köra koden i Azure Cloud Shell.
Skapa ett virtuellt nätverk
Konfigurera först en resursgrupp och ett virtuellt nätverk för att lagra klustret och den virtuella datorn.
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
Skapa en virtuell dator
För demonstration skapar du en virtuell dator som kör Debian Linux och psql
PostgreSQL-klienten.
# 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"
Skapa ett kluster med en privat länk
Skapa ditt Azure Cosmos DB for PostgreSQL-kluster i Azure Portal.
I portalen väljer du Skapa en resurs i det övre vänstra hörnet.
På sidan Skapa en resurs väljer du Databaser och sedan Azure Cosmos DB.
På alternativsidan Välj API går du till panelen PostgreSQL och väljer Skapa.
På sidan Skapa en Azure Cosmos DB för PostgreSQL-kluster fyller du i följande information:
Resursgrupp: Välj Ny och ange sedan link-demo.
Klusternamn: Ange link-demo-sg.
Kommentar
Klusternamnet måste vara globalt unikt i Azure eftersom det skapar en DNS-post. Om
link-demo-sg
inte är tillgängligt anger du ett annat namn och justerar följande steg i enlighet med detta.Plats: Välj USA, östra.
Lösenord: Ange och bekräfta sedan ett lösenord.
Välj Nästa: Nätverk.
På fliken Nätverk går du till Anslutningsmetod och väljer Privat åtkomst.
På skärmen Skapa privat slutpunkt anger eller väljer du följande värden:
- Resursgrupp:
link-demo
- Plats:
(US) East US
- Namn:
link-demo-sg-c-pe1
- Underresurs för mål:
coordinator
- Virtuellt nätverk:
link-demo-net
- Undernät:
link-demo-subnet
- Integrera med privat DNS-zon: Ja
- Resursgrupp:
Välj OK.
När du har skapat den privata slutpunkten väljer du Granska + skapa och väljer sedan Skapa för att skapa klustret.
Få åtkomst till klustret privat från den virtuella datorn
Den privata länken gör att den virtuella datorn kan ansluta till klustret och förhindrar att externa värdar gör det. I det här steget kontrollerar du att psql-databasklienten på den virtuella datorn kan kommunicera med koordinatornoden i klustret.
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
Kommentar
I anslutningssträng ersätter du {your_password}
med ditt klusterlösenord eller Microsoft Entra-ID-token. Mer information finns i autentiseringsalternativ.
Du bör se ett versionsnummer för Citus i utdata. Om du gör det kunde psql köra kommandot och den privata länken fungerade.
Rensa resurser
Du har sett hur du skapar en privat länk mellan en virtuell dator och ett kluster. Nu kan du avetablera resurserna.
Ta bort resursgruppen så avetableras resurserna inuti:
az group delete --resource-group link-demo
# press y to confirm
Nästa steg
- Läs mer om privat åtkomst
- Läs mer om privata slutpunkter
- Lär dig mer om virtuella nätverk
- Läs mer om privata DNS-zoner