Szybki start: tworzenie usługi Private Link przy użyciu programu Azure PowerShell
Rozpocznij tworzenie usługi Private Link, która odwołuje się do twojej usługi. Przyznaj usłudze Private Link dostęp do usługi lub zasobu wdrożonego za usługą Azure usługa Load Balancer w warstwie Standardowa. Użytkownicy usługi mają dostęp prywatny z sieci wirtualnej.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
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 przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.
Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Utwórz wewnętrzny moduł równoważenia obciążenia.
W tej sekcji utworzysz sieć wirtualną i wewnętrzną usługę Azure Load Balancer.
Sieć wirtualna
W tej sekcji utworzysz sieć wirtualną i podsieć do hostowania modułu równoważenia obciążenia, który uzyskuje dostęp do usługi Private Link.
- Utwórz sieć wirtualną przy użyciu polecenia New-AzVirtualNetwork.
## Create backend subnet config ##
$subnet = @{
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
Subnet = $subnetConfig
}
$vnet = New-AzVirtualNetwork @net
Tworzenie modułu równoważenia obciążenia w warstwie Standardowa
W tej sekcji opisano szczegółowo procedurę tworzenia i konfigurowania następujących składników modułu równoważenia obciążenia:
Utwórz adres IP frontonu za pomocą polecenia New-AzLoadBalancerFrontendIpConfig dla puli adresów IP frontonu. Ten adres IP odbiera ruch przychodzący w module równoważenia obciążenia
Utwórz pulę adresów zaplecza za pomocą polecenia New-AzLoadBalancerBackendAddressPoolConfig dla ruchu wysyłanego z frontonu modułu równoważenia obciążenia. W tej puli są wdrażane maszyny wirtualne zaplecza.
Utwórz sondę kondycji za pomocą polecenia Add-AzLoadBalancerProbeConfig , która określa kondycję wystąpień maszyn wirtualnych zaplecza.
Utwórz regułę modułu równoważenia obciążenia za pomocą polecenia Add-AzLoadBalancerRuleConfig , która definiuje sposób dystrybucji ruchu do maszyn wirtualnych.
Utwórz publiczny moduł równoważenia obciążenia za pomocą polecenia New-AzLoadBalancer.
## Place virtual network created in previous step into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
## Create load balancer frontend configuration and place in variable. ##
$lbip = @{
Name = 'frontend'
PrivateIpAddress = '10.0.0.4'
SubnetId = $vnet.subnets[0].Id
}
$feip = New-AzLoadBalancerFrontendIpConfig @lbip
## Create backend address pool configuration and place in variable. ##
$bepool = New-AzLoadBalancerBackendAddressPoolConfig -Name 'backend-pool'
## Create the health probe and place in variable. ##
$probe = @{
Name = 'health-probe'
Protocol = 'http'
Port = '80'
IntervalInSeconds = '360'
ProbeCount = '5'
RequestPath = '/'
}
$healthprobe = New-AzLoadBalancerProbeConfig @probe
## Create the load balancer rule and place in variable. ##
$lbrule = @{
Name = 'http-rule'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
IdleTimeoutInMinutes = '15'
FrontendIpConfiguration = $feip
BackendAddressPool = $bePool
}
$rule = New-AzLoadBalancerRuleConfig @lbrule -EnableTcpReset
## Create the load balancer resource. ##
$loadbalancer = @{
ResourceGroupName = 'test-rg'
Name = 'load-balancer'
Location = 'eastus2'
Sku = 'Standard'
FrontendIpConfiguration = $feip
BackendAddressPool = $bePool
LoadBalancingRule = $rule
Probe = $healthprobe
}
New-AzLoadBalancer @loadbalancer
Wyłączanie zasad sieciowych
Aby można było utworzyć usługę łącza prywatnego w sieci wirtualnej, ustawienie privateLinkServiceNetworkPolicies
musi być wyłączone.
- Wyłącz zasady sieciowe za pomocą polecenia Set-AzVirtualNetwork.
## Place the subnet name into a variable. ##
$subnet = 'subnet-1'
## Place the virtual network configuration into a variable. ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Set the policy as disabled on the virtual network. ##
($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq $subnet}).privateLinkServiceNetworkPolicies = "Disabled"
## Save the configuration changes to the virtual network. ##
$vnet | Set-AzVirtualNetwork
Tworzenie usługi łącza prywatnego
W tej sekcji utwórz usługę łącza prywatnego, która używa usługi Azure Load Balancer w warstwie Standardowa utworzonej w poprzednim kroku.
Utwórz konfigurację adresu IP usługi łącza prywatnego za pomocą polecenia New-AzPrivateLinkServiceIpConfig.
Utwórz usługę łącza prywatnego za pomocą polecenia New-AzPrivateLinkService.
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
## Create the IP configuration for the private link service. ##
$ipsettings = @{
Name = 'ipconfig-1'
PrivateIpAddress = '10.0.0.5'
Subnet = $vnet.subnets[0]
}
$ipconfig = New-AzPrivateLinkServiceIpConfig @ipsettings
## Place the load balancer frontend configuration into a variable. ##
$par = @{
Name = 'load-balancer'
ResourceGroupName = 'test-rg'
}
$fe = Get-AzLoadBalancer @par | Get-AzLoadBalancerFrontendIpConfig
## Create the private link service for the load balancer. ##
$privlinksettings = @{
Name = 'private-link-service'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
LoadBalancerFrontendIpConfiguration = $fe
IpConfiguration = $ipconfig
}
New-AzPrivateLinkService @privlinksettings
Usługa łącza prywatnego jest tworzona i może odbierać ruch. Jeśli chcesz zobaczyć przepływy ruchu, skonfiguruj aplikację za standardowym modułem równoważenia obciążenia.
Tworzenie prywatnego punktu końcowego
W tej sekcji zamapujesz usługę łącza prywatnego na prywatny punkt końcowy. Sieć wirtualna zawiera prywatny punkt końcowy dla usługi łącza prywatnego. Ta sieć wirtualna zawiera zasoby, które uzyskują dostęp do usługi łącza prywatnego.
Tworzenie sieci wirtualnej prywatnego punktu końcowego
- Utwórz sieć wirtualną przy użyciu polecenia New-AzVirtualNetwork.
## Create backend subnet config ##
$subnet = @{
Name = 'subnet-pe'
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$net = @{
Name = 'vnet-pe'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.1.0.0/16'
Subnet = $subnetConfig
}
$vnetpe = New-AzVirtualNetwork @net
Tworzenie punktu końcowego i połączenia
Użyj polecenia Get-AzPrivateLinkService , aby umieścić konfigurację usługi łącza prywatnego utworzonej na początku w zmiennej do późniejszego użycia.
Użyj polecenia New-AzPrivateLinkService Połączenie ion, aby utworzyć konfigurację połączenia.
Użyj polecenia New-AzPrivateEndpoint , aby utworzyć punkt końcowy.
## Place the private link service configuration into variable. ##
$par1 = @{
Name = 'private-link-service'
ResourceGroupName = 'test-rg'
}
$pls = Get-AzPrivateLinkService @par1
## Create the private link configuration and place in variable. ##
$par2 = @{
Name = 'connection-1'
PrivateLinkServiceId = $pls.Id
}
$plsConnection = New-AzPrivateLinkServiceConnection @par2
## Place the virtual network into a variable. ##
$par3 = @{
Name = 'vnet-pe'
ResourceGroupName = 'test-rg'
}
$vnetpe = Get-AzVirtualNetwork @par3
## Create private endpoint ##
$par4 = @{
Name = 'private-endpoint'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnetpe.subnets[0]
PrivateLinkServiceConnection = $plsConnection
}
New-AzPrivateEndpoint @par4 -ByManualRequest
Zatwierdzanie połączenia prywatnego punktu końcowego
W tej sekcji zatwierdzisz połączenie utworzone w poprzednich krokach.
- Użyj polecenia Approve-AzPrivateEndpoint Połączenie ion, aby zatwierdzić połączenie.
## Place the private link service configuration into variable. ##
$par1 = @{
Name = 'private-link-service'
ResourceGroupName = 'test-rg'
}
$pls = Get-AzPrivateLinkService @par1
$par2 = @{
Name = $pls.PrivateEndpointConnections[0].Name
ServiceName = 'private-link-service'
ResourceGroupName = 'test-rg'
Description = 'Approved'
PrivateLinkResourceType = 'Microsoft.Network/privateLinkServices'
}
Approve-AzPrivateEndpointConnection @par2
Adres IP prywatnego punktu końcowego
W tej sekcji znajdziesz adres IP prywatnego punktu końcowego, który odpowiada usłudze równoważenia obciążenia i usługi łącza prywatnego.
- Użyj polecenia Get-AzPrivateEndpoint , aby pobrać adres IP.
## Get private endpoint and the IP address and place in a variable for display. ##
$par1 = @{
Name = 'private-endpoint'
ResourceGroupName = 'test-rg'
ExpandResource = 'networkinterfaces'
}
$pe = Get-AzPrivateEndpoint @par1
## Display the IP address by expanding the variable. ##
$pe.NetworkInterfaces[0].IpConfigurations[0].PrivateIpAddress
❯ $pe.NetworkInterfaces[0].IpConfigurations[0].PrivateIpAddress
10.1.0.4
Czyszczenie zasobów
Gdy grupa zasobów, moduł równoważenia obciążenia i pozostałe zasoby nie będą już potrzebne, możesz użyć polecenia Remove-AzResourceGroup .
Remove-AzResourceGroup -Name 'test-rg'
Następne kroki
W ramach tego przewodnika Szybki start wykonasz następujące czynności:
Utworzono sieć wirtualną i wewnętrzną usługę Azure Load Balancer.
Utworzono usługę łącza prywatnego
Aby dowiedzieć się więcej na temat prywatnego punktu końcowego platformy Azure, przejdź do: