Skapa och hantera Private Link för Azure Database for MySQL – flexibel server med Azure CLI
I den här artikeln får du lära dig hur du använder Azure CLI för att skapa en privat slutpunkt för åtkomst till Azure Database for MySQL – flexibel server från en virtuell dator i ett virtuellt nätverk.
Starta Azure Cloud Shell
Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra stegen i den här artikeln. Den har Standard Azure-verktyg förinstallerade och konfigurerade för användning med ditt konto.
Öppna Cloud Shell genom att välja Prova i det övre högra hörnet i ett kodblock. Du kan också öppna Cloud Shell på en separat webbläsarflik genom att gå till https://shell.azure.com/bash. Välj Kopiera för att kopiera kodblocken, klistra in det i Cloud Shell och välj Retur för att köra det.
Om du föredrar att installera och använda CLI lokalt kräver den här snabbstarten Azure CLI version 2.0 eller senare. Kör az --version
för att hitta versionen. Se Installera Azure CLI om du behöver installera eller uppgradera.
Förutsättningar
Du måste logga in på ditt konto med kommandot az login . Observera ID-egenskapen, som refererar till Prenumerations-ID för ditt Azure-konto.
az login
Välj den specifika prenumerationen under ditt konto med kommandot az account set . I kommandot noterar du ID-värdet från az login-utdata som ska användas som värde för prenumerationsargumentet . Om du har flera prenumerationer ska du välja lämplig prenumeration där resursen ska debiteras. Använd az account list för att hämta alla dina prenumerationer.
az account set --subscription <subscription id>
Skapa en resursgrupp
Innan du skapar 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
Registrera den virtuella datorns offentliga IP-adress när den behövs för att ansluta från Internet i nästa steg.
Skapa Azure Database for MySQL – flexibel serverinstans med offentlig åtkomst i resursgruppen
Skapa en Azure Database for MySQL – flexibel serverinstans med offentlig åtkomst och lägg till klientens IP-adress för att få åtkomst till den.
az mysql flexible-server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--public-access <my_client_ip>
Kommentar
I vissa fall finns Azure Database for MySQL – flexibel server-instans och VNet-undernätet i olika prenumerationer. I dessa fall måste du se till att följande konfigurationer:
- Kontrollera att båda prenumerationerna har resursprovidern Microsoft.DBforMySQL/flexibleServer registrerad. Mer information finns i resource-manager-registration.
Skapa den privata slutpunkten
Skapa en privat slutpunkt för Azure Database for MySQL – flexibel server 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/flexibleServers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection \
--location location
Konfigurera Privat DNS-zonen
Skapa en Privat DNS zon för domänen Azure Database for MySQL – flexibel server 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 MySQL flexible server 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 kundens DNS-inställning löser inte den privata IP-adress som har konfigurerats. Du måste konfigurera en DNS-zon för det konfigurerade FQDN som visashä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.
> [OBS!]
> Du kan behöva välja Fler alternativ Använd ett annat konto för att ange de autentiseringsuppgifter som 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 det virtuella datorskrivbordet visas minimerar du det så att det återgår till det lokala skrivbordet.
Få åtkomst till Azure Database for MySQL – flexibel serverinstans 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 Azure Database for MySQL – flexibel server-instans med valfri tillgänglig klient. I följande exempel används 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 angavs när Azure Database for MySQL– flexibel serverinstans skapades. Lösenord Ange ett lösenord som angavs när Azure Database for MySQL – flexibel serverinstans skapades. Välj Anslut.
Bläddra bland databaser från den vänstra menyn.
(Valfritt) Skapa eller fråga efter information från Databasen Azure Database for MySQL – flexibel server.
Stäng fjärrskrivbordsanslutningen till myVm.
Rensa resurser
När den inte längre behövs kan du använda az group delete
för att ta bort resursgruppen och alla resurser den har:
az group delete --name myResourceGroup --yes
Ytterligare CLI-kommandon för Private Link
Lista privata länkbara underresurser (groupIds)
az network private-link-resource list --id {PrivateLinkResourceID} // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts
Lista privata slutpunktsanslutningar för en viss resurs
az network private-endpoint-connection list --id {PrivateLinkResourceID}
Godkänna privata slutpunktsanslutningar för en viss resurs
az network private-endpoint-connection approve --id {PrivateEndpointConnectionID} --description "Approved!"
Avvisa privata slutpunktsanslutningar för en viss resurs
az network private-endpoint-connection reject --id {PrivateEndpointConnectionID} --description "Rejected!"
Ta bort privata slutpunktsanslutningar på en viss resurs
az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}