Tworzenie usługi Private Link dla usługi Azure Database for MySQL i zarządzanie nią przy użyciu interfejsu wiersza polecenia

DOTYCZY: Azure Database for MySQL — pojedynczy serwer

Ważne

Pojedynczy serwer usługi Azure Database for MySQL znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji na temat migracji do serwera elastycznego usługi Azure Database for MySQL, zobacz Co się dzieje z usługą Azure Database for MySQL — pojedynczy serwer?

Prywatny punkt końcowy to podstawowy blok konstrukcyjny linku prywatnego na platformie Azure. Umożliwia ona zasobom platformy Azure, na przykład maszynom wirtualnym, prywatną komunikację z zasobami łącza prywatnego. W tym artykule dowiesz się, jak za pomocą interfejsu wiersza polecenia platformy Azure utworzyć maszynę wirtualną w sieci wirtualnej platformy Azure i serwer usługi Azure Database for MySQL z prywatnym punktem końcowym platformy Azure.

Uwaga

Funkcja łącza prywatnego jest dostępna tylko dla serwerów usługi Azure Database for MySQL w warstwach cenowych Ogólnego przeznaczenia lub Zoptymalizowane pod kątem pamięci. Upewnij się, że serwer bazy danych znajduje się w jednej z tych warstw cenowych.

Wymagania wstępne

  • Ten artykuł wymaga wersji 2.0.28 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.

Tworzenie grupy zasobów

Przed utworzeniem dowolnego zasobu należy utworzyć grupę zasobów do hostowania sieci wirtualnej. Utwórz grupę zasobów za pomocą polecenia az group create. W tym przykładzie zostanie utworzona grupa zasobów o nazwie myResourceGroup w lokalizacji westeurope :

az group create --name myResourceGroup --location westeurope

Tworzenie sieci wirtualnej

Utwórz sieć wirtualną za pomocą polecenia az network vnet create. W tym przykładzie zostanie utworzona domyślna sieć wirtualna o nazwie myVirtualNetwork z jedną podsiecią o nazwie mySubnet:

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

Wyłączanie zasad prywatnego punktu końcowego podsieci

Platforma Azure wdraża zasoby w podsieci w sieci wirtualnej, dlatego należy utworzyć lub zaktualizować podsieć, aby wyłączyć zasady sieci prywatnego punktu końcowego. Zaktualizuj konfigurację podsieci o nazwie mySubnet za pomocą polecenia az network vnet subnet update:

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

Tworzenie maszyny wirtualnej

Utwórz maszynę wirtualną za pomocą polecenia az vm create. Po wyświetleniu monitu podaj hasło do użycia jako poświadczenia logowania dla maszyny wirtualnej. W tym przykładzie zostanie utworzona maszyna wirtualna o nazwie myVm:

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

Uwaga

Publiczny adres IP maszyny wirtualnej. Ten adres służy do nawiązywania połączenia z maszyną wirtualną z Internetu w następnym kroku.

Tworzenie serwera usługi Azure Database for MySQL

Utwórz usługę Azure Database for MySQL za pomocą polecenia az mysql server create. Pamiętaj, że nazwa serwera MySQL musi być unikatowa na platformie Azure, dlatego zastąp wartość symbolu zastępczego w nawiasach własną unikatową wartością:

# 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

Uwaga

W niektórych przypadkach usługa Azure Database for MySQL i podsieć sieci wirtualnej znajdują się w różnych subskrypcjach. W takich przypadkach należy zapewnić następujące konfiguracje:

  • Upewnij się, że obie subskrypcje mają zarejestrowanego dostawcę zasobów Microsoft.DBforMySQL . Aby uzyskać więcej informacji, zobacz rejestracja menedżera zasobów

Tworzenie prywatnego punktu końcowego

Utwórz prywatny punkt końcowy dla serwera MySQL w sieci wirtualnej:

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  

Konfigurowanie strefy Prywatna strefa DNS

Utwórz Prywatna strefa DNS strefę dla domeny serwera MySQL i utwórz link skojarzenia z siecią wirtualną.

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>

Uwaga

Nazwa FQDN w ustawieniu DNS klienta nie jest rozpoznawana jako skonfigurowany prywatny adres IP. Musisz skonfigurować strefę DNS dla skonfigurowanej nazwy FQDN, jak pokazano tutaj.

Nawiązywanie połączenia z maszyną wirtualną z Internetu

Połączenie do maszyny wirtualnej myVm z Internetu w następujący sposób:

  1. Na pasku wyszukiwania portalu wprowadź ciąg myVm.

  2. Wybierz przycisk Połącz. Po wybraniu przycisku Połącz zostanie otwarta strona Łączenie z maszyną wirtualną.

  3. Wybierz pozycję Pobierz plik RDP. Plik Remote Desktop Protocol (.rdp) zostanie utworzony na platformie Azure, a następnie pobrany na komputer.

  4. Otwórz plik downloaded.rdp.

    1. Po wyświetleniu monitu wybierz pozycję Połącz.

    2. Wprowadź nazwę użytkownika i hasło określone podczas tworzenia maszyny wirtualnej.

      Uwaga

      Może okazać się konieczne wybranie pozycji Więcej opcji>Użyj innego konta, aby podać poświadczenia wprowadzone podczas tworzenia maszyny wirtualnej.

  5. Wybierz przycisk OK.

  6. Podczas procesu logowania może pojawić się ostrzeżenie o certyfikacie. Jeśli zostanie wyświetlone ostrzeżenie o certyfikacie, wybierz opcję Tak lub Kontynuuj.

  7. Po wyświetleniu pulpitu maszyny wirtualnej zminimalizuj ją i wróć z powrotem do pulpitu lokalnego.

Uzyskiwanie dostępu do serwera MySQL prywatnie z maszyny wirtualnej

  1. Na pulpicie zdalnym maszyny wirtualnej myVM otwórz program PowerShell.

  2. Wprowadź nslookup mydemomysqlserver.privatelink.mysql.database.azure.com.

    Zostanie wyświetlony komunikat podobny do następującego:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemomysqlserver.privatelink.mysql.database.azure.com
    Address:  10.1.3.4
    
  3. Przetestuj połączenie usługi Private Link dla serwera MySQL przy użyciu dowolnego dostępnego klienta. W poniższym przykładzie użyto programu MySQL Workbench do wykonania operacji.

  4. W obszarze Nowe połączenie wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Nazwa połączenia Wybierz wybraną nazwę połączenia.
    Hostname (Nazwa hosta) Wybierz mydemoserver.privatelink.mysql.database.azure.com
    Username Wprowadź nazwę użytkownika jako username@servername podaną podczas tworzenia serwera MySQL.
    Password Wprowadź hasło podane podczas tworzenia serwera MySQL.
  5. Wybierz pozycję Połącz.

  6. Przeglądaj bazy danych z menu po lewej stronie.

  7. (Opcjonalnie) Tworzenie informacji lub wykonywanie zapytań na podstawie bazy danych MySQL.

  8. Zamknij połączenie pulpitu zdalnego z maszyną wirtualną myVm.

Czyszczenie zasobów

Gdy grupa zasobów i wszystkie zawarte w niej zasoby nie będą już potrzebne, można je usunąć za pomocą polecenia az group delete:

az group delete --name myResourceGroup --yes 

Następne kroki