تحقيقات صحة موازنة تحميل Azure

فحص صحة Azure Load Balancer هي ميزة تكتشف الحالة الصحية لمثيلات التطبيق الخاص بك. يرسل طلبا إلى المثيلات للتحقق مما إذا كانت متوفرة والاستجابة للطلبات. يمكن تكوين فحص السلامة لاستخدام بروتوكولات مختلفة مثل TCP أو HTTP أو HTTPS. إنها ميزة مهمة لأنها تساعدك على اكتشاف حالات فشل التطبيق وإدارة التحميل والتخطيط لوقت التعطل.

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

بروتوكولات الفحص

تدعم المجسات الصحية بروتوكولات متعددة. يختلف توافر بروتوكول فحص صحي معين حسب Load Balancer SKU. بالإضافة إلى ذلك، يختلف سلوك الخدمة حسب Load Balancer SKU كما هو موضح في هذا الجدول:

SKU القياسية SKU الأساسية
بروتوكول الفحص TCP, HTTP, HTTPS TCP, HTTP
سلوك الفحص جميع التحقيقات لأسفل، تستمر جميع تدفقات TCP. جميع التحقيقات معطلة، وتنتهي جميع تدفقات TCP.

خصائص الفحص

تحتوي فحوصات السلامة على الخصائص التالية:

اسم خاصية فحص السلامة التفاصيل
الاسم اسم فحص السلامة. هذا هو الاسم الذي يمكنك تحديده لفحص السلامة الخاص بك
البروتوكول بروتوكول فحص السلامة. هذا هو نوع البروتوكول الذي ترغب في أن يستخدمه مسبار السلامة. الخيارات هي: TCP وHTTP وHTTPS
المنفذ منفذ الفحص الصحي. منفذ الوجهة الذي ترغب في أن يستخدمه مسبار السلامة عند اتصاله بالجهاش الظاهري للتحقق من صحته
الفاصل الزمني (بالثوان) الفاصل الزمني لفحص السلامة. مقدار الوقت (بالثوان) بين تحقيقات مختلفة في محاولتين متتاليتين للتحقق من الصحة للجهاز الظاهري
يستخدم من قبل قائمة قواعد موازن التحميل باستخدام هذا الفحص الصحي المحدد. يجب أن يكون لديك قاعدة واحدة على الأقل باستخدام فحص السلامة حتى تكون فعالة

فحص التكوين

يتكون تكوين مسبار الصحة من العناصر التالية:

تكوين فحص السلامة التفاصيل
البروتوكول بروتوكول فحص السلامة. هذا هو نوع البروتوكول الذي ترغب في أن يستخدمه مسبار السلامة. الخيارات المتوفرة هي: TCP وHTTP وHTTPS
المنفذ منفذ الفحص الصحي. المنفذ الوجهة الذي ترغب في أن يستخدمه التحقيق الصحي عند الاتصال بالجهز الظاهري للتحقق من الحالة الصحية للجهاز الظاهري. يجب التأكد من أن الجهاز الظاهري يستمع أيضا على هذا المنفذ (أي المنفذ مفتوح).
الفاصل الزمني الفاصل الزمني لفحص السلامة. مقدار الوقت (بالثوان) بين محاولات التحقق من الصحة المتتالية للجهاز الظاهري

بروتوكول التحقيق

يمكن تكوين البروتوكول المستخدم من قبل التحقيق الصحي إلى أحد الخيارات التالية: TCP وHTTP وHTTPS.

السيناريو اختبار TCP فحص HTTP / HTTPS
نظرة عامة بدأ تحقيقات TCP اتصال عن طريق إجراء اتصال TCP مفتوح ثلاثي الاتجاهات مع المنفذ المحدد. تنهي تحقيقات TCP الاتصال بمصافحة TCP قريبة من أربعة اتجاهات. يصدر HTTP وHTTPS HTTP GET بالمسار المحدد. يدعم كلا هذين التحقيقين المسارات النسبية لـ HTTP GET. فحوصات HTTPS هي نفسها فحوصات HTTP مع إضافة بروتوكول أمان طبقة النقل (TLS). يمكن أن تكون تحقيقات HTTP / HTTPS مفيدة أيضاً في تنفيذ منطقك الخاص لإزالة المثيلات من موازنة التحميل إذا كان منفذ التحقيق هو أيضًا وحدة الاستماع للخدمة.
سلوك فشل التحقيق فشل فحص TCP عندما: 1. مستمع TCP الموجود في المثيل لا يستجيب على الإطلاق خلال فترة المهلة. يتم وضع علامة على المسار بناءً على عدد طلبات التحقيق التي انتهت مهلتها، والتي تم تكوينها بحيث لا يتم الرد عليها قبل وضع علامة على المسار. 2. يتلقى المسار إعادة تعيين TCP من المثيل. فشل فحص HTTP/HTTPS عندما: 1. تقوم نقطة نهاية التحقيق بإرجاع رمز استجابة HTTP غير 200 (على سبيل المثال، 403 أو 404 أو 500). 2. لا تستجيب نقطة نهاية المسار على الإطلاق خلال الحد الأدنى من فاصل الفحص وفترة المهلة البالغة 30 ثانية. قد لا يتم الرد على طلبات الفحص المتعددة قبل أن يتم وضع علامة على المسار على أنه لا يعمل وحتى الوصول إلى مجموع كل فترات المهلة. 3. تغلق نقطة نهاية المسار الاتصال عبر إعادة تعيين TCP.
دقق في السلوك تعتبر تحقيقات صحة TCP صحية وتميز نقطة النهاية الخلفية على أنها سليمة عندما: 1. نجح المسار الصحي مرة واحدة بعد حذاء VM. 2. أي نقطة نهاية للخلفية وحالتها سليمة تكون مؤهلة لتلقي تدفقات جديدة. يتم ترميز اختبار الصحة عندما يستجيب المثيل بحالة HTTP 200 خلال فترة المهلة. تعتبر تحقيقات صحة HTTP/HTTPS صحية وتميز نقطة النهاية الخلفية على أنها سليمة عندما: 1. نجح المسار الصحي مرة واحدة بعد حذاء VM. 2. أي نقطة نهاية للخلفية وحالتها سليمة تكون مؤهلة لتلقي تدفقات جديدة.

إشعار

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

سلوك الفحص

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

الفاصل الزمني للتحقيق ومهلة الفحص

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

لضمان تلقي استجابة في الوقت المناسب، تحتوي تحقيقات صحة HTTP/S على مهلات مضمنة. فيما يلي مدد المهلة لفحوصات TCP وHTTP/S:

  • مدة مهلة فحص TCP: N/A (ستفشل الفحوصات بمجرد مرور مدة الفاصل الزمني للفحص المكون وإرسال الفحص التالي)
  • مدة مهلة فحص HTTP/S: 30 ثانية

بالنسبة إلى تحقيقات HTTP/S، إذا كان الفاصل الزمني الذي تم تكوينه أطول من فترة المهلة المذكورة أعلاه، فسيفشل فحص السلامة في حالة عدم تلقي أي استجابة خلال فترة المهلة. على سبيل المثال، إذا تم تكوين فحص صحة HTTP بفاصل زمني للفحص يبلغ 120 ثانية (كل دقيقتين)، ولم يتم تلقي استجابة المسبار خلال أول 30 ثانية، فسيكون المسبار قد وصل إلى فترة المهلة الخاصة به وفشل.

إرشادات التصميم

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

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

  • للحصول على تطبيق UDP متوازن الحمل، قم بإنشاء إشارة فحص صحة مخصص من نقطة نهاية الخلفية. استخدم TCP أو HTTP أو HTTPS للفحص الصحي الذي يطابق وحدة الاستماع المطابقة.

  • قاعدة موازنة تحميل منافذ قابلية وصول عالية مع موازنة التحميل القياسية. يتم موازنة حمل كل المنافذ ويجب أن تعكس استجابة فحص الصحة الفردي حالة المثيل بالكامل.

  • لا تترجم أو تُوكّل تحقيقًا صحيًا من خلال المثيل الذي يستقبل تحقيق الصحة إلى مثيل آخر في شبكتك الافتراضية. يمكن أن يؤدي هذا التكوين إلى فشل في السيناريو الخاص بك. على سبيل المثال: يتم نشر مجموعة من أجهزة جهة خارجية في المجموعة الخلفية لموازنة التحميل لتوفير سعة وتكرار للأجهزة. تم تكوين التحقيق الصحي للتحقق من منفذ يقوم الجهاز التابع لجهة خارجية بتوكيله أو ترجمته إلى أجهزة ظاهرية أخرى خلف الجهاز. إذا قمت بفحص نفس المنفذ المستخدم لترجمة طلبات الوكيل أو إلى الأجهزة الظاهرية الأخرى خلف الجهاز، فإن أي استجابة مسبار من جهاز ظاهري واحد تشير إلى الجهاز. يمكن أن يؤدي هذا التكوين إلى حالات فشل متتالية للتطبيق. يمكن أن يكون المشغل فشلا متقطعا في التحقيق يؤدي إلى وضع علامة على مثيل الجهاز لموازن التحميل. يمكن أن يؤدي هذا الإجراء إلى تعطيل التطبيق. تحقق من صحة الجهاز نفسه. يعد اختيار التحقيق لتحديد إشارة الصحة هو أحد الاعتبارات المهمة لسيناريوهات الأجهزة الافتراضية للشبكة (NVA). استشر مورد التطبيق الخاص بك لمعرفة إشارة الصحة المناسبة لمثل هذه السيناريوهات.

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

  • لاحظ أن تعريف الفحص ليس إلزاميا أو محددا عند استخدام Azure PowerShell أو Azure CLI أو القوالب أو واجهة برمجة التطبيقات. يتم إجراء اختبارات التحقق من صحة الفحص فقط عند استخدام مدخل Microsoft Azure.

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

  • تأكد من تشغيل مثيلات الجهاز الظاهري. لكل مثيل قيد التشغيل في تجمع الواجهة الخلفية، يتحقق فحص السلامة من التوفر. إذا تم إيقاف مثيل، فلن يتم فحصه حتى يتم تشغيله مرة أخرى.

  • لا تقم بتكوين الشبكة الظاهرية باستخدام نطاق عناوين IP المملوك لـ Microsoft والذي يحتوي على 168.63.129.16. يتصادم التكوين مع عنوان IP للتحقيق الصحي ويمكن أن يتسبب في فشل السيناريو الخاص بك.

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

  • على عكس قواعد موازنة التحميل، لا تحتاج قواعد NAT الواردة إلى فحص صحة مرفق بها.

مراقبة‬

يعرض موازن التحميل القياسي حالة فحص صحة نقطة النهاية ونقطة النهاية الخلفية من خلال Azure Monitor. يمكن أن تستهلك خدمات Azure الأخرى أو تطبيقات الشركاء هذه المقاييس. سجلات Azure Monitor غير مدعومة لموازن التحميل الأساسي.

فحص عنوان IP للمصدر

لكي يقوم مسبار صحة Load Balancer بوضع علامة على المثيل الخاص بك، يجب السماح بعنوان IP 168.63.129.16 في أي مجموعات أمان شبكة Azure ونهج جدار الحماية المحلية. تحدد علامة خدمة موازنة تحميل Azure عنوان IP المصدر هذا في مجموعات أمان الشبكة وتسمح بنسبة استخدام فحص الصحة للشبكة افتراضياً. يمكنك معرفة المزيد عن عنوان IP هذا هنا.

إذا لم تسمح ب IP المصدر للمسبار في نهج جدار الحماية، يفشل فحص السلامة لأنه غير قادر على الوصول إلى المثيل الخاص بك. بدوره، يضع Azure Load Balancer علامة على المثيل الخاص بك على أنه لأسفل بسبب فشل فحص السلامة. يمكن أن يؤدي هذا التكوين الخاطئ إلى فشل سيناريو التطبيق المتوازن. تنشأ جميع تحقيقات صحة IPv4 Load Balancer من عنوان IP 168.63.129.16 كمصدر لها. تستخدم تحقيقات IPv6 عنوانا محليا للارتباط كمصدر لها.

القيود

  • لا تدعم تحقيقات HTTPS المصادقة المتبادلة مع شهادة العميل.

  • يجب أن تفترض فشل فحوصات السلامة عند تمكين الطوابع الزمنية TCP.

  • لا يتم دعم تحقيق الصحة لموازنة تحميل أساسية لوحدة حفظ المخزون مع مجموعة مقياس جهاز ظاهري.

  • لا تدعم تحقيقات HTTP التحقق من المنافذ التالية بسبب مخاوف أمنية: 19 و 21 و 25 و 70 و 110 و 119 و 143 و 220 و 993.

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