Private Link 구성을 사용하려면 프라이빗 링크 IP 구성에 Application Gateway 서브넷과 다른 서브넷이 필요합니다. Private Link는 Application Gateway를 포함하지 않는 서브넷을 사용해야 합니다. 서브넷 크기는 배포에 필요한 연결 수에 따라 결정됩니다. 이 서브넷에 할당된 각 IP 주소는 단일 시점에서 Private Link를 통해 설정할 수 있는 64K 동시 TCP 연결을 보장합니다. Private Link를 통해 더 많은 연결을 허용하려면 더 많은 IP 주소를 할당합니다. 예: n * 64K, 여기서 n은 프로비전되는 IP 주소의 수입니다.
프라이빗 링크 구성은 프라이빗 엔드포인트에서 연결할 수 있도록 Application Gateway에서 사용하는 인프라를 정의합니다. Private Link 구성을 만드는 동안 적용되는 프런트 엔드 IP 구성을 수신기가 적극적으로 활용하고 있는지 확인합니다. 다음 단계를 완료하여 Private Link 구성을 만듭니다.
프런트 엔드 IP 구성: 프라이빗 링크가 Application Gateway에서 트래픽을 전달해야 하는 프런트 엔드 IP 주소입니다.
개인 IP 주소 설정: 하나 이상의 IP 주소 지정
추가를 선택합니다.
Application Gateways 속성 블레이드 내에서 리소스 ID를 획득하고 기록해 둡니다. 이 ID는 다른 Microsoft Entra 테넌트 내에서 프라이빗 엔드포인트를 설정하는 경우 필요합니다.
프라이빗 엔드포인트 구성
프라이빗 엔드포인트는 Application Gateway에 연결하려는 클라이언트가 포함된 가상 네트워크의 개인 IP 주소를 사용하는 네트워크 인터페이스입니다. 각 클라이언트는 프라이빗 엔드포인트의 개인 IP 주소를 사용하여 트래픽을 Application Gateway로 터널링합니다. 프라이빗 엔드포인트를 만들려면 다음 단계를 완료합니다.
프라이빗 엔드포인트 연결 탭을 선택합니다.
만들기를 실행합니다.
기본 탭에서 프라이빗 엔드포인트의 리소스 그룹, 이름 및 지역을 구성합니다. 다음을 선택합니다.
리소스 탭에서 다음을 선택합니다.
Virtual Network 탭에서 프라이빗 엔드포인트 네트워크 인터페이스를 프로비전해야 하는 Virtual Network 및 서브넷을 구성합니다. 다음을 선택합니다.
태그 탭에서 선택적으로 리소스 태그를 구성합니다. 다음을 선택합니다.
만들기를 선택합니다.
참고 항목
프라이빗 엔드포인트 만들기의 리소스 탭에서 대상 하위 리소스를 선택하려고 할 때 공용 또는 개인 IP 구성 리소스가 누락된 경우 수신기가 관련 프런트 엔드 IP 구성을 적극적으로 활용하고 있는지 확인하세요. 연결된 수신기가 없는 프런트 엔드 IP 구성은 대상 하위 리소스로 표시되지 않습니다.
참고 항목
다른 테넌트 내에서 프라이빗 엔드포인트를 프로비전하는 경우 Azure Application Gateway 리소스 ID와 프런트 엔드 IP 구성의 이름을 대상 하위 리소스로 활용해야 합니다. 예를 들어, Application Gateway에 연결된 개인 IP가 있고 개인 IP에 대한 포털의 프런트 엔드 IP 구성에 나열된 이름이 PrivateFrontendIp인 경우 대상 하위 리소스 값은 PrivateFrontendIp입니다.
참고 항목
프라이빗 엔드포인트를 다른 구독으로 이동해야 하는 경우 먼저 프라이빗 링크와 프라이빗 엔드포인트 간의 기존 프라이빗 엔드포인트 연결을 삭제해야 합니다. 이 작업이 완료되면 새 구독에서 새 프라이빗 엔드포인트 연결을 다시 만들어 Private Link와 프라이빗 엔드포인트 간에 연결을 설정해야 합니다.
Azure PowerShell을 통해 기존 Application Gateway에서 프라이빗 링크를 구성하려면 다음 명령을 사용합니다.
# Disable Private Link Service Network Policies
# https://learn.microsoft.com/azure/private-link/disable-private-endpoint-network-policy
$net =@{
Name = 'AppGW-PL-PSH'
ResourceGroupName = 'AppGW-PL-PSH-RG'
}
$vnet = Get-AzVirtualNetwork @net
($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'AppGW-PL-Subnet'}).PrivateLinkServiceNetworkPolicies = "Disabled"
$vnet | Set-AzVirtualNetwork
# Get Application Gateway Frontend IP Name
$agw = Get-AzApplicationGateway -Name AppGW-PL-PSH -ResourceGroupName AppGW-PL-PSH-RG
# List the names
$agw.FrontendIPConfigurations | Select Name
# Add a new Private Link configuration and associate it with an existing Frontend IP
$PrivateLinkIpConfiguration = New-AzApplicationGatewayPrivateLinkIpConfiguration `
-Name "ipConfig01" `
-Subnet ($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'AppGW-PL-Subnet'}) `
-Primary
# Add the Private Link configuration to the gateway configuration
Add-AzApplicationGatewayPrivateLinkConfiguration `
-ApplicationGateway $agw `
-Name "privateLinkConfig01" `
-IpConfiguration $PrivateLinkIpConfiguration
# Associate private link configuration to Frontend IP
$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
# Apply the change to the gateway
Set-AzApplicationGateway -ApplicationGateway $agw
# Disable Private Endpoint Network Policies
# https://learn.microsoft.com/azure/private-link/disable-private-endpoint-network-policy
$net =@{
Name = 'AppGW-PL-Endpoint-PSH-VNET'
ResourceGroupName = 'AppGW-PL-Endpoint-PSH-RG'
}
$vnet_plendpoint = Get-AzVirtualNetwork @net
($vnet_plendpoint | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'MySubnet'}).PrivateEndpointNetworkPolicies = "Disabled"
$vnet_plendpoint | Set-AzVirtualNetwork
# Create Private Link Endpoint - Group ID is the same as the frontend IP configuration
$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "AppGW-PL-Connection" -PrivateLinkServiceId $agw.Id -GroupID "appGwPublicFrontendIp"
## Create private endpoint
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
다음은 Application Gateway의 Private Link 구성에 대한 모든 Azure PowerShell 참조 목록입니다.
Azure CLI를 통해 기존 Application Gateway에 Private Link를 구성하려면 다음 명령을 사용합니다.
# Disable Private Link Service Network Policies
# https://learn.microsoft.com/azure/private-link/disable-private-endpoint-network-policy
az network vnet subnet update \
--name AppGW-PL-Subnet \
--vnet-name AppGW-PL-CLI-VNET \
--resource-group AppGW-PL-CLI-RG \
--disable-private-link-service-network-policies true
# Get Application Gateway Frontend IP Name
az network application-gateway frontend-ip list \
--gateway-name AppGW-PL-CLI \
--resource-group AppGW-PL-CLI-RG
# Add a new Private Link configuration and associate it with an existing Frontend IP
az network application-gateway private-link add \
--frontend-ip appGwPublicFrontendIp \
--name privateLinkConfig01 \
--subnet /subscriptions/XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX/resourceGroups/AppGW-PL-CLI-RG/providers/Microsoft.Network/virtualNetworks/AppGW-PL-CLI-VNET/subnets/AppGW-PL-Subnet \
--gateway-name AppGW-PL-CLI \
--resource-group AppGW-PL-CLI-RG
# Get Private Link resource ID
az network application-gateway private-link list \
--gateway-name AppGW-PL-CLI \
--resource-group AppGW-PL-CLI-RG
# Disable Private Endpoint Network Policies
# https://learn.microsoft.com/azure/private-link/disable-private-endpoint-network-policy
az network vnet subnet update \
--name MySubnet \
--vnet-name AppGW-PL-Endpoint-CLI-VNET \
--resource-group AppGW-PL-Endpoint-CLI-RG \
--disable-private-endpoint-network-policies true
# Create Private Link Endpoint - Group ID is the same as the frontend IP configuration
az network private-endpoint create \
--name AppGWPrivateEndpoint \
--resource-group AppGW-PL-Endpoint-CLI-RG \
--vnet-name AppGW-PL-Endpoint-CLI-VNET \
--subnet MySubnet \
--group-id appGwPublicFrontendIp \
--private-connection-resource-id /subscriptions/XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX/resourceGroups/AppGW-PL-CLI-RG/providers/Microsoft.Network/applicationGateways/AppGW-PL-CLI \
--connection-name AppGW-PL-Connection
Application Gateway의 Private Link 구성에 대한 모든 Azure CLI 참조 목록은 여기: Azure CLI - Private Link에서 사용할 수 있습니다.