Povolení integrace virtuální sítě ve službě Aplikace Azure Service
Díky integraci s virtuální sítí Azure z aplikace služby Aplikace Azure Service se můžete spojit s privátními prostředky z vaší aplikace v rámci virtuální sítě.
Požadavky
Funkce integrace virtuální sítě vyžaduje:
- Cenová úroveň služby App Service, která podporuje integraci virtuální sítě.
- Virtuální síť ve stejné oblasti s prázdnou podsítí.
Podsíť musí být delegována na Microsoft.Web/serverFarms. Pokud před integrací delegujete, proces zřizování toto delegování nakonfiguruje. Podsíť musí mít přidělený blok IPv4 /28
(16 adres). Doporučujeme, abyste měli minimálně 64 adres (blok IPv4 /26
), abyste umožnili maximální horizontální škálování.
Pokud je virtuální síť v jiném předplatném než aplikace, ujistěte se, že je předplatné s virtuální sítí zaregistrované pro Microsoft.Web
poskytovatele prostředků. Poskytovatel se zaregistruje při vytváření první webové aplikace v předplatném. Pokud chcete poskytovatele explicitně zaregistrovat, přečtěte si téma Registrace poskytovatele prostředků.
Konfigurace na webu Azure Portal
Přejděte do aplikace na webu Azure Portal. Vyberte Nastavení>sítě. V části Konfigurace odchozího provozu vedle integrace virtuální sítě vyberte odkaz Nenakonfigurováno.
Vyberte Přidat integraci virtuální sítě.
Vyberte předplatné a virtuální síť.
V části Podsíť obsahuje rozevírací seznam 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íť. Vyberte Připojit.
Během integrace se vaše aplikace restartuje. Po dokončení integrace se zobrazí podrobnosti o virtuální síti, se kterou jste integrli.
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. Pokud není nakonfigurovaný, příkaz použije potřebné delegování. Pokud je podsíť nakonfigurovaná a nemáte oprávnění k jeho kontrole nebo pokud je virtuální síť v jiném předplatném, můžete k obejití ověření použít --skip-delegation-check
parametr.
Konfigurace pomocí Azure PowerShellu
Připravte parametry.
$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 pomocí
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
příkazu nastavit kontext aktuálního předplatného. 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í těchto příkazů.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
Konfigurace integrace virtuální sítě
$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
Poznámka:
Pokud je webová aplikace v jiném předplatném než virtuální síť, můžete pomocí
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
příkazu nastavit kontext aktuálního předplatného. Nastavte kontext aktuálního předplatného na předplatné, ve kterém byla webová aplikace nasazená.