Rövid útmutató: Private Link szolgáltatás létrehozása a Azure PowerShell használatával
Ismerkedés a szolgáltatásra hivatkozó Private Link szolgáltatás létrehozásával. Adjon Private Link hozzáférést az Azure-standard Load Balancer mögött üzembe helyezett szolgáltatáshoz vagy erőforráshoz. A szolgáltatás felhasználói privát hozzáféréssel rendelkeznek a virtuális hálózatukról.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Hozzon létre ingyenes fiókot.
Azure Cloud Shell vagy Azure PowerShell.
A rövid útmutató lépései interaktív módon futtatják a Azure PowerShell parancsmagokat az Azure Cloud Shell-ban. A parancsok Cloud Shell való futtatásához válassza a Kódblokk jobb felső sarkában található Open CloudShell (CloudShell megnyitása) lehetőséget. Kattintson a Másolás gombra a kód másolásához, majd illessze be a Cloud Shell a futtatásához. A Cloud Shell a Azure Portal belülről is futtathatja.
A parancsmagok futtatásához helyileg is telepítheti Azure PowerShell. A cikkben ismertetett lépésekhez Azure PowerShell modul 5.4.1-es vagy újabb verziójára van szükség. Futtassa a parancsot
Get-Module -ListAvailable Az
a telepített verzió megkereséséhez. Ha frissítenie kell, olvassa el a Azure PowerShell modul frissítése című témakört.Ha helyileg futtatja a PowerShellt, futtassa a parancsot
Connect-AzAccount
az Azure-hoz való csatlakozáshoz.
Erőforráscsoport létrehozása
Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.
Hozzon létre egy erőforráscsoportot a New-AzResourceGroup paranccsal:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Hozzon létre egy belső terheléselosztót
Ebben a szakaszban egy virtuális hálózatot és egy belső Azure Load Balancer hoz létre.
Virtuális hálózat
Ebben a szakaszban létrehoz egy virtuális hálózatot és alhálózatot a Private Link szolgáltatáshoz hozzáférő terheléselosztó üzemeltetéséhez.
- Hozzon létre egy virtuális hálózatot a New-AzVirtualNetwork használatával.
## 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
Standard terheléselosztó létrehozása
Ez a szakasz részletesen ismerteti a terheléselosztó következő összetevőinek létrehozását és konfigurálását:
Hozzon létre egy előtérbeli IP-címet a New-AzLoadBalancerFrontendIpConfig paranccsal az előtérbeli IP-készlethez. Ez az IP fogadja a bejövő forgalmat a terheléselosztón
Hozzon létre egy háttércímkészletet a New-AzLoadBalancerBackendAddressPoolConfig paranccsal a terheléselosztó előtéréről küldött forgalomhoz. Ebben a készletben helyezi üzembe a háttérbeli virtuális gépeket.
Hozzon létre egy állapotmintát az Add-AzLoadBalancerProbeConfig paranccsal , amely meghatározza a háttérbeli virtuálisgép-példányok állapotát.
Hozzon létre egy terheléselosztó-szabályt az Add-AzLoadBalancerRuleConfig paranccsal , amely meghatározza, hogyan oszlik el a forgalom a virtuális gépek között.
Hozzon létre egy nyilvános terheléselosztót a New-AzLoadBalancerrel.
## 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
Hálózati szabályzat letiltása
Mielőtt létre lehetne hozni egy privát kapcsolati szolgáltatást a virtuális hálózaton, le kell tiltani a beállítást privateLinkServiceNetworkPolicies
.
- Tiltsa le a hálózati házirendet a Set-AzVirtualNetwork paranccsal.
## 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
Privát kapcsolati szolgáltatás létrehozása
Ebben a szakaszban hozzon létre egy privát kapcsolati szolgáltatást, amely az előző lépésben létrehozott Standard Azure Load Balancer használja.
Hozza létre a private link szolgáltatás IP-konfigurációját a New-AzPrivateLinkServiceIpConfig paranccsal.
Hozza létre a private link szolgáltatást a New-AzPrivateLinkService szolgáltatással.
## 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
Létrejön a privát kapcsolati szolgáltatás, és fogadni tudja a forgalmat. Ha forgalmi folyamatokat szeretne látni, konfigurálja az alkalmazást a standard terheléselosztó mögött.
Privát végpont létrehozása
Ebben a szakaszban leképezi a privát kapcsolati szolgáltatást egy privát végpontra. A virtuális hálózat tartalmazza a privát kapcsolati szolgáltatás privát végpontja. Ez a virtuális hálózat tartalmazza a privát kapcsolati szolgáltatást elérő erőforrásokat.
Privát végpont virtuális hálózatának létrehozása
- Hozzon létre egy virtuális hálózatot a New-AzVirtualNetwork használatával.
## 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
Végpont és kapcsolat létrehozása
A Get-AzPrivateLinkService használatával a korábban létrehozott privát kapcsolati szolgáltatás konfigurációját egy változóba helyezheti későbbi használatra.
A Kapcsolatkonfiguráció létrehozásához használja a New-AzPrivateLinkServiceConnection parancsot.
A végpont létrehozásához használja a New-AzPrivateEndpointot .
## 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
A privát végpont kapcsolatának jóváhagyása
Ebben a szakaszban jóváhagyja az előző lépésekben létrehozott kapcsolatot.
## 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
Privát végpont IP-címe
Ebben a szakaszban a terheléselosztónak és a privát kapcsolati szolgáltatásnak megfelelő privát végpont IP-címét találja.
- Az IP-cím lekéréséhez használja a Get-AzPrivateEndpoint parancsot .
## 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
Az erőforrások eltávolítása
Ha már nincs rá szükség, a Remove-AzResourceGroup paranccsal eltávolíthatja az erőforráscsoportot, a terheléselosztót és a fennmaradó erőforrásokat.
Remove-AzResourceGroup -Name 'test-rg'
Következő lépések
Ebben a rövid útmutatóban a következőket hajtja végre:
Létrehozott egy virtuális hálózatot és egy belső Azure Load Balancer.
Privát kapcsolati szolgáltatás létrehozása
Az Azure Privát végpontról a következő témakörben olvashat bővebben: