Skapa och hantera Private Link för Azure Database for MySQL med CLI
GÄLLER FÖR: Azure Database for MySQL – enskild server
Viktigt!
Azure Database for MySQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till en flexibel Azure Database for MySQL-server. Mer information om hur du migrerar till en flexibel Azure Database for MySQL-server finns i Vad händer med Azure Database for MySQL – 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 MySQL-server med en privat Azure-slutpunkt.
Kommentar
Funktionen private link är endast tillgänglig för Azure Database for MySQL-servrar på prisnivåerna Generell användning eller Minnesoptimerad. Kontrollera att databasservern finns på någon av dessa prisnivåer.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Den här artikeln kräver version 2.0.28 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
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
Kommentar
den virtuella datorns offentliga IP-adress Du använder den här adressen för att ansluta till den virtuella datorn från Internet i nästa steg.
Skapa en Azure Database för MySQL-server
Skapa en Azure Database for MySQL med kommandot az mysql server create. Kom ihåg att namnet på mySQL-servern måste vara unikt i Hela Azure, så ersätt platshållarvärdet inom hakparenteser med ditt eget unika värde:
# Create a server in the resource group
az mysql server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2
Kommentar
I vissa fall finns Azure Database for MySQL 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.DBforMySQL-resursprovidern registrerad. Mer information finns i resource-manager-registration
Skapa den privata slutpunkten
Skapa en privat slutpunkt för MySQL-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.DBforMySQL/servers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection
Konfigurera den privata DNS-zonen
Skapa en privat DNS-zon för MySQL-serverdomänen och skapa en kopplingslänk till det virtuella nätverket.
az network private-dns zone create --resource-group myResourceGroup \
--name "privatelink.mysql.database.azure.com"
az network private-dns link vnet create --resource-group myResourceGroup \
--zone-name "privatelink.mysql.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 MySQL name
# Create DNS records
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.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.
Ansluta till en virtuell dator från Internet
Anslut till den virtuella datorn myVm från Internet på följande sätt:
I portalens sökfält anger du myVm.
Välj knappen Anslut. När du har valt knappen Anslut öppnas Anslut till den virtuella datorn.
Välj Hämta RDP-fil. Azure skapar en .rdp-fil (Remote Desktop Protocol) och laddar ned den till datorn.
Öppna filen downloaded.rdp .
Välj Anslut om du uppmanas att göra det.
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.
Välj OK.
Du kan få en certifikatvarning under inloggningen. Välj Ja eller Fortsätt om du får en certifikatvarning.
När virtuella datorns skrivbord visas kan du minimera det att gå tillbaka till din lokala dator.
Få åtkomst till MySQL-servern privat från den virtuella datorn
Öppna PowerShell på fjärrskrivbordet i myVM.
Ange
nslookup mydemomysqlserver.privatelink.mysql.database.azure.com
.Du får ett meddelande som liknar detta:
Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: mydemomysqlserver.privatelink.mysql.database.azure.com Address: 10.1.3.4
Testa den privata länkanslutningen för MySQL-servern med valfri tillgänglig klient. I exemplet nedan har jag använt MySQL Workbench för att utföra åtgärden.
I Ny anslutning anger eller väljer du den här informationen:
Inställning Värde Anslutningsnamn Välj önskat anslutningsnamn. Värdnamn Välj mydemoserver.privatelink.mysql.database.azure.com Username Ange användarnamnet som username@servername som anges när MySQL-servern skapas. Lösenord Ange ett lösenord som angavs när MySQL-servern skapades. Välj Anslut.
Bläddra bland databaser från den vänstra menyn.
(Valfritt) Skapa eller fråga efter information från MySQL-databasen.
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
- Läs mer om Vad är en privat Azure-slutpunkt