0Pricing
Cloud & IT Cert Prep · درس

مجموعات الأهداف وفحوصات السلامة

سجّلوا مثيلات EC2 أو عناوين IP أو وظائف Lambda كأهداف، واضبطوا مسارات فحوصات السلامة وعتباتها وفواصلها الزمنية.

مجموعات الأهداف وفحوصات السلامة درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ما مجموعات الأهداف؟

مجموعة الأهداف هي مجموعة منطقية من الأهداف التي يوجّه موازن التحميل الطلبات إليها. ولكل مجموعة أهداف نوع هدف وبروتوكول/منفذ وإعداد لفحص السلامة. يوزّع موازن التحميل الطلبات على الأهداف المسجلة في مجموعة الأهداف التي تنجح في فحوصات السلامة.

ترتبط مجموعات الأهداف بمستمعي موازن التحميل من خلال قواعد المستمع. ويمكن لمستمع واحد التوجيه إلى مجموعات أهداف متعددة استنادًا إلى سمات الطلب. وهذه هي الآلية الأساسية وراء التوجيه القائم على المسار والقائم على المضيف في ALB.

# Create a target group for an ALB
aws elbv2 create-target-group \
  --name my-web-targets \
  --protocol HTTP \
  --port 80 \
  --vpc-id vpc-12345678 \
  --target-type instance \
  --health-check-path /health \
  --health-check-interval-seconds 30

أنواع الأهداف: Instance وIP وLambda

تدعم مجموعات الأهداف ثلاثة أنواع من الأهداف:

  • instance: يوجّه إلى مثيلات EC2 باستخدام معرّف المثيل؛ ويرسل موازن التحميل حركة المرور إلى واجهة الشبكة الأساسية للمثيل على المنفذ المحدد
  • ip: يوجّه إلى عناوين IP خاصة—وهو مفيد للأهداف الموجودة في الحاويات (ECS/EKS)، أو الخوادم المحلية التي يمكن الوصول إليها عبر VPN/Direct Connect، أو عناوين IP الثانوية لمثيلات EC2
  • lambda: يوجّه إلى دالة Lambda واحدة (في ALB فقط)؛ إذ يحوّل ALB طلب HTTP إلى حدث JSON ويستدعي الدالة بشكل متزامن

يلزم استخدام نوع الهدف IP لمهام ECS التي تستخدم وضع الشبكة awsvpc (إذ تحصل كل مهمة على عنوان IP خاص بها)، ولقطع EKS، وللبنى المختلطة التي تتضمن أهدافًا محلية.

تسجيل الأهداف

يمكنكم تسجيل الأهداف في مجموعة أهداف يدويًا (من خلال وحدة التحكم أو CLI) أو تلقائيًا (عبر إرفاق مجموعة Auto Scaling أو إعداد خدمة ECS). تظل الأهداف المسجلة يدويًا في المجموعة حتى تقوموا بإلغاء تسجيلها صراحةً.

بالنسبة إلى ASG، تقومون بإرفاق ASG بمجموعة أهداف، ثم تسجل ASG المثيلات التي أُطلقت حديثًا تلقائيًا وتلغي تسجيل المثيلات التي تم إنهاؤها. يُعد هذا التكامل الوثيق مع ASG النمط القياسي لطبقات الحوسبة المرنة؛ إذ تصبح المثيلات الجديدة متاحة وتبدأ في تلقي حركة المرور فور اجتيازها فحص الصحة.

# Register EC2 instances with a target group
aws elbv2 register-targets \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --targets Id=i-1234567890abcdef0 Id=i-0987654321fedcba0

# Register IP targets (for containers/ECS awsvpc)
aws elbv2 register-targets \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-ip-targets/def456 \
  --targets Id=10.0.0.5,Port=8080 Id=10.0.0.6,Port=8080

إعداد فحص الصحة

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

  • البروتوكول: HTTP أو HTTPS أو TCP (بالنسبة إلى NLB)
  • المسار: مسار URL المطلوب (مثل /health أو /ping)
  • المنفذ: المنفذ المطلوب فحصه (يكون افتراضيًا منفذ مجموعة الأهداف)
  • حد الصحة: عدد النجاحات المتتالية قبل وضع علامة سليم
  • حد عدم الصحة: عدد الإخفاقات المتتالية قبل وضع علامة غير سليم
  • الفاصل الزمني: عدد الثواني بين فحوصات الصحة (من 5 إلى 300)
  • المهلة: عدد الثواني اللازمة لانتظار الاستجابة

رموز نجاح فحص الصحة

بالنسبة إلى فحوصات الصحة عبر HTTP/HTTPS، تحددون رموز استجابة HTTP التي تشير إلى أن الهدف سليم. القيمة الافتراضية هي 200، ولكن يمكنكم إعداد نطاقات مثل 200-299 أو قيم مفصولة بفواصل مثل 200,301,302.

أفضل ممارسة: أنشئوا نقطة نهاية مخصصة باسم /health في تطبيقكم، وتُرجع 200 فقط عندما تكون جميع التبعيات المهمة متاحة (اتصال قاعدة البيانات وذاكرة التخزين المؤقت والخدمة التابعة). لا تستخدموا عنوان URL الجذر (/) باعتباره مسار فحص الصحة إذا كان ينفذ عمليات مكلفة أو يتطلب مصادقة.

# Modify health check to accept 200-299
aws elbv2 modify-target-group \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --health-check-path /health \
  --matcher HttpCode=200-299 \
  --healthy-threshold-count 2 \
  --unhealthy-threshold-count 3 \
  --health-check-interval-seconds 15

حالات الأهداف: initial وhealthy وunhealthy

يمر الهدف بالحالات التالية بعد تسجيله:

  • initial: ينفذ ELB فحوصات الصحة الأولية
  • healthy: اجتاز العدد المطلوب من فحوصات الصحة المتتالية؛ ويتلقى حركة المرور
  • unhealthy: أخفق في العدد المطلوب من فحوصات الصحة المتتالية؛ وتتم إزالته من التناوب
  • draining: جارٍ إلغاء التسجيل؛ ويُسمح للاتصالات الحالية باكتمالها، ولكن لا تُرسل اتصالات جديدة
  • unused: مسجل في المجموعة، ولكن لا توجد حاليًا قاعدة مستمع توجه حركة المرور إلى هذه المجموعة

راقبوا مقاييس CloudWatch، مثل UnHealthyHostCount وHealthyHostCount، لاكتشاف المشكلات في مجموعة أهدافكم.

مهلة إلغاء التسجيل (تصريف الاتصالات)

مهلة إلغاء التسجيل (التي كانت تُسمى سابقًا تصريف الاتصالات) هي المدة التي ينتظرها ELB حتى تكتمل الاتصالات الحالية قبل إلغاء تسجيل الهدف نهائيًا. القيمة الافتراضية هي 300 ثانية (5 دقائق). خلال هذه المدة، لا تُرسل طلبات جديدة إلى الهدف الذي يجري إلغاء تسجيله، ولكن يُسمح للطلبات قيد التنفيذ بالاكتمال.

بالنسبة إلى عمليات النشر السريعة وإنهاء المثيلات نتيجة التوسع التلقائي، قد ترغبون في تقليل هذه المدة إلى 30–60 ثانية إذا كان تطبيقكم يعالج الطلبات بسرعة. أما بالنسبة إلى العمليات طويلة التنفيذ (مثل تحميل الملفات ومعالجة الفيديو)، فأبقوا المدة طويلة بما يكفي حتى تكتمل تلك العمليات دون انقطاع.

# Reduce deregistration delay to 30 seconds
aws elbv2 modify-target-group-attributes \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --attributes Key=deregistration_delay.timeout_seconds,Value=30

خوارزميات موازنة التحميل

تدعم مجموعات الأهداف خوارزميات مختلفة لموازنة التحميل:

  • Round robin (الخيار الافتراضي في ALB): توزع الطلبات بالتساوي وبالتناوب؛ وهي الأفضل عندما تكون جميع الأهداف متكافئة
  • Least outstanding requests (في ALB): ترسل كل طلب جديد إلى الهدف الذي لديه أقل عدد من الطلبات قيد التنفيذ؛ وهي أفضل لأحمال العمل ذات المدد المتفاوتة، حيث تستغرق بعض الطلبات وقتًا أطول من غيرها
  • Flow hash (في NLB): يوزع الطلبات استنادًا إلى البروتوكول وعناوين IP المصدر والوجهة ومنافذ المصدر والوجهة ورقم تسلسل TCP؛ ويضمن توجيه جميع الحزم في تدفق TCP/UDP واحد إلى الهدف نفسه

بالنسبة إلى التطبيقات المعتمدة على الجلسات، حيث يجب أن تصل جميع طلبات المستخدم إلى الهدف نفسه، فعّلوا الجلسات الثابتة بدلًا من الاعتماد على التوزيع بأسلوب round-robin.

مجموعات أهداف متعددة والتوجيه الموزون

يمكن لقاعدة مستمع واحدة في ALB توزيع حركة المرور على مجموعات أهداف متعددة باستخدام مجموعات الأهداف الموزونة. على سبيل المثال، يمكن توجيه 90% من حركة المرور إلى مجموعة أهداف مستقرة و10% إلى مجموعة أهداف تجريبية في عمليات النشر الأزرق-الأخضر، دون استخدام التوجيه الموزون في Route 53.

تُعد مجموعات الأهداف الموزونة على مستوى قاعدة المستمع. وتكون الأوزان نسبية؛ إذ يؤدي التوزيع 90/10 إلى إرسال 90% إلى المجموعة الأولى و10% إلى المجموعة الثانية. ويختلف ذلك عن التوجيه الموزون عبر عدة موازنات ALB؛ إذ يحدث التوزيع هنا ضمن قاعدة مستمع واحدة في ALB.

تكامل مجموعات الأهداف مع ECS

عند نشر خدمات ECS خلف ALB، تُسجَّل كل مهمة ECS في مجموعة أهداف ALB باستخدام نوع الهدف ip (عند استخدام وضع الشبكة awsvpc). تدير خدمة ECS التسجيل وإلغاء التسجيل تلقائيًا؛ إذ تُسجَّل المهام الجديدة بعد اجتياز فحوصات الصحة، ويؤدي إيقاف المهام إلى بدء مهلة إلغاء التسجيل قبل الإنهاء.

يمكن لكل خدمة ECS التسجيل باستخدام تجاوز محدد للمنفذ، مما يتيح لعدة خدمات ECS مشاركة ALB واحد عبر قواعد مستمع مختلفة (مبنية على المسار أو المضيف) مع مجموعات أهداف مختلفة؛ وهو نمط شائع في البنى القائمة على الخدمات المصغرة.

فحوصات صحة NLB

يختلف سلوك فحص الصحة في NLB عن ALB:

  • يدعم NLB بروتوكولات فحص الصحة TCP وHTTP وHTTPS بغض النظر عن بروتوكول المستمع
  • تُرسل فحوصات صحة NLB من عناوين IP الخاصة بـ NLB في كل AZ؛ لذا تأكدوا من أن مجموعات الأمان تسمح بحركة المرور من عناوين IP للشبكة الفرعية الخاصة بـ NLB، أو استخدموا مجموعة الأمان الخاصة بـ NLB نفسه
  • بالنسبة إلى فحوصات صحة TCP، يعتبر NLB الهدف سليمًا إذا قبل اتصال TCP على المنفذ المحدد
  • تُزال أهداف NLB التي تفشل في فحوصات الصحة بحسب AZ؛ وإذا كانت جميع أهداف إحدى AZ غير سليمة، فقد يوازن NLB التحميل عبر المناطق إلى أهداف سليمة في AZs أخرى (إذا كان موازنة التحميل عبر المناطق مفعّلًا)

تحقق سريع

اختبروا مدى فهمكم لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

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

الأسئلة الشائعة

هل درس «مجموعات الأهداف وفحوصات السلامة» مجاني؟

نعم — نص درس «مجموعات الأهداف وفحوصات السلامة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ماذا ستتعلم في «مجموعات الأهداف وفحوصات السلامة»؟

سجّلوا مثيلات EC2 أو عناوين IP أو وظائف Lambda كأهداف، واضبطوا مسارات فحوصات السلامة وعتباتها وفواصلها الزمنية. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «مجموعات الأهداف وفحوصات السلامة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ALB مقابل NLB مقابل GLB: متى تستخدمون كلًا منها
  2. مجموعات الأهداف وفحوصات السلامة
  3. قواعد المستمع والتوجيه المستند إلى المسار
  4. إنهاء SSL والجلسات الثابتة
← العودة إلى Cloud & IT Cert Prep