Snabbstart: Skapa en Private Link-tjänst med Azure PowerShell
Kom igång med att skapa en Private Link-tjänst som refererar till din tjänst. Ge Private Link åtkomst till din tjänst eller resurs som distribuerats bakom en Azure Standard Load Balancer. Användare av din tjänst har privat åtkomst från sitt virtuella nätverk.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Azure Cloud Shell eller Azure PowerShell.
Stegen i den här snabbstarten kör Azure PowerShell-cmdletarna interaktivt i Azure Cloud Shell. Om du vill köra kommandona i Cloud Shell väljer du Öppna Cloudshell i det övre högra hörnet i ett kodblock. Välj Kopiera för att kopiera koden och klistra sedan in den i Cloud Shell för att köra den. Du kan också köra Cloud Shell från Azure-portalen.
Du kan också installera Azure PowerShell lokalt för att köra cmdletarna. Stegen i den här artikeln kräver Azure PowerShell-modulversion 5.4.1 eller senare. Kör
Get-Module -ListAvailable Az
för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Uppdatera Azure PowerShell-modulen.Om du kör PowerShell lokalt kör du
Connect-AzAccount
för att ansluta till Azure.
Skapa en resursgrupp
En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
Skapa en resursgrupp med New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Skapa en intern lastbalanserare
I det här avsnittet skapar du ett virtuellt nätverk och en intern Azure Load Balancer.
Virtuellt nätverk
I det här avsnittet skapar du ett virtuellt nätverk och undernät som värd för lastbalanseraren som har åtkomst till private link-tjänsten.
- Skapa ett virtuellt nätverk med hjälp av 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
Skapa en standardlastbalanserare
I det här avsnittet beskrivs hur du gör för att skapa och konfigurera följande komponenter i lastbalanseraren:
Skapa en klientdels-IP med New-AzLoadBalancerFrontendIpConfig för klientdels-IP-poolen. Den här IP-adressen tar emot inkommande trafik på lastbalanseraren
Skapa en serverdelsadresspool med New-AzLoadBalancerBackendAddressPoolConfig för trafik som skickas från lastbalanserarens klientdel. I den här poolen distribueras dina virtuella serverdelsdatorer.
Skapa en hälsoavsökning med Add-AzLoadBalancerProbeConfig som avgör hälsotillståndet för serverdels-VM-instanserna.
Skapa en lastbalanseringsregel med Add-AzLoadBalancerRuleConfig som definierar hur trafik distribueras till de virtuella datorerna.
Skapa en offentlig lastbalanserare med 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
Inaktivera nätverksprincip
Innan en privat länktjänst kan skapas i det virtuella nätverket måste inställningen privateLinkServiceNetworkPolicies
inaktiveras.
- Inaktivera nätverksprincipen med 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
Skapa en privat länktjänst
I det här avsnittet skapar du en privat länktjänst som använder Standard Azure Load Balancer som skapades i föregående steg.
Skapa IP-konfigurationen för tjänsten private link med New-AzPrivateLinkServiceIpConfig.
Skapa tjänsten private link med 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
Din privata länktjänst skapas och kan ta emot trafik. Om du vill se trafikflöden konfigurerar du programmet bakom standardlastbalanseraren.
Skapa en privat slutpunkt
I det här avsnittet mappar du den privata länktjänsten till en privat slutpunkt. Ett virtuellt nätverk innehåller den privata slutpunkten för tjänsten private link. Det här virtuella nätverket innehåller de resurser som har åtkomst till din privata länktjänst.
Skapa ett virtuellt nätverk för privat slutpunkt
- Skapa ett virtuellt nätverk med hjälp av 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
Skapa slutpunkt och anslutning
Använd Get-AzPrivateLinkService för att placera konfigurationen av den privata länktjänsten som du skapade tidigt i en variabel för senare användning.
Använd New-AzPrivateLinkService Anslut ion för att skapa anslutningskonfigurationen.
Använd New-AzPrivateEndpoint för att skapa slutpunkten.
## 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
Godkänna den privata slutpunktsanslutningen
I det här avsnittet godkänner du anslutningen som du skapade i föregående steg.
- Använd Approve-AzPrivateEndpoint Anslut ion för att godkänna anslutningen.
## 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-adress för privat slutpunkt
I det här avsnittet hittar du IP-adressen för den privata slutpunkten som motsvarar lastbalanseraren och tjänsten private link.
- Använd Get-AzPrivateEndpoint för att hämta IP-adressen.
## 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
Rensa resurser
När du inte längre behöver det kan du använda kommandot Remove-AzResourceGroup för att ta bort resursgruppen, lastbalanseraren och de återstående resurserna.
Remove-AzResourceGroup -Name 'test-rg'
Nästa steg
I den här snabbstarten kommer du att göra följande:
Skapade ett virtuellt nätverk och en intern Azure Load Balancer.
Skapat en privat länktjänst
Om du vill veta mer om en privat Azure-slutpunkt fortsätter du till: