Azure PowerShell ile Azure Application Gateway Private Link Yapılandırma
Kritik iş yüklerinizi Application Gateway’in arkasında güvenli bir şekilde dağıtabilir ve Layer 7 yük dengeleme özelliklerinin esnekliğini kazanabilirsiniz. Arka uç iş yüklerine erişim iki şekilde mümkündür:
- Genel IP adresi – iş yüklerinize İnternet üzerinden erişilebilir.
- Özel IP adresi – iş yüklerinize sanal ağınız/bağlı ağlarınız üzerinden özel olarak erişilebilir
Application Gateway için Private Link, iş yüklerini sanal ağlara ve aboneliklere yayılan özel bir bağlantı üzerinden bağlamanıza olanak tanır. Yapılandırıldığında, tanımlanmış bir sanal ağın alt ağına özel bir uç nokta yerleştirilir ve ağ geçidiyle iletişim kurmak isteyen istemcilere özel bir IP adresi sağlanır.
Application Gateway Private Link’i Azure PowerShell aracılığıyla yapılandırmak için:
$net =@{
Name = 'AppGW-01'
ResourceGroupName = 'AppGW-RG'
}
$vnet = Get-AzVirtualNetwork @net
($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'AppGW-PL-Subnet'}).PrivateLinkServiceNetworkPolicies = "Disabled"
$vnet | Set-AzVirtualNetwork
$agw = Get-AzApplicationGateway -Name AppGW-PL-PSH -ResourceGroupName AppGW-PL-PSH-RG
# List the names
$agw.FrontendIPConfigurations | Select Name
$PrivateLinkIpConfiguration = New-AzApplicationGatewayPrivateLinkIpConfiguration -Name "ipConfig01" -Subnet ($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'AppGW-PL-Subnet'}) -Primary
Add-AzApplicationGatewayPrivateLinkConfiguration -ApplicationGateway $agw -Name "privateLinkConfig01" -IpConfiguration $PrivateLinkIpConfiguration
$agwPip = ($agw | Select -ExpandProperty FrontendIpConfigurations| Where-Object {$_.Name -eq 'appGwPublicFrontendIp'}).PublicIPAddress.Id
$privateLinkConfiguration = ($agw | Select -ExpandProperty PrivateLinkConfigurations | Where-Object {$_.Name -eq 'privateLinkConfig01'}).Id
Set-AzApplicationGatewayFrontendIPConfig -ApplicationGateway $agw -Name "appGwPublicFrontendIp" -PublicIPAddressId $agwPip -PrivateLinkConfigurationId $privateLinkConfiguration
Set-AzApplicationGateway -ApplicationGateway $agw
$net =@{
Name = 'AppGW-01-Endpoint'
ResourceGroupName = 'AppGW-PL-Endpoint-RG'
}
$vnet_plendpoint = Get-AzVirtualNetwork @net
($vnet_plendpoint | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'MySubnet'}).PrivateEndpointNetworkPolicies = "Disabled"
$vnet_plendpoint | Set-AzVirtualNetwork
$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "AppGW-PL-Connection" -PrivateLinkServiceId $agw.Id -GroupID "appGwPublicFrontendIp"
New-AzPrivateEndpoint -Name "AppGWPrivateEndpoint" -ResourceGroupName $vnet_plendpoint.ResourceGroupName -Location $vnet_plendpoint.Location -Subnet ($vnet_plendpoint | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'MySubnet'}) -PrivateLinkServiceConnection $privateEndpointConnection