Rychlý start: Vytvoření služby Private Link pomocí Azure PowerShell
Začněte vytvářet službu Private Link, která odkazuje na vaši službu. Udělte Private Link přístup ke službě nebo prostředku nasazeným za Standard Load Balancer Azure. Uživatelé vaší služby mají privátní přístup ze své virtuální sítě.
Požadavky
Účet Azure s aktivním předplatným. Vytvořte si zdarma účet.
Azure Cloud Shell nebo Azure PowerShell.
Kroky v tomto rychlém startu spouští rutiny Azure PowerShell interaktivně v Azure Cloud Shell. Pokud chcete spustit příkazy v Cloud Shell, vyberte Otevřít CloudShell v pravém horním rohu bloku kódu. Výběrem kopírovat zkopírujte kód a vložte ho do Cloud Shell, aby se spustil. Cloud Shell můžete také spustit v rámci Azure Portal.
Rutiny můžete také nainstalovat místně a nainstalovat Azure PowerShell. Kroky v tomto článku vyžadují Azure PowerShell modul verze 5.4.1 nebo novější. Spuštěním příkazu
Get-Module -ListAvailable Az
vyhledejte nainstalovanou verzi. Pokud potřebujete upgradovat, přečtěte si téma Aktualizace modulu Azure PowerShell.Pokud používáte PowerShell místně, spusťte příkaz
Connect-AzAccount
pro připojení k Azure.
Vytvoření skupiny prostředků
Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.
Vytvořte skupinu prostředků pomocí rutiny New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Vytvořte interní nástroj pro vyrovnávání zatížení.
V této části vytvoříte virtuální síť a interní Azure Load Balancer.
Virtuální síť
V této části vytvoříte virtuální síť a podsíť pro hostování nástroje pro vyrovnávání zatížení, který přistupuje ke službě Private Link.
- Vytvořte virtuální síť pomocí rutiny 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
Vytvoření nástroje pro vyrovnávání zatížení úrovně Standard
Tato část podrobně popisuje vytvoření a konfiguraci následujících komponent nástroje pro vyrovnávání zatížení:
Vytvořte front-endovou IP adresu pomocí rutiny New-AzLoadBalancerFrontendIpConfig pro front-endový fond IP adres. Tato IP adresa přijímá příchozí provoz v nástroji pro vyrovnávání zatížení.
Vytvořte back-endový fond adres pomocí rutiny New-AzLoadBalancerBackendAddressPoolConfig pro provoz odesílaný z front-endu nástroje pro vyrovnávání zatížení. V tomto fondu se nasazují vaše back-endové virtuální počítače.
Vytvořte sondu stavu pomocí rutiny Add-AzLoadBalancerProbeConfig , která určuje stav instancí back-endových virtuálních počítačů.
Pomocí rutiny Add-AzLoadBalancerRuleConfig vytvořte pravidlo nástroje pro vyrovnávání zatížení, které definuje způsob distribuce provozu do virtuálních počítačů.
Vytvořte veřejný nástroj pro vyrovnávání zatížení pomocí rutiny 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
Zakázat zásady sítě
Před vytvořením služby Private Link ve virtuální síti musí být nastavení privateLinkServiceNetworkPolicies
zakázané.
- Pomocí rutiny Set-AzVirtualNetwork zakažte zásady sítě.
## 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
Vytvoření služby privátního propojení
V této části vytvořte službu privátního propojení, která používá standardní Azure Load Balancer vytvořenou v předchozím kroku.
Vytvořte konfiguraci IP adresy služby private link pomocí rutiny New-AzPrivateLinkServiceIpConfig.
Vytvořte službu privátního propojení pomocí rutiny 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
Vaše služba private link se vytvoří a může přijímat provoz. Pokud chcete zobrazit toky provozu, nakonfigurujte aplikaci za standardním nástrojem pro vyrovnávání zatížení.
Vytvoření privátního koncového bodu
V této části namapujete službu privátního propojení na privátní koncový bod. Virtuální síť obsahuje privátní koncový bod služby private link. Tato virtuální síť obsahuje prostředky, které mají přístup ke službě privátního propojení.
Vytvoření virtuální sítě privátního koncového bodu
- Vytvořte virtuální síť pomocí rutiny 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
Vytvoření koncového bodu a připojení
Pomocí rutiny Get-AzPrivateLinkService umístěte konfiguraci služby private link, kterou jste vytvořili, do proměnné pro pozdější použití.
Pomocí rutiny New-AzPrivateLinkServiceConnection vytvořte konfiguraci připojení.
K vytvoření koncového bodu použijte New-AzPrivateEndpoint .
## 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
Schválení připojení privátního koncového bodu
V této části schválíte připojení, které jste vytvořili v předchozích krocích.
- Ke schválení připojení použijte Approve-AzPrivateEndpointConnection .
## 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 adresa privátního koncového bodu
V této části najdete IP adresu privátního koncového bodu, která odpovídá nástroji pro vyrovnávání zatížení a službě privátního propojení.
- K načtení IP adresy použijte Rutinu Get-AzPrivateEndpoint .
## 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
Vyčištění prostředků
Pokud už je nepotřebujete, můžete pomocí příkazu Remove-AzResourceGroup odebrat skupinu prostředků, nástroj pro vyrovnávání zatížení a zbývající prostředky.
Remove-AzResourceGroup -Name 'test-rg'
Další kroky
V tomto rychlém startu:
Vytvořili jste virtuální síť a interní Azure Load Balancer.
Vytvoření služby privátního propojení
Další informace o privátním koncovém bodu Azure najdete tady: