Włączanie integracji sieci wirtualnej w usłudze aplikacja systemu Azure Service
Dzięki integracji z siecią wirtualną platformy Azure z poziomu aplikacji usługi aplikacja systemu Azure Service możesz uzyskać dostęp do zasobów prywatnych z aplikacji w sieci wirtualnej.
Wymagania wstępne
Funkcja integracji sieci wirtualnej wymaga:
- Warstwa cenowa usługi App Service, która obsługuje integrację sieci wirtualnej.
- Sieć wirtualna w tym samym regionie z pustą podsiecią.
Podsieć musi być delegowana do microsoft.Web/serverFarms. Jeśli nie delegujesz przed integracją, proces aprowizacji konfiguruje to delegowanie. Podsieć musi być przydzielona blok IPv4 /28
(16 adresów). Zalecamy, aby maksymalnie 64 adresy (blok IPv4 /26
) zezwalały na maksymalną skalę poziomą.
Jeśli sieć wirtualna znajduje się w innej subskrypcji niż aplikacja, upewnij się, że subskrypcja z siecią wirtualną Microsoft.Web
jest zarejestrowana dla dostawcy zasobów. Dostawca jest rejestrowany podczas tworzenia pierwszej aplikacji internetowej w ramach subskrypcji. Aby jawnie zarejestrować dostawcę, zobacz Rejestrowanie dostawcy zasobów.
Konfigurowanie w witrynie Azure Portal
Przejdź do aplikacji w witrynie Azure Portal. Wybierz pozycję Ustawienia>Sieci. W obszarze Konfiguracja ruchu wychodzącego obok pozycji Integracja z siecią wirtualną wybierz link Nieskonfigurowane .
Wybierz pozycję Dodaj integrację sieci wirtualnej.
Wybierz subskrypcję i sieć wirtualną.
W obszarze Podsieć lista rozwijana zawiera wszystkie sieci wirtualne w subskrypcji w tym samym regionie. Wybierz pustą wstępnie współistniejącą podsieć lub utwórz nową podsieć. Wybierz pozycję Połącz.
Podczas integracji aplikacja jest uruchamiana ponownie. Po zakończeniu integracji zostaną wyświetlone szczegółowe informacje dotyczące sieci wirtualnej zintegrowanej z usługą .
Konfigurowanie przy użyciu interfejsu wiersza polecenia platformy Azure
Integrację z siecią wirtualną można również skonfigurować przy użyciu interfejsu wiersza polecenia platformy Azure:
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Uwaga
Polecenie sprawdza, czy podsieć jest delegowana do aplikacji Microsoft.Web/serverFarms. Jeśli nie jest skonfigurowany, polecenie stosuje niezbędne delegowanie. Jeśli podsieć została skonfigurowana i nie masz uprawnień do jej sprawdzania lub jeśli sieć wirtualna znajduje się w innej subskrypcji, możesz użyć parametru --skip-delegation-check
, aby pominąć walidację.
Konfigurowanie przy użyciu programu Azure PowerShell
Przygotowywanie parametrów.
$siteName = '<app-name>' $vNetResourceGroupName = '<group-name>' $webAppResourceGroupName = '<group-name>' $vNetName = '<vnet-name>' $integrationSubnetName = '<subnet-name>' $vNetSubscriptionId = '<subscription-guid>'
Uwaga
Jeśli sieć wirtualna znajduje się w innej subskrypcji niż aplikacja internetowa, możesz użyć
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
polecenia , aby ustawić bieżący kontekst subskrypcji. Ustaw bieżący kontekst subskrypcji na subskrypcję, w której wdrożono sieć wirtualną.Sprawdź, czy podsieć jest delegowana do aplikacji Microsoft.Web/serverFarms.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet Get-AzDelegation -Subnet $subnet
Jeśli podsieć nie jest delegowana do aplikacji Microsoft.Web/serverFarms, dodaj delegowanie przy użyciu tych poleceń.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
Konfigurowanie integracji sieci wirtualnej.
$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
Uwaga
Jeśli aplikacja internetowa znajduje się w innej subskrypcji niż sieć wirtualna, możesz użyć
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
polecenia , aby ustawić bieżący kontekst subskrypcji. Ustaw bieżący kontekst subskrypcji na subskrypcję, w której wdrożono aplikację internetową.