Skapa och hantera Private Link för Azure Database for PostgreSQL – enskild server med CLI

GÄLLER FÖR: Azure Database for PostgreSQL – enskild server

Viktigt!

Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.

En privat slutpunkt är den grundläggande byggstenen för privat länk i Azure. Det gör det möjligt för Azure-resurser, till exempel virtuella datorer, att kommunicera privat med privata länkresurser. I den här artikeln får du lära dig hur du använder Azure CLI för att skapa en virtuell dator i ett virtuellt Azure-nätverk och en Azure Database for PostgreSQL – enskild server med en privat Azure-slutpunkt.

Kommentar

Funktionen privat länk är endast tillgänglig för Azure Database for PostgreSQL-servrar på prisnivåerna Generell användning eller Minnesoptimerad. Kontrollera att databasservern finns på någon av dessa prisnivåer.

Förutsättningar

Om du vill gå igenom den här instruktionsguiden behöver du:

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Skärmbild som visar ett exempel på Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Knapp för att starta Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Skärmbild som visar Cloud Shell-knappen i Azure-portalen

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Om du väljer att installera och använda CLI lokalt i stället, måste du köra Azure CLI version 2.0.28 eller senare i den här snabbstarten. Kör az --version för att hitta den installerade versionen. Se Installera Azure CLI för installations- eller uppgraderingsinformation.

Skapa en resursgrupp

Innan du kan skapa en resurs måste du skapa en resursgrupp som värd för det virtuella nätverket. Skapa en resursgrupp med az group create. I det här exemplet skapas en resursgrupp med namnet myResourceGroup på platsen westeurope:

az group create --name myResourceGroup --location westeurope

Skapa ett virtuellt nätverk

Skapa ett virtuellt nätverk med az network vnet create. Det här exemplet skapar ett virtuellt standardnätverk med namnet myVirtualNetwork med ett undernät med namnet mySubnet:

az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet

Inaktivera principer för privata undernätsslutpunkter

Azure distribuerar resurser till ett undernät i ett virtuellt nätverk, så du måste skapa eller uppdatera undernätet för att inaktivera nätverksprinciper för privata slutpunkter. Uppdatera en undernätskonfiguration med namnet mySubnet med az network vnet subnet update:

az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true

Skapa den virtuella datorn

Skapa en virtuell dator med az vm create. När du uppmanas till det anger du ett lösenord som ska användas som inloggningsuppgifter för den virtuella datorn. I det här exemplet skapas en virtuell dator med namnet myVm:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

Observera den virtuella datorns offentliga IP-adress. Du kommer att använda den här adressen när du ansluter till den virtuella datorn från Internet i nästa steg.

Skapa en Azure Database for PostgreSQL – enskild server

Skapa en Azure Database for PostgreSQL med kommandot az postgres server create. Kom ihåg att namnet på postgreSQL-servern måste vara unikt i Hela Azure, så ersätt platshållarvärdet med dina egna unika värden som du använde ovan:

# Create a server in the resource group

[!INCLUDE [applies-to-postgresql-single-server](../includes/applies-to-postgresql-single-server.md)]

[!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]


az postgres server create \
--name mydemoserver \
--resource-group myresourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

Skapa den privata slutpunkten

Skapa en privat slutpunkt för PostgreSQL-servern i ditt virtuella nätverk:

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforPostgreSQL/servers" --query "id" -o tsv) \    
    --group-id postgresqlServer \  
    --connection-name myConnection  

Konfigurera Privat DNS-zonen

Skapa en Privat DNS zon för PostgreSQL-serverdomänen och skapa en kopplingslänk till det virtuella nätverket.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.postgres.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.postgres.database.azure.com"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false

#Query for the network interface ID  

networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)


az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for PostgreSQL name

[!INCLUDE [applies-to-postgresql-single-server](../includes/applies-to-postgresql-single-server.md)]

[!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]


#Create DNS records 

az network private-dns record-set a create --name myserver --zone-name privatelink.postgres.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.postgres.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

Kommentar

Det fullständiga domännamnet i DNS-inställningen för kunden matchar inte den privata IP-adressen som har konfigurerats. Du måste konfigurera en DNS-zon för det konfigurerade FQDN som visas här.

Kommentar

I vissa fall finns Azure Database for PostgreSQL och VNet-undernätet i olika prenumerationer. I dessa fall måste du se till att följande konfigurationer:

  • Kontrollera att både prenumerationen har Microsoft.DBforPostgreSQL-resursprovidern registrerad. Mer information finns i resursprovidrar.

Ansluta till en virtuell dator från Internet

Anslut till den virtuella datorn myVm från Internet enligt följande:

  1. I portalens sökfält anger du myVm.

  2. Välj knappen Anslut. När du har valt knappen Anslut öppnas Anslut till den virtuella datorn.

  3. Välj Hämta RDP-fil. Azure skapar en .rdp-fil (Remote Desktop Protocol) och laddar ned den till datorn.

  4. Öppna filen downloaded.rdp .

    1. Välj Anslut om du uppmanas att göra det.

    2. Ange det användarnamn och lösenord som du angav när du skapade den virtuella datorn.

      Kommentar

      Du kan behöva välja Fler alternativ>Använd ett annat konto för att ange autentiseringsuppgifterna du angav när du skapade den virtuella datorn.

  5. Välj OK.

  6. Du kan få en certifikatvarning under inloggningen. Välj Ja eller Fortsätt om du får en certifikatvarning.

  7. När virtuella datorns skrivbord visas kan du minimera det att gå tillbaka till din lokala dator.

Få åtkomst till PostgreSQL-servern privat från den virtuella datorn

  1. Öppna PowerShell på fjärrskrivbordet i myVM.

  2. Ange nslookup mydemopostgresserver.privatelink.postgres.database.azure.com.

    Du får ett meddelande som liknar detta:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemopostgresserver.privatelink.postgres.database.azure.com
    Address:  10.1.3.4
    
  3. Testa den privata länkanslutningen för PostgreSQL-servern med valfri tillgänglig klient. I följande exempel används Azure Data Studio för att utföra åtgärden.

  4. I Ny anslutning anger eller väljer du den här informationen:

    Inställning Värde
    Servertyp Välj PostgreSQL.
    Servernamn Välj mydemopostgresserver.privatelink.postgres.database.azure.com
    Användarnamn Ange användarnamnet som username@servername som anges när PostgreSQL-servern skapas.
    Lösenord Ange ett lösenord som angavs när PostgreSQL-servern skapades.
    SSL Välj Obligatorisk.
  5. Välj Anslut.

  6. Bläddra bland databaser från den vänstra menyn.

  7. (Valfritt) Skapa eller fråga efter information från postgreSQL-servern.

  8. Stäng fjärrskrivbordsanslutningen till myVm.

Rensa resurser

När de inte behövs längre kan du använda az group delete för att ta bort resursgruppen och alla resurser som den innehåller:

az group delete --name myResourceGroup --yes 

Nästa steg