Share via


Aktivieren der Integration virtueller Netzwerke in Azure App Service

Durch die Integration in ein virtuelles Azure-Netzwerk aus Ihrer App Service-App können Sie aus Ihrer App heraus private Ressourcen innerhalb des virtuellen Netzwerks erreichen.

Voraussetzungen

Die Integrationsfunktion für virtuelle Netzwerke erfordert:

Das Subnetz muss an „Microsoft.Web/serverFarms“ delegiert sein. Wenn die Delegierung nicht vor der Integration erfolgt, wird diese Delegierung durch den Bereitstellungsprozess konfiguriert. Dem Subnetz muss ein IPv4-/28-Block (16 Adressen) zugeordnet sein. Es wird empfohlen, mindestens 64 Adressen (IPv4-/26-Block) vorzuhalten, um eine maximale horizontale Skalierung zu ermöglichen.

Wenn sich das virtuelle Netzwerk in einem anderen Abonnement als die App befindet, müssen Sie sicherstellen, dass das Abonnement beim virtuellen Netzwerk für den Ressourcenanbieter Microsoft.Web registriert ist. Sie können den Anbieter explizit registrieren, indem Sie diese Dokumentation befolgen. Er wird jedoch automatisch registriert, wenn Sie die erste Web-App in einem Abonnement erstellen.

Konfigurieren im Azure-Portal

  1. Wechseln Sie im App Service-Portal zu Netzwerk. Wählen Sie unter Konfiguration für ausgehenden Datenverkehr die Option Integration eines virtuellen Netzwerks aus.

  2. Wählen Sie Integration eines virtuellen Netzwerks hinzufügen au.

    Screenshot that shows selecting Virtual network integration.

  3. Die Dropdownliste enthält alle virtuellen Netzwerke in Ihrem Abonnement in derselben Region. Wählen Sie ein leeres, bereits vorhandenes Subnetz aus, oder erstellen Sie ein neues Subnetz.

    Screenshot that shows selecting the virtual network.

Während der Integration wird Ihre App neu gestartet. Wenn die Integration abgeschlossen ist, werden Details zu dem virtuellen Netzwerk angezeigt, in das Sie integriert sind.

Konfigurieren mit der Azure CLI

Sie können die Integration virtueller Netzwerke auch mithilfe der Azure CLI konfigurieren:

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

Hinweis

Der Befehl überprüft, ob das Subnetz an „Microsoft.Web/serverFarms“ delegiert ist, und wendet die erforderliche Delegierung an, wenn sie nicht konfiguriert ist. Wenn das Subnetz bereits konfiguriert war und Sie nicht über Berechtigungen zu dessen Überprüfung verfügen, oder wenn sich das virtuelle Netzwerk in einem anderen Abonnement befindet, können Sie den Parameter --skip-delegation-check verwenden, um die Überprüfung zu umgehen.

Konfigurieren mit Azure PowerShell

Bereiten Sie Parameter vor.

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

Hinweis

Wenn sich das virtuelle Netzwerk in einem anderen Abonnement als die Web-App befindet, können Sie den Befehl Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" verwenden, um den aktuellen Abonnementkontext festzulegen. Legen Sie den aktuellen Abonnementkontext auf das Abonnement fest, in dem das virtuelle Netzwerk bereitgestellt wurde.

Überprüfen Sie, ob das Subnetz an „Microsoft.Web/serverFarms“ delegiert wurde.

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

Wenn Ihr Subnetz nicht an „Microsoft.Web/serverFarms“ delegiert wurde, fügen Sie die Delegierung mithilfe der folgenden Befehle hinzu:

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

Konfigurieren Sie die Integration in ein virtuelles Netzwerks.

Hinweis

Wenn sich die Web-App in einem anderen Abonnement als das virtuelle Netzwerk befindet, können Sie den Befehl Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" verwenden, um den aktuellen Abonnementkontext festzulegen. Legen Sie den aktuellen Abonnementkontext auf das Abonnement fest, in dem die Web-App bereitgestellt wurde.

$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

Nächste Schritte