Sdílet prostřednictvím


Povolení integrace virtuální sítě v Azure App Service

Díky integraci s virtuální sítí Azure z aplikace Azure App Service můžete z vaší aplikace přistupovat k privátním prostředkům v rámci virtuální sítě.

Požadavky

Funkce integrace virtuální sítě vyžaduje:

Podsíť musí být delegovaná na Microsoft.Web/serverFarms. Pokud delegování není provedeno před integrací, proces zřizování toto delegování nakonfiguruje. Podsíti musí být přidělen blok IPv4 /28 (16 adres). Pro maximální horizontální škálování doporučujeme mít minimálně 64 adres (blok IPv4 /26 ).

Pokud je virtuální síť v jiném předplatném než aplikace, musíte zajistit, aby předplatné s virtuální sítí bylo zaregistrované pro Microsoft.Web poskytovatele prostředků. Poskytovatele můžete explicitně zaregistrovat podle této dokumentace, ale automaticky se zaregistruje při vytváření první webové aplikace v předplatném.

Konfigurace v Azure Portal

  1. Na portálu App Service přejděte na Sítě. V části Konfigurace odchozího provozu vyberte Integrace virtuální sítě.

  2. Vyberte Přidat integraci virtuální sítě.

    Snímek obrazovky znázorňující výběr možnosti Integrace virtuální sítě

  3. Rozevírací seznam obsahuje všechny virtuální sítě ve vašem předplatném ve stejné oblasti. Vyberte prázdnou existující podsíť nebo vytvořte novou podsíť.

    Snímek obrazovky znázorňující výběr virtuální sítě

Během integrace se aplikace restartuje. Po dokončení integrace se zobrazí podrobnosti o virtuální síti, se kterou jste integrováni.

Konfigurace pomocí Azure CLI

Integraci virtuální sítě můžete nakonfigurovat také pomocí Azure CLI:

az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>

Poznámka

Příkaz zkontroluje, jestli je podsíť delegovaná na Microsoft.Web/serverFarms, a pokud není nakonfigurovaná, použije potřebné delegování. Pokud byla podsíť nakonfigurovaná a nemáte oprávnění ji zkontrolovat nebo pokud je virtuální síť v jiném předplatném, můžete ověření obejít pomocí parametru --skip-delegation-check .

Konfigurace s Azure PowerShell

Příprava parametrů

$siteName = '<app-name>'
$vNetResourceGroupName = '<group-name>'
$webAppResourceGroupName = '<group-name>'
$vNetName = '<vnet-name>'
$integrationSubnetName = '<subnet-name>'
$vNetSubscriptionId = '<subscription-guid>'

Poznámka

Pokud je virtuální síť v jiném předplatném než webová aplikace, můžete k nastavení aktuálního kontextu předplatného použít příkaz Set-AzContext -Subscription xxxx-xxxx-xxxx. Nastavte kontext aktuálního předplatného na předplatné, ve kterém byla virtuální síť nasazená.

Zkontrolujte, jestli je podsíť delegovaná na Microsoft.Web/serverFarms.

$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
Get-AzDelegation -Subnet $subnet

Pokud vaše podsíť není delegovaná na Microsoft.Web/serverFarms, přidejte delegování pomocí následujících příkazů.

$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet

Konfigurace integrace virtuální sítě

Poznámka

Pokud je webová aplikace v jiném předplatném než virtuální síť, můžete k nastavení aktuálního kontextu předplatného použít příkaz Set-AzContext -Subscription xxxx-xxxx-xxxx. Nastavte kontext aktuálního předplatného na předplatné, ve kterém byla webová aplikace nasazená.

$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

Další kroky