Azure App Service에서 가상 네트워크 통합 사용
Azure App Service 앱에서 Azure 가상 네트워크와 통합하면 가상 네트워크 내의 앱에서 프라이빗 리소스에 연결할 수 있습니다.
필수 조건
가상 네트워크 통합 기능에는 다음이 필요합니다.
- 가상 네트워크 통합을 지원하는 App Service 가격 책정 계층입니다.
- 빈 서브넷이 있는 동일한 지역의 가상 네트워크입니다.
서브넷은 Microsoft.Web/serverFarms에 위임되어야 합니다. 통합 전에 위임하지 않으면 프로비전 프로세스에서 이 위임을 구성합니다. 서브넷은 IPv4 /28
블록(16개 주소)을 할당해야 합니다. 최대 수평 배율을 허용하려면 최소 64개의 주소(IPv4 /26
블록)가 있는 것이 좋습니다.
가상 네트워크가 앱과 다른 구독에 있는 경우 가상 네트워크가 있는 구독이 리소스 공급자에 대해 Microsoft.Web
등록되어 있는지 확인합니다. 구독에서 첫 번째 웹앱을 만들 때 공급자가 등록됩니다. 공급자를 명시적으로 등록하려면 리소스 공급자 등록을 참조하세요.
Azure Portal에서 구성
Azure Portal에서 앱으로 이동합니다. 설정>네트워킹을 선택합니다. 아웃바운드 트래픽 구성에서 가상 네트워크 통합 옆에 있는 구성되지 않은 링크를 선택합니다.
가상 네트워크 통합 추가를 선택합니다.
구독 및 가상 네트워크를 선택합니다.
서브넷에서 드롭다운 목록에는 동일한 지역의 구독에 있는 모든 가상 네트워크가 포함됩니다. 빈 기존 서브넷을 선택하거나 새 서브넷을 만듭니다. 연결을 선택합니다.
통합하는 동안에 앱이 다시 시작됩니다. 통합이 완료되면 통합된 가상 네트워크에 세부 정보가 표시됩니다.
Azure CLI를 사용하여 구성
Azure CLI를 사용하여 가상 네트워크 통합을 구성할 수도 있습니다.
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
참고 항목
이 명령은 서브넷이 Microsoft.Web/serverFarms에 위임되었는지 확인합니다. 구성되지 않은 경우 명령은 필요한 위임을 적용합니다. 서브넷이 구성되어 있고 확인할 권한이 없거나 가상 네트워크가 다른 구독에 있는 경우 매개 변수를 사용하여 --skip-delegation-check
유효성 검사를 무시할 수 있습니다.
Azure PowerShell을 사용하여 구성
매개 변수를 준비합니다.
$siteName = '<app-name>' $vNetResourceGroupName = '<group-name>' $webAppResourceGroupName = '<group-name>' $vNetName = '<vnet-name>' $integrationSubnetName = '<subnet-name>' $vNetSubscriptionId = '<subscription-guid>'
참고 항목
가상 네트워크가 웹앱이 아닌 다른 구독에 있는 경우 이 명령을 사용하여
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
현재 구독 컨텍스트를 설정할 수 있습니다. 현재 구독 컨텍스트를 가상 네트워크가 배포된 구독으로 설정합니다.서브넷이 Microsoft.Web/serverFarms에 위임되었는지 확인합니다.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet Get-AzDelegation -Subnet $subnet
서브넷이 Microsoft.Web/serverFarms에 위임되지 않은 경우 다음 명령을 사용하여 위임을 추가합니다.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
가상 네트워크 통합을 구성합니다.
$subnetResourceId = "/subscriptions/$vNetSubscriptionId/resourceGroups/$vNetResourceGroupName/providers/Microsoft.Network/virtualNetworks/$vNetName/subnets/$integrationSubnetName" $webApp = Get-AzResource -ResourceType Microsoft.Web/sites -ResourceGroupName $webAppResourceGroupName -ResourceName $siteName $webApp.Properties.virtualNetworkSubnetId = $subnetResourceId $webApp.Properties.vnetRouteAllEnabled = 'true' $webApp | Set-AzResource -Force
참고 항목
웹앱이 가상 네트워크 이외의 다른 구독에 있는 경우 명령을 사용하여
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
현재 구독 컨텍스트를 설정할 수 있습니다. 현재 구독 컨텍스트를 웹앱이 배포된 구독으로 설정합니다.