Schnellstart: Erstellen eines Private Link-Diensts mithilfe von Azure PowerShell
Führen Sie die ersten Schritte zum Erstellen eines Private Link-Diensts für Ihren Dienst aus. Gewähren Sie für Private Link den Zugriff auf Ihren Dienst oder Ihre Ressource hinter Azure Load Balancer Standard. Benutzer Ihres Diensts verfügen über privaten Zugriff aus ihrem virtuellen Netzwerk.
Voraussetzungen
Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
Azure Cloud Shell oder Azure PowerShell.
Die Schritte in dieser Schnellstartanleitung führen die Azure PowerShell Cmdlets interaktiv in Azure Cloud Shell aus. Um die Befehle in der Cloud Shell auszuführen, wählen Sie in der oberen rechten Ecke eines Codeblocks Cloud Shell öffnen aus. Wählen Sie Kopieren aus, um den Code zu kopieren und fügen Sie ihn in Cloud Shell ein, um ihn auszuführen. Sie können Azure Cloud Shell innerhalb des Azure-Portals starten.
Sie können Azure PowerShell auch lokal installieren, um die Cmdlets auszuführen. Für die Beispiele in diesem Artikel muss Version 5.4.1 oder höher des Azure PowerShell-Moduls verwendet werden. Führen Sie
Get-Module -ListAvailable Az
aus, um die installierte Version zu ermitteln. Sollte ein Upgrade erforderlich sein, lesen Sie Aktualisieren des Azure PowerShell-Moduls.Wenn Sie PowerShell lokal ausführen, führen sie
Connect-AzAccount
aus, um eine Verbindung zu Azure herzustellen.
Erstellen einer Ressourcengruppe
Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.
Erstellen Sie mit New-AzResourceGroup eine Ressourcengruppe:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Erstellen eines internen Load Balancers
In diesem Abschnitt erstellen Sie ein virtuelles Netzwerk und eine interne Azure Load Balancer-Instanz.
Virtuelles Netzwerk
In diesem Abschnitt erstellen Sie ein virtuelles Netzwerk und das Subnetz zum Hosten des Lastenausgleichs, der auf Ihren Private Link-Dienst zugreift.
- Erstellen Sie mit New-AzVirtualNetwork ein virtuelles Netzwerk.
## 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
Erstellen eines Standard-Lastenausgleichs
In diesem Abschnitt erfahren Sie, wie Sie die folgenden Komponenten des Lastenausgleichs erstellen und konfigurieren:
Erstellen Sie mit New-AzLoadBalancerFrontendIpConfig eine Front-End-IP-Adresse für den Front-End-IP-Pool. An dieser IP-Adresse wird der eingehende Datenverkehr für den Lastenausgleich empfangen.
Erstellen Sie mit New-AzLoadBalancerBackendAddressPoolConfig einen Back-End-Adresspool für Datenverkehr, der vom Front-End des Lastenausgleichs gesendet wird. In diesem Pool werden Ihre virtuellen Back-End-Computer bereitgestellt.
Erstellen Sie mit Add-AzLoadBalancerProbeConfig einen Integritätstest, der die Integrität der Back-End-VM-Instanzen ermittelt.
Erstellen Sie mit Add-AzLoadBalancerRuleConfig eine Lastenausgleichsregel, die die Verteilung von Datenverkehr an die virtuellen Computer definiert.
Erstellen Sie mit New-AzLoadBalancer einen öffentlichen Lastenausgleich.
## 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
Deaktivieren von Netzwerkrichtlinien
Bevor ein Private Link-Dienst im virtuellen Netzwerk erstellt werden kann, muss die Einstellung privateLinkServiceNetworkPolicies
deaktiviert werden.
- Deaktivieren Sie die Netzwerkrichtlinie mit 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
Erstellen eines Private Link-Diensts
In diesem Abschnitt erstellen Sie eine Instanz des Private Link-Diensts, für die der im vorherigen Schritt erstellte Azure Load Balancer Standard verwendet wird.
Erstellen Sie die IP-Konfiguration für den Private Link-Dienst mit New-AzPrivateLinkServiceIpConfig.
Erstellen Sie den Private Link-Dienst mit 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
Ihr Private Link-Dienst wird erstellt und kann Datenverkehr empfangen. Konfigurieren Sie Ihre Anwendung hinter Ihrer Instanz von Load Balancer Standard, falls Sie den Datenverkehrsfluss anzeigen möchten.
Erstellen eines privaten Endpunkts
In diesem Abschnitt ordnen Sie den Private Link-Dienst einem privaten Endpunkt zu. Ein virtuelles Netzwerk enthält den privaten Endpunkt für den Private Link-Dienst. In diesem virtuellen Netzwerk sind die Ressourcen enthalten, die auf Ihren Private Link-Dienst zugreifen.
Erstellen eines virtuellen Netzwerks des privaten Endpunkts
- Erstellen Sie mit New-AzVirtualNetwork ein virtuelles Netzwerk.
## 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
Erstellen eines Endpunkts und einer Verbindung
Verwenden Sie Get-AzPrivateLinkService, um die Konfiguration des zuvor erstellten Private Link-Diensts zur späteren Verwendung in einer Variablen anzuordnen.
Verwenden Sie New-AzPrivateLinkServiceConnection zum Erstellen der Verbindungskonfiguration.
Verwenden Sie New-AzPrivateEndpoint zum Erstellen des Endpunkts.
## 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
Genehmigen der Verbindung mit einem privaten Endpunkt
In diesem Abschnitt genehmigen Sie die Verbindung, die Sie in den vorherigen Schritten erstellt haben.
- Verwenden Sie Approve-AzPrivateEndpointConnection, um die Verbindung zu genehmigen.
## 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
IP-Adresse des privaten Endpunkts
In diesem Abschnitt finden Sie die IP-Adresse des privaten Endpunkts, die zum Lastenausgleich und Private Link-Dienst gehört.
- Verwenden Sie Get-AzPrivateEndpoint, um die IP-Adresse abzurufen.
## 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
Bereinigen von Ressourcen
Wenn Sie die Ressourcen nicht mehr benötigen, führen Sie den Befehl Remove-AzResourceGroup aus, um die Ressourcengruppe, den Lastenausgleich und alle übrigen Ressourcen zu löschen.
Remove-AzResourceGroup -Name 'test-rg'
Nächste Schritte
In dieser Schnellstartanleitung haben Sie Folgendes durchgeführt:
Erstellen eines virtuellen Netzwerks und einer internen Azure Load Balancer-Instanz
Erstellen eines Private Link-Diensts
Weitere Informationen zu privaten Azure-Endpunkten finden Sie unter: