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.
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.
Aby uzyskać więcej informacji i przykład, zobacz Szybki start: tworzenie aplikacji internetowej ASP.NET Core na platformie Azure.
Przykładowa aplikacja internetowa w tym artykule nosi nazwę webapp-1. Zastąp przykład nazwą swojej aplikacji internetowej.
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
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
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
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.
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
Ustaw konfigurację.
$virtualNetwork | Set-AzVirtualNetwork
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
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:
Utwórz połączenie usługi private link za pomocą polecenia New-AzPrivateLinkServiceConnection.
Utwórz prywatny punkt końcowy za pomocą polecenia New-AzPrivateEndpoint.
Opcjonalnie utwórz konfigurację statycznego adresu IP prywatnego punktu końcowego za pomocą polecenia New-AzPrivateEndpointIpConfiguration.
## 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:
Tworzenie nowej prywatnej strefy DNS platformy Azure przy użyciu polecenia New-AzPrivateDnsZone
Połącz strefę DNS z utworzoną wcześniej siecią wirtualną za pomocą polecenia New-AzPrivateDnsVirtualNetworkLink
Tworzenie konfiguracji strefy DNS przy użyciu polecenia New-AzPrivateDnsZoneConfig
Tworzenie grupy stref DNS za pomocą polecenia New-AzPrivateDnsZoneGroup
## 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:
Tworzenie poświadczeń logowania dla maszyny wirtualnej przy użyciu polecenia Get-Credential
Tworzenie interfejsu sieciowego dla maszyny wirtualnej za pomocą polecenia New-AzNetworkInterface
Tworzenie konfiguracji maszyny wirtualnej za pomocą polecenia New-AzVMConfig, Set-AzVMOperatingSystem, Set-AzVMSourceImage i Add-AzVMNetworkInterface
Tworzenie maszyny wirtualnej za pomocą polecenia New-AzVM
## 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.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne.
Wybierz pozycję vm-1.
Na stronie przeglądu maszyny wirtualnej VM-1 wybierz pozycję Połącz, a następnie wybierz kartę Bastion .
Wybierz pozycję Użyj usługi Bastion.
Wprowadź nazwę użytkownika i hasło użyte podczas tworzenia maszyny wirtualnej.
Wybierz pozycję Połącz.
Po nawiązaniu połączenia otwórz program PowerShell na serwerze.
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.
W połączeniu bastionu z maszyną wirtualną-1 otwórz przeglądarkę internetową.
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:
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: