تمكين تكامل الشبكة الظاهرية في Azure App Service

من خلال التكامل مع شبكة Azure الظاهرية من تطبيق Azure App Service، يمكنك الوصول إلى الموارد الخاصة من تطبيقك داخل الشبكة الظاهرية.

المتطلبات الأساسية

تتطلب ميزة تكامل الشبكة الظاهرية ما يلي:

يجب تفويض الشبكة الفرعية إلى Microsoft.Web/serverFarms. إذا لم يتم التفويض قبل التكامل، فإن عملية التزويد تقوم بتكوين هذا التفويض. يجب تخصيص كتلة IPv4 /28 للشبكة الفرعية (16 عنوانًا). نوصي بأن يكون لديك ما لا يقل عن 64 عنوانًا (IPv4 /26 كتلة) للسماح بأقصى مقياس أفقي.

إذا كانت الشبكة الظاهرية في اشتراك مختلف عن التطبيق، يجب عليك التأكد من تسجيل الاشتراك مع الشبكة الظاهرية لموفر موارد Microsoft.Web. يمكنك تسجيل الموفر بشكل صريح باتباع هذه الوثائق، ولكن يتم تسجيله تلقائيا عند إنشاء تطبيق الويب الأول في اشتراك.

التكوين مدخل Microsoft Azure

  1. انتقل إلى الشبكات في بوابة خدمة التطبيقات. ضمن Outbound traffic configuration، حدد Virtual network integration.

  2. حدد Add virtual network integration.

    Screenshot that shows selecting Virtual network integration.

  3. تحتوي القائمة المنسدلة على جميع الشبكات الظاهرية في اشتراكك في المنطقة نفسها. حدد شبكة فرعية فارغة موجودة مسبقا أو أنشئ شبكة فرعية جديدة.

    Screenshot that shows selecting the virtual network.

أثناء عملية الدمج، تتم إعادة تشغيل التطبيق الخاص بك. عند الانتهاء من التكامل، سترى تفاصيل على الشبكة الظاهرية التي تم دمجك معها.

تكوين باستخدام Azure CLI

يمكنك أيضًا تكوين تكامل الشبكة الظاهرية باستخدام Azure CLI:

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

إشعار

يتحقق الأمر مما إذا كانت الشبكة الفرعية مفوضة إلى Microsoft.Web/serverFarms ويطبق التفويض اللازم إذا لم يتم تكوينه. إذا تم تكوين الشبكة الفرعية، ولم يكن لديك أذونات للتحقق منها، أو إذا كانت الشبكة الظاهرية في اشتراك آخر، يمكنك استخدام المعلمة --skip-delegation-check لتجاوز التحقق من الصحة.

تكوين باستخدام Azure PowerShell

إعداد المعلمات.

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

إشعار

إذا كانت الشبكة الظاهرية في اشتراك آخر غير webapp، يمكنك استخدام الأمر Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" لتعيين سياق الاشتراك الحالي. تعيين سياق الاشتراك الحالي إلى الاشتراك حيث تم نشر الشبكة الظاهرية.

تحقق مما إذا كانت الشبكة الفرعية مفوضة إلى Microsoft.Web/serverFarms.

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

إذا لم يتم تفويض شبكتك الفرعية إلى Microsoft.Web/serverFarms، فقم بإضافة تفويض باستخدام الأوامر أدناه.

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

تكوين تكامل الشبكة الظاهرية.

إشعار

إذا كان تطبيق الويب في اشتراك آخر غير الشبكة الظاهرية، يمكنك استخدام الأمر Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx-xxxx" لتعيين سياق الاشتراك الحالي. تعيين سياق الاشتراك الحالي إلى الاشتراك حيث تم نشر تطبيق الويب.

$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

الخطوات التالية