Samouczek: Połączenie do serwera Azure SQL przy użyciu prywatnego punktu końcowego platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure

Prywatny punkt końcowy platformy Azure to podstawowy blok konstrukcyjny usługi Private Link na platformie Azure. Umożliwia ona prywatną komunikację zasobów platformy Azure, takich jak maszyny wirtualne, z zasobami usługi Private Link.

Diagram zasobów utworzonych w prywatnym punkcie końcowym — Szybki start.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz sieć wirtualną i hosta bastionu.
  • Tworzy maszynę wirtualną.
  • Utwórz serwer Azure SQL i prywatny punkt końcowy.
  • Przetestuj łączność z prywatnym punktem końcowym programu SQL Server.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
  • Zaloguj się do witryny Azure Portal i sprawdź, czy subskrypcja jest aktywna, uruchamiając polecenie az login.
  • Sprawdź wersję interfejsu wiersza polecenia platformy Azure w terminalu lub oknie polecenia, uruchamiając polecenie az --version. Aby uzyskać najnowszą wersję, zobacz najnowsze informacje o wersji.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Utwórz grupę zasobów za pomocą polecenia az group create:

  • Nazwane CreateSQLEndpointTutorial-rg.
  • W lokalizacji eastus.
az group create \
    --name CreateSQLEndpointTutorial-rg \
    --location eastus

Tworzenie sieci wirtualnej i hosta bastionu

W tej sekcji utworzysz sieć wirtualną, podsieć i hosta bastionu.

Host bastionu będzie używany do bezpiecznego łączenia się z maszyną wirtualną na potrzeby testowania prywatnego punktu końcowego.

Tworzenie sieci wirtualnej za pomocą polecenia az network vnet create

  • Nazwane myVNet.
  • Prefiks adresu 10.0.0.0/16.
  • Podsieć o nazwie myBackendSubnet.
  • Prefiks podsieci 10.0.0.0/24.
  • W grupie zasobów CreateSQLEndpointTutorial-rg.
  • Lokalizacja eastus.
az network vnet create \
    --resource-group CreateSQLEndpointTutorial-rg\
    --location eastus \
    --name myVNet \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.0.0.0/24

Zaktualizuj podsieć, aby wyłączyć zasady sieci prywatnego punktu końcowego dla prywatnego punktu końcowego za pomocą polecenia az network vnet subnet update:

az network vnet subnet update \
    --name myBackendSubnet \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet \
    --disable-private-endpoint-network-policies true

Użyj polecenia az network public-ip create , aby utworzyć publiczny adres IP hosta bastionu:

  • Utwórz strefowo nadmiarowy publiczny adres IP o nazwie myBastionIP.
  • W obszarze CreateSQLEndpointTutorial-rg.
az network public-ip create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionIP \
    --sku Standard

Użyj polecenia az network vnet subnet create , aby utworzyć podsieć bastionu:

  • Nazwane AzureBastionSubnet.
  • Prefiks adresu 10.0.1.0/24.
  • W sieci wirtualnej myVNet.
  • W grupie zasobów CreateSQLEndpointTutorial-rg.
az network vnet subnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.0.1.0/24

Użyj polecenia az network bastion create , aby utworzyć hosta bastionu:

  • Nazwany myBastionHost.
  • W obszarze CreateSQLEndpointTutorial-rg.
  • Skojarzone z publicznym adresem IP myBastionIP.
  • Skojarzone z siecią wirtualną myVNet.
  • W lokalizacji eastus .
az network bastion create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Wdrożenie hosta usługi Azure Bastion może potrwać kilka minut.

Tworzenie testowej maszyny wirtualnej

W tej sekcji utworzysz maszynę wirtualną, która będzie używana do testowania prywatnego punktu końcowego.

Utwórz maszynę wirtualną za pomocą polecenia az vm create. Po wyświetleniu monitu podaj hasło do użycia jako poświadczenia dla maszyny wirtualnej:

  • Nazwany myVM.
  • W obszarze CreateSQLEndpointTutorial-rg.
  • W sieci myVNet.
  • W podsieci myBackendSubnet.
  • Obraz serwera Win2019Datacenter.
az vm create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myVM \
    --image Win2019Datacenter \
    --public-ip-address "" \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --admin-username azureuser

Uwaga

Platforma Azure udostępnia domyślny adres IP dostępu wychodzącego dla maszyn wirtualnych, które nie są przypisane do publicznego adresu IP lub znajdują się w puli zaplecza wewnętrznego podstawowego modułu równoważenia obciążenia platformy Azure. Domyślny mechanizm adresów IP dostępu wychodzącego zapewnia wychodzący adres IP, który nie jest konfigurowalny.

Domyślny adres IP dostępu wychodzącego jest wyłączony, gdy wystąpi jedno z następujących zdarzeń:

  • Publiczny adres IP jest przypisywany do maszyny wirtualnej.
  • Maszyna wirtualna jest umieszczana w puli zaplecza standardowego modułu równoważenia obciążenia z regułami ruchu wychodzącego lub bez tych reguł.
  • Zasób usługi Azure NAT Gateway jest przypisywany do podsieci maszyny wirtualnej.

Maszyny wirtualne tworzone przy użyciu zestawów skalowania maszyn wirtualnych w trybie elastycznej aranżacji nie mają domyślnego dostępu wychodzącego.

Aby uzyskać więcej informacji na temat połączeń wychodzących na platformie Azure, zobacz Domyślny dostęp wychodzący na platformie Azure i Używanie źródłowego tłumaczenia adresów sieciowych (SNAT) dla połączeń wychodzących.

Tworzenie serwera Azure SQL

W tej sekcji utworzysz serwer SQL i bazę danych.

Użyj polecenia az sql server create , aby utworzyć serwer SQL:

  • Zastąp ciąg <sql-server-name> unikatową nazwą serwera.
  • Zastąp <hasło hasłem> .
  • W obszarze CreateSQLEndpointTutorial-rg.
  • W regionie eastus .
az sql server create \
    --name <sql-server-name> \
    --resource-group CreateSQLEndpointTutorial-rg \
    --location eastus \
    --admin-user sqladmin \
    --admin-password <your-password>

Użyj polecenia az sql db create , aby utworzyć bazę danych:

  • Nazwany myDataBase.
  • W obszarze CreateSQLEndpointTutorial-rg.
  • Zastąp ciąg <sql-server-name> unikatową nazwą serwera.
az sql db create \
    --resource-group CreateSQLEndpointTutorial-rg  \
    --server <sql-server-name> \
    --name myDataBase \
    --sample-name AdventureWorksLT

Tworzenie prywatnego punktu końcowego

W tej sekcji utworzysz prywatny punkt końcowy.

Użyj polecenia az sql server list , aby umieścić identyfikator zasobu serwera SQL w zmiennej powłoki.

Użyj polecenia az network private-endpoint create , aby utworzyć punkt końcowy i połączenie:

  • Nazwany myPrivateEndpoint.
  • W grupie zasobów CreateSQLEndpointTutorial-rg.
  • W sieci wirtualnej myVNet.
  • W podsieci myBackendSubnet.
  • Połączenie ion o nazwie my Połączenie ion.
id=$(az sql server list \
    --resource-group CreateSQLEndpointTutorial-rg \
    --query '[].[id]' \
    --output tsv)

az network private-endpoint create \
    --name myPrivateEndpoint \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet --subnet myBackendSubnet \
    --private-connection-resource-id $id \
    --group-ids sqlServer \
    --connection-name myConnection  

Konfigurowanie prywatnej strefy DNS

W tej sekcji utworzysz i skonfigurujesz prywatną strefę DNS przy użyciu polecenia az network private-dns zone create.

Użyjesz polecenia az network private-dns link vnet create , aby utworzyć link sieci wirtualnej do strefy DNS.

Utworzysz grupę stref DNS za pomocą polecenia az network private-endpoint dns-zone-group create.

  • Strefa o nazwie privatelink.database.windows.net
  • W sieci wirtualnej myVNet.
  • W grupie zasobów CreateSQLEndpointTutorial-rg.
  • Link DNS o nazwie myDNSLink.
  • Skojarzone z elementem myPrivateEndpoint.
  • Grupa stref o nazwie MyZoneGroup.
az network private-dns zone create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name "privatelink.database.windows.net"

az network private-dns link vnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --zone-name "privatelink.database.windows.net" \
    --name MyDNSLink \
    --virtual-network myVNet \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
   --resource-group CreateSQLEndpointTutorial-rg \
   --endpoint-name myPrivateEndpoint \
   --name MyZoneGroup \
   --private-dns-zone "privatelink.database.windows.net" \
   --zone-name sql

Testowanie łączności z prywatnym punktem końcowym

W tej sekcji użyjesz maszyny wirtualnej utworzonej w poprzednim kroku, aby nawiązać połączenie z serwerem SQL w prywatnym punkcie końcowym.

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz pozycję Grupy zasobów w okienku nawigacji po lewej stronie.

  3. Wybierz pozycję CreateSQLEndpointTutorial-rg.

  4. Wybierz pozycję myVM.

  5. Na stronie przeglądu maszyny wirtualnej myVM wybierz pozycję Połączenie następnie pozycję Bastion.

  6. Wybierz niebieski przycisk Użyj usługi Bastion .

  7. Wprowadź nazwę użytkownika i hasło wprowadzone podczas tworzenia maszyny wirtualnej.

  8. Otwórz program Windows PowerShell na serwerze po nawiązaniu połączenia.

  9. Wprowadź nslookup <sqlserver-name>.database.windows.net. Zastąp ciąg <sqlserver-name> nazwą serwera SQL utworzonego w poprzednich krokach. Zostanie wyświetlony komunikat podobny do tego, co jest wyświetlane poniżej:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    mysqlserver8675.privatelink.database.windows.net
    Address:  10.0.0.5
    Aliases:  mysqlserver8675.database.windows.net
    

    Prywatny adres IP 10.0.0.5 jest zwracany dla nazwy serwera SQL. Ten adres znajduje się w podsieci utworzonej wcześniej sieci wirtualnej.

  10. Zainstaluj program SQL Server Management Studio na maszynie wirtualnej myVM.

  11. Otwórz program SQL Server Management Studio.

  12. W Połączenie do serwera wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Typ serwera Wybierz pozycję Aparat bazy danych.
    Nazwa serwera Wprowadź <wartość sql-server-name.database.windows.net>
    Uwierzytelnianie Wybierz pozycję Uwierzytelnianie SQL Server.
    User name Wprowadź nazwę użytkownika wprowadzoną podczas tworzenia serwera
    Hasło Wprowadź hasło wprowadzone podczas tworzenia serwera
    Remember password (Zapamiętaj hasło) Wybierz opcję Tak.
  13. Wybierz pozycję Połącz.

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

  15. (Opcjonalnie) Tworzenie informacji lub wykonywanie zapytań na podstawie bazy danych mysqldatabase.

  16. Zamknij połączenie bastionu z maszyną wirtualną myVM.

Czyszczenie zasobów

Po zakończeniu korzystania z prywatnego punktu końcowego, programu SQL Server i maszyny wirtualnej usuń grupę zasobów i wszystkie zawarte w niej zasoby:

az group delete \
    --name CreateSQLEndpointTutorial-rg

Następne kroki

W tym samouczku utworzono następujące elementy:

  • Sieć wirtualna i host bastionu.
  • Maszyna wirtualna.
  • Usługa Azure SQL Server z prywatnym punktem końcowym.

Maszyna wirtualna była używana do bezpiecznego testowania łączności z serwerem SQL w prywatnym punkcie końcowym.

W następnym kroku możesz również zainteresować aplikację internetową z prywatną łącznością z architekturą bazy danych Azure SQL Database , która łączy aplikację internetową poza siecią wirtualną z prywatnym punktem końcowym bazy danych.