Udostępnij za pośrednictwem


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 Private Link dostęp do swojej usługi lub zasobu chronionego przez Azure Standard Load Balancer. Użytkownicy usługi mają dostęp prywatny z sieci wirtualnej.

Diagram zasobów utworzonych w prywatnym punkcie końcowym Quickstart.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

  • Azure Cloud Shell lub Azure PowerShell.

    Kroki tego krótkiego przewodnika uruchamiają polecenia cmdlet programu Azure PowerShell interaktywnie 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ą 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.

## 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

Utwórz standardowy moduł równoważenia obciążenia

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 serwera 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łącz zasady sieciowe

Aby można było utworzyć usługę łącza prywatnego w sieci wirtualnej, należy wyłączyć ustawienie privateLinkServiceNetworkPolicies.

## 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

W tej sekcji utwórz usługę łącza prywatnego, która używa Standardowego Azure Load Balancer utworzonego w poprzednim kroku.

## 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

Twoja usługa łącza prywatnego została utworzona 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 przypiszesz usługę łącza prywatnego do prywatnego punktu końcowego. Sieć wirtualna zawiera prywatny punkt końcowy dla usługi łącza prywatnego. Ta sieć wirtualna zawiera zasoby, które mają dostęp do usługi łącza prywatnego.

Utwórz prywatny punkt końcowy sieci wirtualnej

## 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

## 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

Zatwierdź połączenie prywatnego punktu końcowego

W tej sekcji zatwierdzisz połączenie utworzone w poprzednich krokach.

## 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.

## 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 szybkiego przewodnika 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: