Szybki Start: Tworzenie prywatnej strefy DNS platformy Azure przy użyciu Azure PowerShellQuickstart: Create an Azure private DNS zone using 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.This article walks you through the steps to create your first private DNS zone and record using Azure PowerShell.

Uwaga

Ten artykuł został zaktualizowany o korzystanie z modułu Azure Az programu PowerShell.This article has been updated to use the Azure Az PowerShell module. Moduł Az programu PowerShell jest zalecanym modułem programu PowerShell na potrzeby interakcji z platformą Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell.To get started with the Az PowerShell module, see Install 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.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Strefa DNS jest używana do hostowania rekordów DNS dla określonej domeny.A DNS zone is used to host the DNS records for a particular domain. Aby rozpocząć hostowanie domeny w usłudze Azure DNS, musisz utworzyć strefę DNS dla tej nazwy domeny.To start hosting your domain in Azure DNS, you need to create a DNS zone for that domain name. Każdy rekord DNS domeny zostanie utworzony w tej strefie DNS.Each DNS record for your domain is then created inside this DNS zone. Aby opublikować prywatną strefę DNS w sieci wirtualnej, należy określić listę sieci wirtualnych, które mogą rozpoznawać rekordy w strefie.To publish a private DNS zone to your virtual network, you specify the list of virtual networks that are allowed to resolve records within the zone. Są one nazywane połączonymi sieciami wirtualnymi.These are called linked virtual networks. Gdy Autorejestracja jest włączona, Azure DNS aktualizuje także rekordy strefy za każdym razem, gdy maszyna wirtualna jest tworzona, zmienia jej adres IP lub został usunięty.When autoregistration is enabled, Azure DNS also updates the zone records whenever a virtual machine is created, changes its' IP address, or is deleted.

Wymagania wstępnePrerequisites

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem Utwórz bezpłatne konto .If you don’t have an Azure subscription, create a free account before you begin.

Jeśli wolisz, możesz ukończyć ten przewodnik Szybki Start przy użyciu interfejsu wiersza polecenia platformy Azure.If you prefer, you can complete this quickstart using Azure CLI.

Używanie usługi Azure Cloud ShellUse Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Aby uruchomić kod z tego artykułu bez konieczności instalowania narzędzi w środowisku lokalnym, można użyć wstępnie zainstalowanych poleceń środowiska Cloud Shell.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Aby uruchomić środowisko Azure Cloud Shell:To start Azure Cloud Shell:

OpcjaOption Przykład/linkExample/Link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.Select Try It in the upper-right corner of a code block. Wybranie pozycji Wypróbuj nie spowoduje automatycznego skopiowania kodu do środowiska Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Przykład funkcji Wypróbuj w środowisku Azure Cloud Shell
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Uruchamianie środowiska Cloud Shell w nowym oknieLaunch Cloud Shell in a new window
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod z tego artykułu w środowisku Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.Start Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu, aby skopiować kod.Select the Copy button on a code block to copy the code.

  3. Wklej kod w sesji Cloud Shell, naciskając klawisze Ctrl+Shift+V w systemach Windows i Linux lub klawisze Cmd+Shift+V w systemie macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Naciśnij klawisz Enter, aby uruchomić kod.Select Enter to run the code.

Tworzenie grupy zasobówCreate the resource group

Najpierw utwórz grupę zasobów, która będzie zawierać strefę DNS:First, create a resource group to contain the DNS zone:

New-AzResourceGroup -name MyAzureResourceGroup -location "eastus"

Tworzenie prywatnej strefy DNSCreate a private DNS zone

Strefa DNS jest tworzona za pomocą polecenia cmdlet New-AzPrivateDnsZone.A DNS zone is created by using the New-AzPrivateDnsZone cmdlet.

Poniższy przykład tworzy sieć wirtualną o nazwie myAzureVNet.The following example creates a virtual network named 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 rejestrację automatyczną.Then it creates a DNS zone named private.contoso.com in the MyAzureResourceGroup resource group, links the DNS zone to the MyAzureVnet virtual network, and enables automatic registration.

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 do rozpoznawania nazw (bez automatycznej rejestracji nazwy hosta), możesz pominąć -EnableRegistration parametr.If you want to create a zone just for name resolution (no automatic hostname registration), you can omit the -EnableRegistration parameter.

Wyświetlanie listy stref prywatnych DNSList DNS private zones

Pomijając nazwę strefy w elemencie Get-AzPrivateDnsZone, można wyliczyć wszystkie strefy w grupie zasobów.By omitting the zone name from Get-AzPrivateDnsZone, you can enumerate all zones in a resource group. Ta operacja zwraca tablicę obiektów stref.This operation returns an array of zone objects.

$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.By omitting both the zone name and the resource group name from Get-AzPrivateDnsZone, you can enumerate all zones in the Azure subscription.

$zones = Get-AzPrivateDnsZone
$zones

Tworzenie testowych maszyn wirtualnychCreate the test virtual machines

Teraz utworzysz dwie maszyny wirtualne, aby umożliwić przetestowanie strefy prywatnej DNS:Now, create two virtual machines so you can test your private DNS zone:

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

Ukończenie tej operacji potrwa kilka minut.This will take a few minutes to complete.

Tworzenie dodatkowego rekordu DNSCreate an additional DNS record

Zestawy rekordów są tworzone za pomocą polecenia cmdlet New-AzPrivateDnsRecordSet.You create record sets by using the New-AzPrivateDnsRecordSet cmdlet. Poniższy przykład tworzy rekord z względną nazwą bazy danych w strefie DNS Private.contoso.comw grupie zasobów MyAzureResourceGroup.The following example creates a record with the relative name db in the DNS Zone private.contoso.com, in resource group MyAzureResourceGroup. W pełni kwalifikowana nazwa zestawu rekordów to DB.private.contoso.com.The fully qualified name of the record set is db.private.contoso.com. Typ rekordu to „A” z adresem IP „10.2.0.4”, a czas wygaśnięcia wynosi 3600 sekund.The record type is "A", with IP address "10.2.0.4", and the TTL is 3600 seconds.

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 DNSView DNS records

Aby wyświetlić listę rekordów DNS w strefie, uruchom polecenie:To list the DNS records in your zone, run:

Get-AzPrivateDnsRecordSet -ZoneName private.contoso.com -ResourceGroupName MyAzureResourceGroup

Testowanie strefy prywatnejTest the private zone

Teraz można testować rozpoznawanie nazw dla strefy prywatnej Private.contoso.com .Now you can test the name resolution for your private.contoso.com private zone.

Konfigurowanie maszyn wirtualnych w celu zezwolenia na ruch przychodzący protokołu ICMPConfigure VMs to allow inbound ICMP

Do przetestowania rozpoznawania nazw możesz użyć polecenia ping.You can use the ping command to test name resolution. W tym celu skonfiguruj zaporę na obydwu maszynach wirtualnych, aby zezwolić na przychodzące pakiety protokołu ICMP.So, configure the firewall on both virtual machines to allow inbound ICMP packets.

  1. Połącz się z maszyną wirtualną myVM01 i otwórz okno programu Windows PowerShell, używając uprawnień administratora.Connect to myVM01, and open a Windows PowerShell window with administrator privileges.

  2. Uruchom następujące polecenie:Run the following command:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    

Powtórz dla maszyny wirtualnej myVM02.Repeat for myVM02.

Wysyłanie polecenia ping do maszyn wirtualnych według nazwyPing the VMs by name

  1. W wierszu polecenia programu Windows PowerShell maszyny wirtualnej myVM02 wyślij polecenie ping do maszyny wirtualnej myVM01 przy użyciu automatycznie zarejestrowanej nazwy hosta:From the myVM02 Windows PowerShell command prompt, ping myVM01 using the automatically registered host name:

    ping myVM01.private.contoso.com
    

    Wyświetlone dane wyjściowe powinny wyglądać mniej więcej tak:You should see output that looks similar to this:

    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:\>
    
  2. Teraz wyślij polecenie ping do utworzonej wcześniej nazwy db:Now ping the db name you created previously:

    ping db.private.contoso.com
    

    Wyświetlone dane wyjściowe powinny wyglądać mniej więcej tak:You should see output that looks similar to this:

    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ówClean up resources

Gdy nie jest już potrzebne, Usuń grupę zasobów MyAzureResourceGroup , aby usunąć zasoby utworzone w tym artykule.When no longer needed, delete the MyAzureResourceGroup resource group to delete the resources created in this article.

Remove-AzResourceGroup -Name MyAzureResourceGroup

Następne krokiNext steps