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:

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

  1. 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.

  2. Válassza a Virtuális hálózati integráció hozzáadása lehetőséget.

    Képernyőkép a virtuális hálózati integráció kiválasztásáról.

  3. 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.

    Képernyőkép a virtuális hálózat kiválasztásáról.

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

Következő lépések