Azure App Service'de sanal ağ tümleştirmesini etkinleştirme
Azure App Service uygulamanızdan bir Azure sanal ağıyla tümleştirerek, sanal ağ içindeki uygulamanızdan özel kaynaklara ulaşabilirsiniz.
Önkoşullar
Sanal ağ tümleştirme özelliği şunları gerektirir:
- Sanal ağ tümleştirmeyi destekleyen bir App Service fiyatlandırma katmanı.
- Aynı bölgede boş bir alt ağa sahip bir sanal ağ.
Alt ağın Microsoft.Web/serverFarms'a devredilmesi gerekir. Temsilci seçme tümleştirmeden önce yapılmazsa, sağlama işlemi bu temsilciyi yapılandırılır. Alt ağa bir IPv4 /28
bloğu (16 adres) ayrılmalıdır. En yüksek yatay ölçeklendirmeye izin vermek için en az 64 adrese (IPv4 /26
bloğu) sahip olmanız önerilir.
Sanal ağ uygulamadan farklı bir abonelikteyse, sanal ağa sahip aboneliğin kaynak sağlayıcısı için Microsoft.Web
kayıtlı olduğundan emin olmanız gerekir.
Bu belgeleri izleyerek sağlayıcıyı açıkça kaydedebilirsiniz, ancak bir abonelikte ilk web uygulaması oluşturulurken otomatik olarak kaydedilir.
Azure portal yapılandırma
App Service portalında Ağ'a gidin. Giden trafik yapılandırması'nın altında Sanal ağ tümleştirmesi'ne tıklayın.
Sanal ağ tümleştirmesi ekle'yi seçin.
Açılan liste, aboneliğinizdeki aynı bölgedeki tüm sanal ağları içerir. Önceden var olan boş bir alt ağ seçin veya yeni bir alt ağ oluşturun.
Tümleştirme sırasında uygulamanız yeniden başlatılır. Tümleştirme tamamlandığında, tümleştirdiğiniz sanal ağda ayrıntıları görürsünüz.
Azure CLI ile yapılandırma
Azure CLI'yi kullanarak sanal ağ tümleştirmesini de yapılandırabilirsiniz:
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Not
Komut, alt ağın Microsoft.Web/serverFarms'a temsilci olarak atanıp atanmadığını denetler ve yapılandırılmamışsa gerekli temsilciyi uygular. Alt ağ yapılandırılmışsa ve denetleme izniniz yoksa veya sanal ağ başka bir abonelikteyse doğrulamayı --skip-delegation-check
atlamak için parametresini kullanabilirsiniz.
Azure PowerShell ile yapılandırma
Parametreleri hazırlama.
$siteName = '<app-name>'
$vNetResourceGroupName = '<group-name>'
$webAppResourceGroupName = '<group-name>'
$vNetName = '<vnet-name>'
$integrationSubnetName = '<subnet-name>'
$vNetSubscriptionId = '<subscription-guid>'
Not
Sanal ağ web uygulamasından başka bir abonelikteyse, geçerli abonelik bağlamını ayarlamak için Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx-xxxx" komutunu kullanabilirsiniz. Geçerli abonelik bağlamını sanal ağın dağıtıldığı aboneliğe ayarlayın.
Alt ağın Microsoft.Web/serverFarms'a temsilci olarak atanmış olup olmadığını denetleyin.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
Get-AzDelegation -Subnet $subnet
Alt ağınız Microsoft.Web/serverFarms için temsilci olarak atanmazsa aşağıdaki komutları kullanarak temsilci ekleyin.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet
Sanal ağ tümleştirmeyi yapılandırma.
Not
Web uygulaması sanal ağdan başka bir abonelikteyse, geçerli abonelik bağlamını ayarlamak için Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" komutunu kullanabilirsiniz. Geçerli abonelik bağlamını web uygulamasının dağıtıldığı aboneliğe ayarlayın.
$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