Amazon Elastic Load Balancing موازنة تحميل بنية عالية قابلة للاستخدام: تزويد الخادم الخاص بك بأعلى مستوى من "شرطة المرور"

2026-05-27 阅读 12
1

في عالم الإنترنت ، هناك شيئان أكثر ما يجعل المهندسين المعماريين ورؤسائهم غير نائمين:

أحدهما هو أن الزيادة المفاجئة في حركة المرور جرفت الخادم ، والآخر هو أن الخادم "توقف" فجأة وشل المحطة بأكملها.

إذا قارنت مجموعة الخوادم الخلفية الخاصة بك بصراف بنك ، فعندما يكون هناك عميل واحد أو اثنين فقط ، يكون الجميع في سلام. ولكن عندما تأتي Double Eleven أو Black Five أو الأخبار العاجلة ، يتدفق الآلاف من العملاء على الفور. لن يصطف الصراف وحده (موقع الويب) فحسب ، بل سينهار الصراف مباشرة بسبب العمل الزائد (الخادم معطل).

كيف تنكسر ؟ تحتاج إلى "مدير ردهة" ذكي وقادر للحفاظ على النظام وتوزيع العملاء بالتساوي على كل نافذة خاملة. في بيئة Amazon Cloud Technology (AWS) ، هذا الدور هو

ELB(Elastic Load Balancing ، توازن التحميل المرن)

.

اليوم ، لا نستخدم مصطلحات PPT الغامضة ، لكننا نستخدم وجهة نظر قتالية بحتة لتفكيك كيفية استخدام ELB لبناء "بنية موازنة تحميل عالية الاستخدام" غير قابلة للتدمير.

1. الاختيار الأساسي: ثلاثة أفراد من عائلة ELB ، أي واحد يجب أن تختار ؟

ELB من AWS ليس منتجًا واحدًا ، ولكنه مشتق من ثلاثة اتجاهات رئيسية لسيناريوهات عمل مختلفة. اختيار النموذج الخطأ يشبه استخدام سيارة رياضية لسحب البضائع ، أو استخدام شاحنة لسباق ، وهو مضيعة للمال ولا يحقق النتائج.

1. ALB (Application Load Balancer) -تطبيق موازن تحميل

تحديد المواقع: ركز على حركة مرور HTTP/HTTPS (أي طبقة التطبيق في بروتوكول الطبقة السابعة للشبكة).

فريدة من نوعها: وظيفة التوجيه المتقدمة. يمكنه فهم محتوى الطلب. على سبيل المثال ، وصول المستخدم كما يدعم توزيع حركة المرور على أساس اسم المجال (Host) أو Header أو حتى سلاسل الاستعلام.

سيناريوهات قابلة للتطبيق: معظم تطبيقات الويب ، وهندسة الخدمات المصغرة ، وتطبيقات الحاوية (ECS/EKS).

2. NLB (Network Load Balancer) -موازن تحميل الشبكة

تحديد المواقع: ركز على حركة مرور TCP/UDP/TLS (طبقة النقل في بروتوكول الطبقة الرابعة للشبكة).

فريدة من نوعها: الأداء النهائي والتأخير المنخفض للغاية. NLB قادر على التعامل مع ملايين الطلبات المفاجئة في الثانية. والأسوأ من ذلك ، أنه يدعم عنوان IP ثابت. يمكن ربط كل منطقة قابلة للاستخدام بعنوان IP مرن ثابت ، وهو أمر مطلوب فقط لرسو السفن على مستوى المؤسسات التي تحتاج إلى إنشاء قائمة بيضاء لجدار الحماية.

سيناريوهات قابلة للتطبيق: خوادم الألعاب ، وأنظمة المعاملات المالية عالية التردد ، ومستقبل بيانات إنترنت الأشياء (IoT).

3. GLB (Gateway Load Balancer)

-- موازنة تحميل البوابة

تحديد المواقع: تستخدم خصيصًا لإدارة أجهزة الأمان الافتراضية التابعة لجهات خارجية (مثل جدران الحماية وأنظمة الكشف عن التسلل).

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

2. التصميم المعماري عالي المتاح: كيف يحقق ELB "الشفاء الذاتي للفشل" ؟

سيكون لدى العديد من المبتدئين سؤال: "لقد سلمت حركة المرور إلى ELB ، فماذا لو تم تعليق ELB بنفسي ؟ ألن تصبح نقطة فشل واحدة ؟"

لقد أخذت AWS هذا في الاعتبار منذ فترة طويلة. في اسم ELB

Elastic (مرونة)

يحتوي على معنيين:

مرونة القدرة

و

مرونة العمارة

.

1. عالية متاحة عبر المناطق المتاحة (Multi-AZ)

عند تصميم بنية ELB ، فإن المبدأ الأساسي هو

لا تضع البيض في سلة واحدة

.

تحتوي كل منطقة جغرافية (منطقة) من AWS على عدة مناطق قابلة للاستخدام مستقلة عن بعضها البعض (AZ). يحتوي كل AZ على طاقة وشبكة ونظام تبريد مستقل.

عند إنشاء ELB ، يفرض النظام عليك اختيار منطقتين متاحتين على الأقل. في الواقع ، سيقوم ELB تلقائيًا بنشر "Node" لموازنة التحميل في كل منطقة قابلة للاستخدام تختارها.

عندما يبدأ المستخدم طلبًا ، سيقوم DNS بتوزيع استفسارات المرور على هذه العقد المختلفة المتاحة.

إذا كانت المنطقة القابلة للاستخدام A مشلولة تمامًا بسبب الأمطار الغزيرة وانقطاع التيار الكهربائي ، فإن تحليل DNS للطبقة العليا من ELB سيقطع حركة المرور تلقائيًا ويصب كل ذلك في العقد في المنطقة القابلة للاستخدام B. العملية برمتها غير مدركة تماما للمستخدمين.

2. الفحص الصحي: القضاء بدقة على "الخراف السوداء"

القاتل الكبير الآخر الذي يمكن أن تبقى ELB عالية هو

الفحص الصحي

.

يجب عليك تكوين قاعدة لـ ELB ، مثل:

كل 10 ثوانٍ ، يتم إرسال طلب HTTP إلى مسار/health للخادم الخلفي. إذا عدت 200 OK 3 مرات متتالية ، فهذا يعني أن الخادم على قيد الحياة ؛ إذا لم تستجب مرتين متتاليتين ، تقرر أن الخادم "مريض".

بمجرد اعتبار الخادم غير صحي ، سيضعه ELB على الفور

سحب الأسود

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

3. التدريبات القتالية الفعلية: قم ببناء مجموعة من بنية الويب القابلة للاستخدام عالية ALB Multi-AZ

بعد ذلك ، نأخذ مثال ALB الأكثر كلاسيكية ونأخذ عملية التكوين القياسية لبيئة الإنتاج.

الخطوة الأولى: إعداد "مجموعة الهدف" الخلفية

قبل تكوين معادلة التحميل ، يجب أن نخبرها "لمن يرسل حركة المرور". في AW

في S ، تسمى هذه المجموعة الخلفية المجموعة المستهدفة.

افتح وحدة التحكم EC2 ، وابحث عن مجموعة Target في شريط التنقل الأيسر ، وانقر على مجموعة Create target.

حدد نوع الهدف ، وعادة ما تختار Instances (مثيلات) ، أدخل الاسم.

البروتوكول والمنافذ: اختر HTTP:80 (أو المنفذ الذي يعمل التطبيق الخاص بك).

فحص الصحة: فحص المسار عادة ما يكتب واجهة حالة الخدمة الخاصة بك ، مثل/أو/status.html. قم بتوسيع الإعدادات المتقدمة ، واضبط "العتبة الصحية" على 3 ، و "العتبة غير الصحية" على 2 ، و "الوقت الإضافي" على 5 ثوانٍ ، و "الفاصل الزمني" على 10 ثوانٍ.

انقر على التالي ، ضع علامة على مثيلات خادم الويب التي بدأتها في مناطق مختلفة متاحة (مثل AZ-A AZ-B) ، وانقر على Create target group.

الخطوة الثانية: إنشاء Application Load Balancer

في شريط التنقل الأيسر ، انقر على Load Balancers ، وانقر على Create load balancer ، واختر Application Load Balancer.

مخطط (مخطط): اختر الإنترنت-facing (الموجهة نحو الإنترنت). إذا كنت تقوم بحمل خدمات الشبكة الصغيرة الداخلية ، فاختار Internal.

Network mapping: اختر VPC الخاص بك. الخطوة الأساسية: ضع علامة على منطقتين متاحتين على الأقل (مثل us-east-1a us-east-1b) ، وحدد الشبكة الفرعية العامة (Subnet) المقابلة لكل منطقة قابلة للاستخدام.💡دليل تجنب حفرة الهندسة المعمارية: يجب أن يكون ALB نفسه مقيمًا في الشبكة الفرعية للشبكة العامة حتى يتمكن من الحصول على IP للشبكة العامة لتلقي حركة مرور الإنترنت. لكن! يمكن لخادم الويب الخلفي (EC2) ، ويوصى بشدة بوضعه في ** Subnet الخاص **. بهذه الطريقة ، لا يمكن لأي شخص في العالم الخارجي مهاجمة الخادم الخاص بك مباشرة من خلال بروتوكول الإنترنت الخاص بك ، ويتم تنفيذ جميع الحماية الأمنية بواسطة ALB الأمامي ، ويتم ملء أمن البنية على الفور.

الخطوة الثالثة: تكوين مجموعات الأمان مع المستمعين

مجموعات الأمان: لربط مجموعة أمان لـ ALB ، يجب تشغيل منافذ TCP 80(HTTP) و TCP 443(HTTPS).

Listeners and routing (المستمع والتوجيه): يوجد جهاز مراقبة HTTP:80 افتراضيًا. في قائمة Forward to (إعادة التوجيه إلى) المنسدلة ، حدد "المجموعة المستهدفة" التي أنشأنا في الخطوة الأولى. مثل

إذا كان لديك شهادة SSL ، انقر فوق Add listener ، وإضافة HTTPS:443 ، وتكوين شهادة اسم المجال الخاص بك.

انقر في الأسفل

Create load balancer

. بعد حوالي دقيقتين ، تصبح حالة ALB

أكتيف

، ستحصل على اسم DNS طويل (على سبيل المثال:

My-alb-123456789.us-east-1.elb.amazonaws.com

).

رابعًا ، تقدم متقدم: جنبًا إلى جنب مع Auto Scaling (التلسكوب المرن) ، وتحقيق أعلى مستوى ممكن

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

لتحقيق "الحرية المرنة" الحقيقية ، تحتاج إلى وضع

ELB

و

Auto Scaling (التلسكوبات المرنة التلقائية)

ربط معا.

[طلب المستخدم] -> [ELB] -> [زيادة/نقصان تلقائي في عدد EC2 بناءً على حركة المرور (Auto Scaling Group)]

عندما يأتي Double Eleven ، يرتفع التدفق:

وجدت مراقبة CloudWatch أن متوسط وحدة المعالجة المركزية للخادم الخلفي ارتفع إلى 80 ٪.

يتلقى Auto Scaling الإشارة ويقوم تلقائيًا بتعبئة 5 خوادم EC2 جديدة تمامًا على الفور.

المكان الأكثر روعة هنا: بعد إطلاق الخادم الجديد ، سيقدم Auto Scaling تقريرًا تلقائيًا إلى المجموعة المستهدفة في ELB: "مدير التقارير ، أنا الصراف الجديد ، جاهز!"

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

في الساعة الثانية صباحًا ، انحسرت حركة المرور ، وخفضت وحدة المعالجة المركزية. سيقوم Auto Scaling تلقائيًا بتدمير هذه الأجهزة الخمسة لتوفير المال. سيقوم ELB أيضًا بفصل الاتصال بأناقة (Deregistration Delay) للتأكد من أن الطلبات التي تتم معالجتها تنتهي بشكل طبيعي ، ثم يتم نقلها خارج المجموعة.

خاتمة

في البنية السحابية الأصلية الحديثة ، فإن Amazon ELB ليس بالتأكيد "جهاز إرسال مرسل" بسيط ، فهو عبارة عن بنية قابلة للاستخدام بالكامل

القائد

.

إنه يمنع الكوارث المادية من خلال نشر العقد عبر المناطق المتاحة ، ويعزل الأعطال الداخلية للنظام من خلال الفحوصات الصحية الصارمة ، ويمنح إمكانية تمديد غير محدود للأعمال من خلال التعاون المثالي مع Auto Scaling. إذا فهمت منطق التشغيل وتفاصيل التكوين الخاصة بـ ELB ، فستمسك بالمفتاح الأساسي لبناء موقع ويب حديث عالي التزامن وغير مكتمل.

1
← 返回新闻中心