Szybki start: tworzenie prywatnego punktu końcowego przy użyciu programu Azure PowerShell

Rozpocznij pracę z usługą Azure Private Link, tworząc prywatny punkt końcowy i używając go do bezpiecznego łączenia się z aplikacją internetową usług aplikacja systemu Azure Services.

W tym przewodniku Szybki start utwórz prywatny punkt końcowy dla aplikacji internetowej usługi aplikacja systemu Azure Services, a następnie utwórz i wdróż maszynę wirtualną w celu przetestowania połączenia prywatnego.

Prywatne punkty końcowe można tworzyć dla różnych usług platformy Azure, takich jak Azure SQL i Azure Storage.

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

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto.

  • Aplikacja internetowa platformy Azure z planem usługi App Service w warstwie PremiumV2 lub wyższym wdrożona w ramach subskrypcji platformy Azure.

  • Azure Cloud Shell lub Azure PowerShell.

    Kroki opisane w tym przewodniku Szybki start uruchamiają interaktywne polecenia cmdlet programu Azure PowerShell w usłudze Azure Cloud Shell. Aby uruchomić polecenia w usłudze Cloud Shell, wybierz pozycję Otwórz program CloudShell w prawym górnym rogu bloku kodu. Wybierz pozycję Kopiuj , aby skopiować kod, a następnie wklej go w usłudze Cloud Shell, aby go uruchomić. Możesz również uruchomić usługę Cloud Shell z poziomu witryny Azure Portal.

    Możesz również zainstalować program Azure PowerShell lokalnie , aby uruchomić polecenia cmdlet. Kroki opisane w tym artykule wymagają modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az , aby znaleźć zainstalowaną wersję. Jeśli chcesz uaktualnić, zobacz Aktualizowanie modułu programu Azure PowerShell.

    Jeśli uruchomisz program PowerShell lokalnie, uruchom polecenie Connect-AzAccount , aby nawiązać połączenie z platformą Azure.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener, w którym zasoby platformy Azure są wdrażane i zarządzane.

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup:

$rg = @{
    Name = 'test-rg'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

Tworzenie sieci wirtualnej

  1. Użyj polecenia New-AzVirtualNetwork, aby utworzyć sieć wirtualną o nazwie vnet-1 z prefiksem adresu IP 10.0.0.0/16 w grupie zasobów test-rg i lokalizacji eastus2.

    $vnet = @{
        Name = 'vnet-1'
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        AddressPrefix = '10.0.0.0/16'
    }
    $virtualNetwork = New-AzVirtualNetwork @vnet
    
  2. Platforma Azure wdraża zasoby w podsieci w sieci wirtualnej. Użyj polecenia Add-AzVirtualNetworkSubnetConfig, aby utworzyć konfigurację podsieci o nazwie subnet-1 z prefiksem adresu 10.0.0.0/24.

    $subnet = @{
        Name = 'subnet-1'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.0.0/24'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  3. Następnie skojarz konfigurację podsieci z siecią wirtualną z poleceniem Set-AzVirtualNetwork.

    $virtualNetwork | Set-AzVirtualNetwork
    

Wdrażanie usługi Azure Bastion

Usługa Azure Bastion używa przeglądarki do łączenia się z maszynami wirtualnymi w sieci wirtualnej za pośrednictwem protokołu SSH (Secure Shell) lub protokołu RDP (Remote Desktop Protocol) przy użyciu ich prywatnych adresów IP. Maszyny wirtualne nie potrzebują publicznych adresów IP, oprogramowania klienckiego ani specjalnej konfiguracji. Aby uzyskać więcej informacji na temat usługi Azure Bastion, zobacz Azure Bastion.

Uwaga

Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.

  1. Skonfiguruj podsieć usługi Azure Bastion dla sieci wirtualnej. Ta podsieć jest zarezerwowana wyłącznie dla zasobów usługi Azure Bastion i musi mieć nazwę AzureBastionSubnet.

    $subnet = @{
        Name = 'AzureBastionSubnet'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.1.0/26'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  2. Ustaw konfigurację.

    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Utwórz publiczny adres IP dla usługi Azure Bastion. Host bastionu używa publicznego adresu IP do uzyskiwania dostępu do protokołu Secure Shell (SSH) i protokołu RDP (Remote Desktop Protocol) za pośrednictwem portu 443.

    $ip = @{
            ResourceGroupName = 'test-rg'
            Name = 'public-ip'
            Location = 'eastus2'
            AllocationMethod = 'Static'
            Sku = 'Standard'
            Zone = 1,2,3
    }
    New-AzPublicIpAddress @ip
    
  4. Użyj polecenia New-AzBastion, aby utworzyć nowy host usługi Azure Bastion jednostki SKU w warstwie Standardowa w podsieci AzureBastionSubnet.

    $bastion = @{
        Name = 'bastion'
        ResourceGroupName = 'test-rg'
        PublicIpAddressRgName = 'test-rg'
        PublicIpAddressName = 'public-ip'
        VirtualNetworkRgName = 'test-rg'
        VirtualNetworkName = 'vnet-1'
        Sku = 'Basic'
    }
    New-AzBastion @bastion
    

Wdrażanie zasobów usługi Bastion trwa kilka minut.

Tworzenie prywatnego punktu końcowego

Usługa platformy Azure, która obsługuje prywatne punkty końcowe, jest wymagana do skonfigurowania prywatnego punktu końcowego i połączenia z siecią wirtualną. W przykładach w tym artykule używamy aplikacji internetowej usług aplikacja systemu Azure z wymagań wstępnych. Aby uzyskać więcej informacji na temat usług platformy Azure, które obsługują prywatny punkt końcowy, zobacz Dostępność usługi Azure Private Link.

Prywatny punkt końcowy może mieć statyczny lub dynamicznie przypisany adres IP.

Ważne

Aby wykonać kroki opisane w tym artykule, musisz mieć wcześniej wdrożony aplikację internetową usług aplikacja systemu Azure Services. Aby uzyskać więcej informacji, zobacz Wymagania wstępne.

W tej sekcji wykonasz następujące elementy:

## Place the previously created webapp into a variable. ##
$webapp = Get-AzWebApp -ResourceGroupName test-rg -Name webapp-1

## Create the private endpoint connection. ## 
$pec = @{
    Name = 'connection-1'
    PrivateLinkServiceId = $webapp.ID
    GroupID = 'sites'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @pec

## Place the virtual network you created previously into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'

## Create the private endpoint. ##
$pe = @{
    ResourceGroupName = 'test-rg'
    Name = 'private-endpoint'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
    PrivateLinkServiceConnection = $privateEndpointConnection
}
New-AzPrivateEndpoint @pe

Konfigurowanie prywatnej strefy DNS

Prywatna strefa DNS służy do rozpoznawania nazwy DNS prywatnego punktu końcowego w sieci wirtualnej. W tym przykładzie używamy informacji DNS dla aplikacji internetowej usługi aplikacja systemu Azure Services, aby uzyskać więcej informacji na temat konfiguracji DNS prywatnych punktów końcowych, zobacz Konfiguracja dns prywatnego punktu końcowego platformy Azure.

W tej sekcji wykonasz następujące elementy:

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'

## Create the private DNS zone. ##
$zn = @{
    ResourceGroupName = 'test-rg'
    Name = 'privatelink.azurewebsites.net'
}
$zone = New-AzPrivateDnsZone @zn

## Create a DNS network link. ##
$lk = @{
    ResourceGroupName = 'test-rg'
    ZoneName = 'privatelink.azurewebsites.net'
    Name = 'dns-link'
    VirtualNetworkId = $vnet.Id
}
$link = New-AzPrivateDnsVirtualNetworkLink @lk

## Configure the DNS zone. ##
$cg = @{
    Name = 'privatelink.azurewebsites.net'
    PrivateDnsZoneId = $zone.ResourceId
}
$config = New-AzPrivateDnsZoneConfig @cg

## Create the DNS zone group. ##
$zg = @{
    ResourceGroupName = 'test-rg'
    PrivateEndpointName = 'private-endpoint'
    Name = 'zone-group'
    PrivateDnsZoneConfig = $config
}
New-AzPrivateDnsZoneGroup @zg

Tworzenie testowej maszyny wirtualnej

Aby sprawdzić statyczny adres IP i funkcjonalność prywatnego punktu końcowego, wymagana jest testowa maszyna wirtualna połączona z siecią wirtualną.

W tej sekcji wykonasz następujące elementy:

## Create the credential for the virtual machine. Enter a username and password at the prompt. ##
$cred = Get-Credential

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name vnet-1 -ResourceGroupName test-rg

## Create a network interface for the virtual machine. ##
$nic = @{
    Name = 'nic-1'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic

## Create the configuration for the virtual machine. ##
$vm1 = @{
    VMName = 'vm-1'
    VMSize = 'Standard_DS1_v2'
}
$vm2 = @{
    ComputerName = 'vm-1'
    Credential = $cred
}
$vm3 = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2022-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vm1 | Set-AzVMOperatingSystem -Windows @vm2 | Set-AzVMSourceImage @vm3 | Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine. ##
New-AzVM -ResourceGroupName 'test-rg' -Location 'eastus2' -VM $vmConfig

Uwaga

Maszyny wirtualne w sieci wirtualnej z hostem bastionu nie wymagają publicznych adresów IP. Usługa Bastion udostępnia publiczny adres IP, a maszyny wirtualne używają prywatnych adresów IP do komunikacji w sieci. Publiczne adresy IP można usunąć ze wszystkich maszyn wirtualnych w sieciach wirtualnych hostowanych w bastionie. Aby uzyskać więcej informacji, zobacz Usuwanie skojarzenia publicznego adresu IP z maszyny wirtualnej platformy Azure.

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.

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

Użyj utworzonej wcześniej maszyny wirtualnej, aby nawiązać połączenie z aplikacją internetową w prywatnym punkcie końcowym.

  1. W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne.

  2. Wybierz pozycję vm-1.

  3. Na stronie przeglądu maszyny wirtualnej vm-1 wybierz pozycję Połączenie, a następnie wybierz kartę Bastion.

  4. Wybierz pozycję Użyj usługi Bastion.

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

  6. Wybierz pozycję Połącz.

  7. Po nawiązaniu połączenia otwórz program PowerShell na serwerze.

  8. Wprowadź nslookup webapp-1.azurewebsites.net. Zostanie wyświetlony komunikat podobny do następującego przykładu:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    webapp-1.privatelink.azurewebsites.net
    Address:  10.0.0.10
    Aliases:  webapp-1.azurewebsites.net
    

    Prywatny adres IP 10.0.0.10 jest zwracany dla nazwy aplikacji internetowej, jeśli w poprzednich krokach wybrano statyczny adres IP. Ten adres znajduje się w podsieci utworzonej wcześniej sieci wirtualnej.

  9. W połączeniu bastionu z maszyną wirtualną-1 otwórz przeglądarkę internetową.

  10. Wprowadź adres URL aplikacji internetowej. https://webapp-1.azurewebsites.net

    Jeśli aplikacja internetowa nie została wdrożona, zostanie wyświetlona następująca domyślna strona aplikacji internetowej:

    Zrzut ekranu przedstawiający domyślną stronę aplikacji internetowej w przeglądarce.

Czyszczenie zasobów

Gdy grupa zasobów, sieć wirtualna i pozostałe zasoby nie będą już potrzebne, możesz użyć polecenia Remove-AzResourceGroup .

Remove-AzResourceGroup -Name 'test-rg'

Następne kroki

Aby uzyskać więcej informacji na temat usług obsługujących prywatne punkty końcowe, zobacz: