Szybki start: tworzenie prywatnej strefy DNS platformy Azure przy użyciu programu Azure PowerShell
W tym artykule przedstawiono kroki umożliwiające utworzenie po raz pierwszy prywatnej strefy i rekordu DNS przy użyciu programu Azure PowerShell.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Strefa DNS służy do hostowania rekordów DNS dla konkretnej domeny. Aby rozpocząć hostowanie domeny w usłudze Azure DNS, musisz utworzyć strefę DNS dla tej nazwy domeny. Każdy rekord DNS domeny zostanie utworzony w tej strefie DNS. Aby opublikować prywatną strefę DNS w sieci wirtualnej, należy określić listę sieci wirtualnych, które mogą rozpoznawać rekordy w strefie. Są to połączone sieci wirtualne. Gdy funkcja automatycznego wyrejestrowania jest włączona, usługa Azure DNS aktualizuje również rekordy strefy za każdym razem, gdy maszyna wirtualna zostanie utworzona, zmieni jej adres IP lub zostanie usunięta.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Jeśli wolisz, możesz wykonać ten przewodnik Szybki start przy użyciu interfejsu wiersza polecenia platformy Azure.
Azure Cloud Shell
Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
Opcja | Przykład/link |
---|---|
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. | |
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. | |
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Tworzenie grupy zasobów
Najpierw utwórz grupę zasobów, która będzie zawierać strefę DNS:
New-AzResourceGroup -name MyAzureResourceGroup -location "eastus"
Tworzenie prywatnej strefy DNS
Strefa DNS jest tworzona za pomocą polecenia cmdlet New-AzPrivateDnsZone
.
Poniższy przykład tworzy sieć wirtualną o nazwie myAzureVNet. Następnie tworzy strefę DNS o nazwie private.contoso.com w grupie zasobów MyAzureResourceGroup , łączy strefę DNS z siecią wirtualną MyAzureVnet i włącza automatyczną rejestrację.
Install-Module -Name Az.PrivateDns -force
$backendSubnet = New-AzVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix "10.2.0.0/24"
$vnet = New-AzVirtualNetwork `
-ResourceGroupName MyAzureResourceGroup `
-Location eastus `
-Name myAzureVNet `
-AddressPrefix 10.2.0.0/16 `
-Subnet $backendSubnet
$zone = New-AzPrivateDnsZone -Name private.contoso.com -ResourceGroupName MyAzureResourceGroup
$link = New-AzPrivateDnsVirtualNetworkLink -ZoneName private.contoso.com `
-ResourceGroupName MyAzureResourceGroup -Name "mylink" `
-VirtualNetworkId $vnet.id -EnableRegistration
Jeśli chcesz utworzyć strefę tylko dla rozpoznawania nazw (bez automatycznej -EnableRegistration
rejestracji nazwy hosta), możesz pominąć parametr .
Wyświetlanie listy stref prywatnych DNS
Pomijając nazwę strefy w elemencie Get-AzPrivateDnsZone
, można wyliczyć wszystkie strefy w grupie zasobów. Ta operacja zwraca tablicę obiektów stref.
$zones = Get-AzPrivateDnsZone -ResourceGroupName MyAzureResourceGroup
$zones
Pomijając zarówno nazwę strefy, jak i nazwę grupy zasobów w elemencie Get-AzPrivateDnsZone
, można wyliczyć wszystkie strefy w subskrypcji platformy Azure.
$zones = Get-AzPrivateDnsZone
$zones
Tworzenie testowych maszyn wirtualnych
Teraz utworzysz dwie maszyny wirtualne, aby umożliwić przetestowanie strefy prywatnej DNS:
New-AzVm `
-ResourceGroupName "myAzureResourceGroup" `
-Name "myVM01" `
-Location "East US" `
-subnetname backendSubnet `
-VirtualNetworkName "myAzureVnet" `
-addressprefix 10.2.0.0/24 `
-OpenPorts 3389
New-AzVm `
-ResourceGroupName "myAzureResourceGroup" `
-Name "myVM02" `
-Location "East US" `
-subnetname backendSubnet `
-VirtualNetworkName "myAzureVnet" `
-addressprefix 10.2.0.0/24 `
-OpenPorts 3389
Tworzenie maszyny wirtualnej potrwa kilka minut.
Tworzenie dodatkowego rekordu DNS
Zestawy rekordów są tworzone za pomocą polecenia cmdlet New-AzPrivateDnsRecordSet
. Poniższy przykład tworzy rekord z bazą danych nazwy względnej w private.contoso.com strefy DNS w grupie zasobów MyAzureResourceGroup. W pełni kwalifikowana nazwa zestawu rekordów jest db.private.contoso.com. Typ rekordu to „A” z adresem IP „10.2.0.4”, a czas wygaśnięcia wynosi 3600 sekund.
New-AzPrivateDnsRecordSet -Name db -RecordType A -ZoneName private.contoso.com `
-ResourceGroupName MyAzureResourceGroup -Ttl 3600 `
-PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address "10.2.0.4")
Wyświetlanie rekordów DNS
Aby wyświetlić listę rekordów DNS w strefie, uruchom polecenie:
Get-AzPrivateDnsRecordSet -ZoneName private.contoso.com -ResourceGroupName MyAzureResourceGroup
Testowanie strefy prywatnej
Teraz możesz przetestować rozpoznawanie nazw dla strefy prywatnej private.contoso.com .
Konfigurowanie maszyn wirtualnych w celu zezwolenia na ruch przychodzący protokołu ICMP
Do przetestowania rozpoznawania nazw możesz użyć polecenia ping. W tym celu skonfiguruj zaporę na obydwu maszynach wirtualnych, aby zezwolić na przychodzące pakiety protokołu ICMP.
Połącz się z maszyną wirtualną myVM01 przy użyciu nazwy użytkownika i hasła użytego podczas tworzenia maszyny wirtualnej.
Otwórz okno programu Windows PowerShell z uprawnieniami administratora.
Uruchom następujące polecenie:
New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
Powtórz dla maszyny wirtualnej myVM02.
Wysyłanie polecenia ping do maszyn wirtualnych według nazwy
W wierszu polecenia programu Windows PowerShell maszyny wirtualnej myVM02 wyślij polecenie ping do maszyny wirtualnej myVM01 przy użyciu automatycznie zarejestrowanej nazwy hosta:
ping myVM01.private.contoso.com
Powinny zostać wyświetlone dane wyjściowe podobne do pokazanych poniżej:
PS C:\> ping myvm01.private.contoso.com Pinging myvm01.private.contoso.com [10.2.0.4] with 32 bytes of data: Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time=1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Ping statistics for 10.2.0.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms PS C:\>
Teraz wyślij polecenie ping do utworzonej wcześniej nazwy db:
ping db.private.contoso.com
Powinny zostać wyświetlone dane wyjściowe podobne do pokazanych poniżej:
PS C:\> ping db.private.contoso.com Pinging db.private.contoso.com [10.2.0.4] with 32 bytes of data: Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Ping statistics for 10.2.0.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milliseconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms PS C:\>
Czyszczenie zasobów
Gdy grupa zasobów MyAzureResourceGroup nie będzie już potrzebna, usuń zasoby utworzone w tym artykule.
Remove-AzResourceGroup -Name MyAzureResourceGroup