تكوين App Service Environment باستخدام الاتصال النفقي الإجباري

هام

تتناول هذه المقالة الإصدار الثاني من App Service Environment، والذي يتم استخدامه مع خطط خدمة التطبيقات المعزولة. تم إيقاف App Service Environment v1 وv2 اعتبارا من 31 أغسطس 2024. يوجد إصدار جديد من App Service Environment يسهل استخدامه ويعمل ببنية أساسية أكثر قوة. لمعرفة المزيد عن الإصدار الجديد، ابدأ بمقدمة لبيئة App Service. إذا كنت تستخدم إصدار 1 من App Service Environment حاليًا، فالرجاء اتباع الخطوات الواردة في هذه المقالة للترحيل إلى الإصدار الجديد.

اعتبارا من 31 أغسطس 2024، لم تعد اتفاقية مستوى الخدمة (SLA) وأرصدة الخدمة تنطبق على أحمال عمل App Service Environment v1 وv2 التي لا تزال قيد الإنتاج نظرا لأنها منتجات متوقفة. بدأ إيقاف تشغيل أجهزة App Service Environment v1 وv2، وقد يؤثر ذلك على توفر التطبيقات والبيانات وأدائها.

يجب إكمال الترحيل إلى App Service Environment v3 على الفور أو قد يتم حذف التطبيقات والموارد. سنحاول الترحيل التلقائي لأي بيئة خدمة تطبيقات متبقية v1 وv2 على أساس أفضل جهد باستخدام ميزة الترحيل الموضعي، ولكن Microsoft لا تقدم أي مطالبة أو ضمانات حول توفر التطبيق بعد الترحيل التلقائي. قد تحتاج إلى إجراء تكوين يدوي لإكمال الترحيل وتحسين خيار SKU لخطة App Service لتلبية احتياجاتك. إذا لم يكن الترحيل التلقائي ممكنا، حذف الموارد وبيانات التطبيق المقترنة. ونحثك بشدة على التصرف الآن لتجنب أي من هذه السيناريوهات المتطرفة.

إذا كنت بحاجة إلى وقت إضافي، يمكننا تقديم فترة سماح لمرة واحدة مدتها 30 يوما لإكمال الترحيل. لمزيد من المعلومات وطلب فترة السماح هذه، راجع نظرة عامة على فترة السماح، ثم انتقل إلى مدخل Microsoft Azure وقم بزيارة جزء الترحيل لكل من بيئات App Service.

للحصول على أحدث المعلومات حول إيقاف App Service Environment v1/v2، راجع تحديث إيقاف App Service Environment v1 وv2.

تُعد App Service Environment (ASE) عملية نشر لـ Azure App Service في شبكة Azure الظاهرية للعميل. يقوم العديد من العملاء بتكوين شبكات Azure الظاهرية الخاصة بهم لتكون امتدادات لشبكاتهم المحلية باستخدام VPNs أو اتصالات Azure ExpressRoute. يحدث الاتصال النفقي الإجباري عندما تعيد توجيه حركة البيانات عبر الإنترنت إلى VPN أو جهاز ظاهري بدلاً من ذلك. غالباً ما تستخدم الأجهزة الظاهرية لفحص ومراجعة حركة بيانات الشبكة الصادرة.

لدى ASE عدد من التبعيات الخارجية الموضحة في مستند بنية شبكة App Service Environment. عادة يجب أن تنتقل حركة البيانات التبعية الصادرة ASE من خلال VIP التي يتم توفيرها مع ASE. إذا قمت بتغيير توجيه حركة البيانات من أو إلى ASE دون اتباع المعلومات أدناه، سوف تتوقف ASE عن العمل.

في شبكة Azure الظاهرية، يتم التوجيه بناءً على أطول بادئة مطابقة (LPM). إذا كان هناك أكثر من مسار واحد بنفس تطابق LPM، فسيتم تحديد المسار بناءً على أصله بالترتيب التالي:

  • المسار المحدد من قبل المستخدم (UDR)
  • مسار BGP (عند استخدام ExpressRoute)
  • مسار النظام

لمعرفة المزيد حول التوجيه في الشبكة الظاهرية، اقرأ المسارات المحددة من قبل المستخدم وإعادة توجيه IP.

إذا كنت ترغب في توجيه حركة البيانات الصادرة من ASE إلى مكان آخر غير الإنترنت مباشرة، فهناك الخيارات التالية:

  • تمكين ASE الخاص بك للوصول المباشر إلى الإنترنت
  • تكوين شبكة ASE الفرعية لتجاهل مسارات BGP
  • تكوين شبكة ASE الفرعية لاستخدام نقاط نهاية الخدمة إلى azure SQL وتخزين Azure
  • إضافة عناوين IP الخاصة بك إلى جدار الحماية ASE Azure SQL

تمكين App Service Environment من الوصول المباشر إلى الإنترنت

لتمكين ASE من الانتقال مباشرة إلى الإنترنت حتى إذا تم تكوين شبكة Azure الظاهرية مع ExpressRoute، يمكنك:

  • تكوين ExpressRoute للإعلان عن 0.0.0.0/0. بشكل افتراضي، فإنه يقوم بتوجيه حركة البيانات الصادرة في الموقع.
  • إنشاء UDR مع بادئة عنوان 0.0.0.0/0، وهي نوع القفزة التالية من الإنترنت وقم بتطبيقه على الشبكة الفرعية لـ ASE.

إذا قمت بإجراء هذين التغييرين، فلن يتم فرض حركة البيانات الموجهة عبر الإنترنت التي تنشأ من الشبكة الفرعية لـ App Service Environment على الاتصال ExpressRoute.

إذا كانت الشبكة تقوم بالفعل بتوجيه حركة البيانات محلياً، فأنت بحاجة إلى إنشاء الشبكة الفرعية لاستضافة ASE وتكوين UDR لها قبل محاولة نشر ASE.

هام

يجب أن تكون المسارات المعرفة في UDR محددة بما يكفي لتأخذ الأسبقية على أي مسارات يتم الإعلان عنها بواسطة تكوين ExpressRoute. يستخدم المثال السابق نطاق العنوان العريض 0.0.0.0/0. يمكن تجاوزها بطريق الخطأ بواسطة إعلانات المسار التي تستخدم نطاقات عناوين أكثر تحديداً.

لا يتم App Service Environments مع تكوينات ExpressRoute التي تتقاطع مع الإعلان عن التوجيهات من مسار التناظر العام إلى مسار التناظر الخاص. تتلقى تكوينات ExpressRoute مع تكوين التناظر العام إعلانات التوجيه من Microsoft. تحتوي الإعلانات على مجموعة كبيرة من نطاقات عناوين Microsoft Azure. إذا تم الإعلان عن نطاقات العناوين عبر مسار التناظر الخاص، فسيتم توجيه جميع حزم الشبكة الصادرة من الشبكة الفرعية لـ App Service Environment إلى البنية الأساسية للشبكة المحلية للعميل. لا يتم دعم تدفق الشبكة هذا بشكل افتراضي مع App Service Environments. يتمثل أحد الحلول لهذه المشكلة في إيقاف مسارات الإعلانات المتقاطعة من مسار التناظر العام إلى مسار التناظر الخاص. حل آخر هو تمكين your App Service Environment للعمل في تكوين اتصال نفقي إجباري.

الوصول المباشر للإنترنت

تكوين شبكة ASE الفرعية لتجاهل مسارات BGP

يمكنك تكوين شبكة ASE الفرعية لتجاهل مسارات BGP. عند تكوينها لتجاهل مسارات BGP، ستكون ASE قادرة على الوصول إلى تبعياتها دون أي مشكلات. ستحتاج إلى إنشاء UDRs لتمكين تطبيقاتك من الوصول إلى الموارد المحلية.

لتكوين شبكة ASE الفرعية لتجاهل مسارات BGP:

  • إنشاء UDR وتعيينه إلى شبكة ASE الفرعية إذا لم يكن لديك واحد بالفعل.
  • في المدخل Microsoft Azure، افتح واجهة المستخدم لجدول المسار المعين لشبكة ASE الفرعية. حدد تكوين. تعيين "Virtual network gateway route propagation" إلى "Disabled". انقر فوق حفظ. يمكن العثور على الوثائق الخاصة بإيقاف ذلك في مستند إنشاء جدول توجيه.

بعد تكوين الشبكة الفرعية ASE لتجاهل جميع توجيهات BGP، لن تتمكن تطبيقاتك من الوصول إلى أماكن العمل. لتمكين تطبيقاتك من الوصول إلى الموارد المحلية، قم بتحرير UDR المعين لشبكة ASE الفرعية وإضافة التوجيهات لنطاقات العناوين المحلية. يجب تعيين نوع القفزة التالية إلى بوابة الشبكة الظاهرية.

تكوين ASE باستخدام نقاط نهاية الخدمة

لتوجيه حركة البيانات الصادرة من ASE، باستثناء تلك التي تنتقل إلى Azure SQL وAzure Storage، قم بتنفيذ الخطوات التالية:

  1. إنشاء جدول توجيه وتعيينه إلى شبكة ASE الفرعية. ابحث عن العناوين التي تطابق منطقتك هنا عناوين إدارة App Service Environment. إنشاء مسارات لتلك العناوين أو استخدام علامة خدمة AppServiceManagement مع قفزة تالية من الإنترنت. هذه المسارات مطلوبة لأن حركة بيانات الإدارة الواردة لـ App Service Environment يجب أن ترد من نفس العنوان الذي أرسلت إليه.

  2. تمكين نقاط نهاية الخدمة باستخدام Azure SQL وAzure Storage باستخدام الشبكة الفرعية لـ ASE. بعد إكمال هذه الخطوة، يمكنك تكوين شبكتك الظاهرية مع اتصال نفقي إجباري.

للحصول على تفاصيل حول نشر ASE مع قالب، اقرأ إنشاء App Service Environment باستخدام قالب.

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

عند تمكين نقاط النهاية الخدمة على مورد، سيتم إنشاء مسارات بأولوية أعلى من جميع المسارات الأخرى. إذا كنت تستخدم نقاط نهاية الخدمة مع ASE ذات اتصال نفقي إجباري، فلا يتم فرض الاتصال النفقي على حركة بيانات Azure SQL وAzure Storage. يتم فرض الاتصال النفقي على حركة البيانات التبعية الأخرى لـ ASE ولا يمكن فقدها أو لن تعمل ASE بشكل صحيح.

عند تمكين نقاط نهاية الخدمة على شبكة فرعية مع مثيل SQL Azure، يجب تمكين نقاط نهاية الخدمة في جميع مثيلات Azure SQL المتصلة من تلك الشبكة الفرعية. إذا كنت ترغب في الوصول إلى مثيلات SQL Azure متعددة من نفس الشبكة الفرعية، فلا يمكنك تمكين نقاط النهاية للخدمة على مثيل SQL Azure واحد دون المثيل الآخر. لا تتصرف Azure Storage بنفس طريقة Azure SQL. عند تمكين نقاط نهاية الخدمة باستخدام Azure Storage، فإنك تقوم بتأمين الوصول إلى هذا المورد من الشبكة الفرعية الخاصة بك، ولكن لا يزال بإمكانك الوصول إلى حسابات Azure Storage الأخرى حتى إذا لم يتم تمكين نقاط نهاية الخدمة.

إذا قمت بتكوين اتصال نفقي إجباري باستخدام جهاز تصفية الشبكة، ثم تذكرت تبعيات ASE بالإضافة إلى azure SQL وAzure Storage. إذا تم حظر حركة البيانات إلى تلك التبعيات، لن تعمل ASE بشكل صحيح.

اتصال نفقي إجباري مع نقاط نهاية الخدمة

إضافة عناوين IP الخاصة بك إلى جدار الحماية ASE Azure SQL

لتوجيه حركة البيانات الصادرة من ASE للاتصال النفقي، باستثناء تلك التي تنتقل إلى Azure SQL وAzure Storage، قم بتنفيذ الخطوات التالية:

  1. إنشاء جدول توجيه وتعيينه إلى شبكة ASE الفرعية. ابحث عن العناوين التي تطابق منطقتك هنا عناوين إدارة App Service Environment. إنشاء مسارات لتلك العناوين مع القفزة القادمة من الإنترنت. هذه المسارات مطلوبة لأن حركة بيانات الإدارة الواردة لـ App Service Environment يجب أن ترد من نفس العنوان الذي أرسلت إليه.

  2. تمكين نقاط نهاية الخدمة باستخدام Azure Storage باستخدام الشبكة الفرعية لـ ASE

  3. الحصول على العناوين التي سيتم استخدامها لحركة البيانات الصادرة من App Service Environment إلى الإنترنت. إذا كنت تقوم بتوجيه حركة البيانات في أماكن العمل، فإن هذه العناوين هي NATs أو عناوين IP للبوابة. إذا كنت ترغب في توجيه حركة البيانات الصادرة عن App Service Environment عبر NVA، فإن عنوان الخروج هو عنوان IP العام لـ NVA.

  4. لتعيين عناوين الخروج في بيئة خدمة التطبيق الحالية: انتقل إلى resources.azure.com، وانتقل إلى< معرف> الاشتراك / الاشتراك / ResourceGroups/ مجموعة موارد< ASE /providers/Microsoft.Web>/hostingEnvironment/ <ase name>. ثم يمكنك مشاهدة JSON الذي يصف App Service Environment. تأكد من ظهور عبارة read/write في الجزء العلوي. حدد تحرير. قم بالتمرير إلى أسفل. تغيير قيمة userWhitelistedIpRanges من "null" إلى شيء مثل ما يلي. استخدم العناوين التي تريد تعيينها كنطاق عنوان الخروج.

    "userWhitelistedIpRanges": ["11.22.33.44/32", "55.66.77.0/24"]
    

    حدد "PUT" في الأعلى. يؤدي هذا الخيار إلى تشغيل عملية مقياس على App Service Environment وضبط جدار الحماية.

لإنشاء ASE الخاص بك مع عناوين الخروج: اتبع الإرشادات الواردة في إنشاء App Service Environment مع قالب واسحب القالب المناسب لأسفل. تحرير قسم "الموارد" في ملف azuredeploy.json، ولكن ليس في كتلة "الخصائص" وقم بتضمين سطر لـ userWhitelistedIpRanges بقيمك.

"resources": [
    {
        "apiVersion": "2015-08-01",
        "type": "Microsoft.Web/hostingEnvironments",
        "name": "[parameters('aseName')]",
        "kind": "ASEV2",
        "location": "[parameters('aseLocation')]",
        "properties": {
            "name": "[parameters('aseName')]",
            "location": "[parameters('aseLocation')]",
            "ipSslAddressCount": 0,
            "internalLoadBalancingMode": "[parameters('internalLoadBalancingMode')]",
            "dnsSuffix" : "[parameters('dnsSuffix')]",
            "virtualNetwork": {
                "Id": "[parameters('existingVnetResourceId')]",
                "Subnet": "[parameters('subnetName')]"
            },
            "userWhitelistedIpRanges":  ["11.22.33.44/32", "55.66.77.0/30"]
        }
    }
]

ترسل هذه التغييرات حركة البيانات إلى Azure Storage مباشرة من ASE وتسمح بالوصول إلى SQL Azure من عناوين إضافية غير VIP في ASE.

الاتصال النفقي الإجباري مع قائمة السماح لـ SQL

منع المشاكل

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

بالإضافة إلى مجرد قطع الاتصال، يمكنك التأثير سلباً على ASE عن طريق إدخال وقت انتقال طويل. يمكن أن يصبح وقت الانتقال طويلاً جداً إذا كان ASE بعيداً جداً عن الشبكة المحلية. تتضمن الأمثلة على المدى البعيد المرور عبر محيط أو قارة للوصول إلى الشبكة المحلية. يمكن أيضاً إدخال وقت الانتقال بسبب ازدحام إنترانت أو قيود النطاق الترددي الصادر.