Tworzenie usługi Private Link dla usługi Azure Database for MySQL i zarządzanie nim — serwer elastyczny przy użyciu interfejsu wiersza polecenia platformy Azure
Z tego artykułu dowiesz się, jak używać interfejsu wiersza polecenia platformy Azure do tworzenia prywatnego punktu końcowego na potrzeby uzyskiwania dostępu do serwera elastycznego usługi Azure Database for MySQL z maszyny wirtualnej w sieci wirtualnej.
Uruchamianie usługi Azure Cloud Shell
Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której można użyć do wykonania kroków opisanych w tym artykule. Ma ona standardowe narzędzia platformy Azure wstępnie zainstalowane i skonfigurowane do użycia z kontem.
Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również otworzyć usługę Cloud Shell na osobnej karcie przeglądarki, przechodząc do .https://shell.azure.com/bash Wybierz pozycję Kopiuj , aby skopiować bloki kodu, wklej go w usłudze Cloud Shell, a następnie wybierz Enter , aby go uruchomić.
Jeśli wolisz zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten przewodnik Szybki start wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0 lub nowszej. Uruchom polecenie az --version
, aby dowiedzieć się, jaka wersja jest używana. Jeśli musisz zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Wymagania wstępne
Musisz zalogować się do swojego konta przy użyciu polecenia az login . Zanotuj właściwość id , która odnosi się do identyfikatora subskrypcji dla konta platformy Azure.
az login
Wybierz określoną subskrypcję w ramach konta przy użyciu polecenia az account set . W poleceniu zanotuj wartość id z danych wyjściowych az login , która będzie używana jako wartość argumentu subskrypcji . Jeśli masz wiele subskrypcji, wybierz odpowiednią subskrypcję, w ramach której powinny być naliczane opłaty za ten zasób. Użyj polecenia az account list , aby pobrać wszystkie subskrypcje.
az account set --subscription <subscription id>
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
Zarejestruj publiczny adres IP maszyny wirtualnej, ponieważ jest potrzebny do nawiązania połączenia z Internetu w następnym kroku.
Tworzenie wystąpienia serwera elastycznego usługi Azure Database for MySQL z dostępem publicznym w grupie zasobów
Utwórz wystąpienie serwera elastycznego usługi Azure Database for MySQL z dostępem publicznym i dodaj adres IP klienta, aby uzyskać do niego dostęp.
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>
Uwaga
W niektórych przypadkach wystąpienie serwera elastycznego usługi 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/flexibleServer . Aby uzyskać więcej informacji, zobacz rejestracja przy użyciu usługi resource-manager.
Tworzenie prywatnego punktu końcowego
Utwórz prywatny punkt końcowy dla usługi Azure Database for MySQL — serwer elastyczny 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/flexibleServers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection \
--location location
Konfigurowanie strefy Prywatna strefa DNS
Utwórz strefę Prywatna strefa DNS dla domeny serwera elastycznego usługi Azure Database for 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 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>
Uwaga
Nazwa FQDN w ustawieniu DNS klienta nie rozpoznaje skonfigurowanego prywatnego adresu IP. Musisz skonfigurować strefę DNS dla skonfigurowanej nazwy FQDN, jak pokazanotutaj.
Nawiązywanie połączenia z maszyną wirtualną z Internetu
Połącz się z maszyną wirtualną myVm z Internetu w następujący sposób:
Na pasku wyszukiwania portalu wprowadź ciąg myVm.
Wybierz przycisk Połącz. Po wybraniu przycisku Połącz zostanie otwarta strona Łączenie z maszyną wirtualną.
Wybierz pozycję Pobierz plik RDP. Plik Remote Desktop Protocol (.rdp) zostanie utworzony na platformie Azure, a następnie pobrany na komputer.
Otwórz plik downloaded.rdp.
- Po wyświetleniu monitu wybierz pozycję Połącz.
. Wprowadź nazwę użytkownika i hasło określone podczas tworzenia maszyny wirtualnej.
> [!UWAGA]
> Może być konieczne wybranie pozycji Więcej opcji Użyj innego konta, aby określić poświadczenia wprowadzone podczas tworzenia maszyny wirtualnej.
Wybierz przycisk OK.
Podczas procesu logowania może pojawić się ostrzeżenie o certyfikacie. Wybierz pozycję Tak lub Kontynuuj , jeśli zostanie wyświetlone ostrzeżenie o certyfikacie.
Po pojawieniu się pulpitu maszyny wirtualnej zminimalizuj go, aby powrócić do lokalnego pulpitu.
Uzyskiwanie dostępu do wystąpienia serwera elastycznego usługi Azure Database for MySQL prywatnie z maszyny wirtualnej
Na pulpicie zdalnym maszyny wirtualnej myVM otwórz program PowerShell.
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
Przetestuj połączenie usługi Private Link dla wystąpienia serwera elastycznego usługi Azure Database for MySQL przy użyciu dowolnego dostępnego klienta. W poniższym przykładzie użyto aplikacji MySQL Workbench do wykonania operacji.
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 wystąpienia serwera elastycznego usługi Azure Database for MySQL. Hasło Wprowadź hasło podane podczas tworzenia wystąpienia serwera elastycznego usługi Azure Database for MySQL. Wybierz pozycję Połącz.
Przeglądaj bazy danych z menu po lewej stronie.
(Opcjonalnie) Tworzenie informacji lub wykonywanie zapytań na podstawie bazy danych serwera elastycznego usługi Azure Database for MySQL.
Zamknij połączenie pulpitu zdalnego z maszyną wirtualną myVm.
Czyszczenie zasobów
Gdy grupa zasobów nie będzie już potrzebna, możesz użyć az group delete
polecenia , aby usunąć grupę zasobów i wszystkie zasoby, które ma:
az group delete --name myResourceGroup --yes
Dodatkowe polecenia interfejsu wiersza polecenia usługi Private Link
Wyświetlanie listy zasobów podrzędnych z możliwością łączenia prywatnego (groupIds)
az network private-link-resource list --id {PrivateLinkResourceID} // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts
Wyświetlanie listy połączeń prywatnych punktów końcowych w danym zasobie
az network private-endpoint-connection list --id {PrivateLinkResourceID}
Zatwierdzanie połączeń prywatnych punktów końcowych w danym zasobie
az network private-endpoint-connection approve --id {PrivateEndpointConnectionID} --description "Approved!"
Odrzucanie połączeń prywatnych punktów końcowych w danym zasobie
az network private-endpoint-connection reject --id {PrivateEndpointConnectionID} --description "Rejected!"
Usuwanie połączeń prywatnych punktów końcowych w danym zasobie
az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}
Powiązana zawartość
- Tworzenie usługi Private Link dla usługi Azure Database for MySQL — serwer elastyczny i zarządzanie nim przy użyciu portalu
- zarządzanie łącznością
- Szyfrowanie danych przy użyciu kluczy zarządzanych przez klienta dla usługi Azure Database for MySQL — serwer elastyczny
- Uwierzytelnianie entra firmy Microsoft dla usługi Azure Database for MySQL — serwer elastyczny