Virtuális hálózati integráció engedélyezése a Azure App Service
Ha integrál egy Azure-beli virtuális hálózattal a Azure App Service alkalmazásból, privát erőforrásokat érhet el az alkalmazásból a virtuális hálózaton belül.
Előfeltételek
A virtuális hálózati integrációs szolgáltatáshoz a következőket kell megkövetelni:
- Egy App Service tarifacsomag, amely támogatja a virtuális hálózatok integrációját.
- Egy virtuális hálózat ugyanabban a régióban egy üres alhálózattal.
Az alhálózatot delegálni kell a Microsoft.Web/serverFarms szolgáltatásba. Ha a delegálás nem történik meg az integráció előtt, a kiépítési folyamat konfigurálja ezt a delegálást. Az alhálózatnak egy IPv4-blokkot /28
(16 címet) kell lefoglalnia. Javasoljuk, hogy legalább 64 címmel (IPv4-blokk /26
) rendelkezzen a maximális vízszintes skálázás engedélyezéséhez.
Ha a virtuális hálózat más előfizetésben van, mint az alkalmazás, győződjön meg arról, hogy a virtuális hálózattal rendelkező előfizetés regisztrálva van az Microsoft.Web
erőforrás-szolgáltató számára. A szolgáltatót a jelen dokumentációt követve explicit módon regisztrálhatja, de az automatikusan regisztrálva lesz az előfizetés első webalkalmazásának létrehozásakor.
Konfigurálás a Azure Portal
Lépjen a Hálózatkezelés elemre a App Service portálon. A Kimenő forgalom konfigurálása területen válassza a Virtuális hálózati integráció lehetőséget.
Válassza a Virtuális hálózati integráció hozzáadása lehetőséget.
A legördülő lista az előfizetés összes virtuális hálózatát tartalmazza ugyanabban a régióban. Jelöljön ki egy üres, már meglévő alhálózatot, vagy hozzon létre egy új alhálózatot.
Az integráció során az alkalmazás újraindul. Ha az integráció befejeződött, az integrálva lévő virtuális hálózat részletei láthatók.
Konfigurálás az Azure CLI-vel
A virtuális hálózati integrációt az Azure CLI használatával is konfigurálhatja:
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Megjegyzés
A parancs ellenőrzi, hogy az alhálózat delegálva van-e a Microsoft.Web/serverFarms szolgáltatásba, és alkalmazza a szükséges delegálást, ha nincs konfigurálva. Ha az alhálózat konfigurálva van, és nincs engedélye annak ellenőrzésére, vagy ha a virtuális hálózat egy másik előfizetésben van, a --skip-delegation-check
paraméter használatával megkerülheti az ellenőrzést.
Konfigurálás Azure PowerShell
Paraméterek előkészítése.
$siteName = '<app-name>'
$vNetResourceGroupName = '<group-name>'
$webAppResourceGroupName = '<group-name>'
$vNetName = '<vnet-name>'
$integrationSubnetName = '<subnet-name>'
$vNetSubscriptionId = '<subscription-guid>'
Megjegyzés
Ha a virtuális hálózat egy másik előfizetésben található, mint a webalkalmazás, a Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" paranccsal állíthatja be az aktuális előfizetési környezetet. Állítsa az aktuális előfizetési környezetet arra az előfizetésre, amelyben a virtuális hálózat üzembe lett helyezve.
Ellenőrizze, hogy az alhálózat delegálva van-e a Microsoft.Web/serverFarms szolgáltatásba.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
Get-AzDelegation -Subnet $subnet
Ha az alhálózat nincs delegálva a Microsoft.Web/serverFarms szolgáltatásba, adja hozzá a delegálást az alábbi parancsokkal.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet
Virtuális hálózati integráció konfigurálása.
Megjegyzés
Ha a webalkalmazás egy másik előfizetésben található, mint a virtuális hálózat, a Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" paranccsal állíthatja be az aktuális előfizetési környezetet. Állítsa az aktuális előfizetési környezetet arra az előfizetésre, amelyben a webalkalmazás üzembe lett helyezve.
$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