موازنة التحميل المتقدمة والمجموعات في Amazon Web Services

عرض الفئات

موازنة التحميل المتقدمة والمجموعات في Amazon Web Services

11 دقائق للقراءة

المقدمة #

تشرح المقالة التالية كيفية إعداد خدمات موازنة الأحمال المتقدمة باستخدام موازن الأحمال Relianoid لتحقيق التوافر العالي في بنية Amazon Web Services EC2 التحتية . سنشرح إجراءات تكوين مجموعة Relianoid وتكوين ملف تعريف موازنة أحمال TCP لموازنة أحمال خدمات HTTP مع 3 خوادم خلفية للويب.

البنية التحتية لـ AWS وRelianoid #

يوضح الرسم التخطيطي التالي الهندسة المعمارية التي نريد تنفيذ موازنة تحميل الويب بها باستخدام Relianoid Application Delivery Controller في AWS.

يلزم نشر اثنين من وحدات التحكم في تسليم التطبيقات Relianoid، وهذا القالب متاح في سوق Amazon Web Services، ويتم تكوين كل وحدة تحكم في تسليم التطبيقات Relianoid في نفس VPC مثل خوادم الواجهة الخلفية للويب كما هو موضح في الرسم التخطيطي أعلاه مع الشبكة الفرعية 17.32.16.0./20.

يتم تكوين كل مثيل من مثيلات Relianoid ADC بواجهة واحدة eth0 ، ويتم تعيين كل مثيل لعنوان IP مرن واحد ، كما يتم تعيين عنوان IP مرن إضافي لعنوان IP إضافي من خلال eth0 في مثيل ZLB1-prod والذي سيتم استخدامه لأغراض موازنة الأحمال، كما هو موضح أدناه:

منتج ZLB1 معين 172.31.20.89 في eth0، سيتم الوصول إلى هذه المثيل مباشرةً بواسطة أحد IP مرن 34.225.30.206
منتج ZLB2 معين 172.31.26.237 في eth0، سيتم الوصول إلى هذه المثيل مباشرةً بواسطة أحد IP مرن 54.161.240.226

تم تخصيص عنوان IP إضافي لـ ZLB1-prod وتكوينه في موازن الأحمال باسم eth0:vip1 وعنوان IP 172.31.26.47 . يُستخدم هذا العنوان لتكوين خدمة موازنة أحمال واحدة، وليكون جزءًا من خدمة المجموعة . لذا، سيعمل هذا العنوان فقط على مثيل واحد من مثيلات Relianoid في كل مرة، وهو الذي يدير دور ACTIVE في المجموعة. يُخصص هذا العنوان الداخلي لعنوان IP مرن واحد، والذي يستخدمه العملاء للاتصال بخدمة الويب المنشورة.

وأخيرًا ، فإن backend01 و backend02 و backend03 هي مثيلات EC2 مع خوادم الويب المستندة إلى Linux، وهذه المثيلات هي جزء من خدمة موازنة الأحمال حيث يتصل العميل عند طلبه http://54.144.190.17/.

نشر مثيلين من Relianoid في AWS Marketplace #

دعنا ننشر اثنين من موازنات تحميل Relianoid ونقوم بتكوينهما كما هو موضح سابقًا.

انتقل إلى قسم مثيلات EC2 واضغط على تشغيل مثيل.

١. ابحث عن صورة نظام إدارة الأحمال Relianoid Load Balancer Enterprise Edition AMI المطلوبة. تعتمد هذه الصورة على نموذج ترخيص BYOL. مرحلة التقييم مجانية، ويشمل السعر الدعم الفني لمدة شهر واحد، وبعد ذلك يلزم الحصول على ترخيص نهائي للعمل.

٢. اختر نوع المثيل . حدد هنا المثيل المطلوب بناءً على الموارد التي ترغب في موازنة تحميلها. يُعد مثيل t2.small مناسبًا للبدء بالعمل مع ملفات تعريف الطبقة الرابعة ، ولكن إذا كنت ترغب في استخدام ملفات تعريف HTTP ، فنوصي على الأقل بمثيل t2.medium . مع ذلك، يُعد مثيل t2.micro كافيًا لأغراض الاختبار.

3. تكوين تفاصيل المثيل . حدد هنا شبكة VPC التي تشغل مثيلات Relianoid الجديدة، في مثال التكوين هذا سنقوم بإدخال مثيلات Relianoid EC2 في نفس شبكة VPC مثل خوادم الويب الخلفية الحقيقية التي تم تكوينها بالفعل.

٤. إضافة مساحة تخزين . يتطلب مثيل Relianoid EC2 افتراضيًا مساحة تخزين لا تقل عن ١٢ جيجابايت. إذا كنت ترغب في تفعيل سجلات النظام افتراضيًا، فننصح بزيادة هذه المساحة إلى ٢٠ جيجابايت على الأقل. لا يحتاج Relianoid إلى الوصول إلى القرص، بل فقط لحفظ السجلات، لذا يُعد نوع وحدة التخزين للأغراض العامة خيارًا مناسبًا.

5. إضافة الوسوم . قم بتكوين بعض وسوم الوصف هنا إذا رغبت في ذلك.

٦. تكوين مجموعة الأمان . يستخدم Relianoid افتراضيًا منفذ TCP رقم ٤٤٤ لإدارة واجهة المستخدم الرسومية عبر HTTPS، والمنفذ ٩٩٩٩ لبرنامج مزامنة الجلسات، ومنفذ TCP رقم ٢٢ في SSH لإدارة سطر الأوامر والتجميع. بالإضافة إلى ذلك، يجب تضمين كل منفذ افتراضي مستخدم في خدمات موازن الأحمال الافتراضية في مجموعة الأمان الخاصة بك. لقد قمنا بتكوين مجموعة أمان تُستخدم لمثيلات Relianoid EC2 هذه في وضع أقل تقييدًا كما يلي:

النوع = كل حركة المرور البروتوكول = الكل نطاق المنفذ = الكل المصدر = 0.0.0.0/0 الوصف = السماح بالكل من الكل إلى الكل

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

بمجرد عودة مساعد التكوين إلى قائمة مثيلات EC2، سيبدأ نشر الجهاز الجديد وستظهر حالة " جارٍ التهيئة ". بعد ذلك، قم بتكوين اسم وصفي في حقل " الاسم" ، وفي حالتنا، يُطلق على موازنات الأحمال المنشورة في EC2 اسمي ZLB1-prod و ZLB2-prod.

تكوين الشبكة لمثيلات Relianoid EC2 #

بمجرد نشر الأجهزة الافتراضية من نوع Relianoid وظهور حالة التشغيل في حالة المثيل ، يمكننا المتابعة لتكوين الشبكة.

انقر على الزر الأيمن فوق جهاز ZLB1-prod واختر "الشبكات" > "إدارة عناوين IP" . في نافذة " إدارة عناوين IP " المنبثقة، اضغط على "تعيين عنوان IP جديد" ثم اضغط على زر " نعم، تحديث" . سيقوم النظام بتعيين عنوان IP جديد لـ eth0 في نفس الشبكة الافتراضية الخاصة (VPC). تذكر عنوان IP الجديد هذا، في مثالنا، سيكون 172.31.26.47 . خصص النظام عنوان IP جديدًا سيُستخدم لأغراض موازنة الأحمال في خدمة التجميع المستقبلية.

انتقل إلى قسم عناوين IP المرنة وقم بتعيين عنوان IP مرن جديد لكل مثيل من مثيلات Relianoid . سيتم استخدام هذه العناوين لأغراض الإدارة، وليس لموازنة الأحمال.

في قسم عنوان IP المرن نفسه ، قم بتعيين عنوان IP جديد لـ ZLB1-prod ، ولكن في هذه الحالة، اختر عنوان IP الخاص 172.31.26.47 . بعد هذا الإعداد، سيصبح ZLB1-prod متاحًا عبر الويب وSSH باستخدام عنوان IP 34.225.30.206 ، بينما سيكون ZLB2-prod متاحًا عبر الخدمات نفسها باستخدام عنوان IP 54.161.240.226 ، وسيتم تعيين عنوان IP المرن 54.144.190.17 لعنوان IP 172.31.26.47.

تمكين مثيلات Relianoid EC2 باستخدام التراخيص المؤقتة #

بمجرد تكوين عناوين IP المرنة، ستكون موازنات التحميل الافتراضية متاحة على النحو التالي:

سيكون من الممكن الوصول إلى ZLB1-prod من خلال https://34.225.30.206:444 مستخدم الجذر وكلمة المرور ومعرف المثيل.
سيكون من الممكن الوصول إلى ZLB1-prod عبر ssh في IP 34.225.30.226 باستخدام مستخدم admin وملف الشهادة الخاص، ويتم تكوين ذلك في وقت نشر EC2.
سيكون من الممكن الوصول إلى ZLB2-prod من خلال https://54.161.240.226:444 مستخدم الجذر وكلمة المرور ومعرف المثيل.
سيكون من الممكن الوصول إلى ZLB2-prod عبر ssh في IP 54.161.240.226 باستخدام مستخدم admin وملف الشهادة الخاص، ويتم تكوين ذلك في وقت نشر EC2.

إذا كنت تفكر في تغيير اسم المضيف قبل الاستمرار، فإذا كان الأمر كذلك، فيرجى إعادة تشغيل مثيل EC2 لتطبيق التغييرات.

بعد إتمام عملية الوصول إلى واجهة المستخدم الرسومية بنجاح، ستظهر لك قيمتان مهمتان: اسم المضيف ومفتاح الشهادة. كلتا المعلومتين فريدتان لكل موازن تحميل، وهما مرتبطتان بترخيص التفعيل. استخدم هذه المعلومات في عنوان URL التالي كما هو موضح: https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/

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

قم بنفس إجراء التنشيط في كلا العقدتين ZLB1-prod وZLB2-prod.

تكوين عنوان IP الافتراضي لموازنة التحميل #

في النقطة السابقة، قمنا بالفعل بتعيين عنوان IP إضافي لـ eth0 172.31.26.47 في مثيل ZLB1-pro، وتم تعيين عنوان IP هذا إلى عنوان IP مرن واحد 54.144.190.17 ، والآن يتم تنفيذ هذا التكوين في موازن التحميل ZBL1-pro.

انتقل إلى موازن الأحمال ZLB1-pro من خلال واجهة الويب باستخدام عنوان IP المرن الخاص به https://34.225.30.206:444 ، وبمجرد تسجيل الدخول، يرجى الانتقال إلى قائمة التنقل Network > Virtual Interfaces > Create Virtual Interface ، وقم بإجراء التكوين التالي:

الواجهة الرئيسية = eth0 172.31.26.47

*نظرًا لأن مثيلات EC2 لا تعرف أي شيء عن عناوين IP المرنة، فنحن بحاجة إلى تكوين عنوان IP الفعلي لمثيل EC2 المرتبط بعنوان IP المرن العام المستخدم لغرض موازنة التحميل 54.144.190.17 هنا

اسم الواجهة الافتراضية = vip1
عنوان IP = 172.31.26.47

اضغط على زر "إنشاء" لتطبيق الإعدادات.

تم الآن تكوين عنوان IP جديد 172.31.26.47 باسم eth0:vip1 في موازن التحميل ZLB1-pro EC2 Relianoid ويمكن اختبار الاتصال به من أي مثيل EC2 في VPC هذا.

تكوين خدمة Relianoid Cluster في Amazon Web Services #

يعمل نظام موازنة الأحمال Relianoid في وضع نشط-سلبي ذي حالة ، ما يعني أن موارد النظام مُهيأة في كلا العقدتين، ولكنها متاحة فقط في العقدة النشطة . عند تعطل إحدى هاتين العقدتين، وبدء تشغيل هذا الدور في العقدة الأخرى، يلزم الوصول إلى موارد النظام مجددًا. وبما أن عناوين IP الافتراضية تُعد أيضًا من موارد النظام، يجب على خدمة Amazon Web Services (AWS) الإعلان بطريقة ما أن عنوان IP الافتراضي المُهيأ لموازنة الأحمال 172.31.26.47 سيعمل الآن عبر ZLB2-prod.

لهذا الغرض، تستخدم خدمة Relianoid Cluster عميل AWS الذي يتطلب تهيئته بصلاحيات في وحدة EC2 لإدارة الواجهات. لذا، قبل بدء تشغيل خدمة Relianoid Cluster، نحتاج إلى تجهيزها. لنقم الآن بتهيئة مفتاح AWS في حسابك بصلاحيات إدارة عناوين IP في EC2 لاستخدامها في واجهة سطر أوامر AWS.

انتقل إلى لوحة تحكم أمازون https://console.aws.amazon.com/iam/ ، ثم اختر "المستخدم" من قائمة التنقل . انقر على زر " إضافة مستخدم".

تكوين اسم مستخدم وصفي = aws-for-zlb

في قسم "تحديد نوع الوصول إلى AWS" ، اختر "الوصول البرمجي" ثم اضغط على زر " التالي: الأذونات ". الآن، في قسم "تعيين الأذونات" ، اضغط على "إنشاء مجموعة" ، ثم في النافذة الجديدة، املأ حقل "اسم المجموعة " باسم وصفي، على سبيل المثال، AmazonEC2 . وأخيرًا، في حقل "تصفية السياسات" ، ابحث عن السياسة المسماة AmazonEC2FullAccess وحددها ، والتي تمنح أذونات لتغيير عناوين IP المخصصة بين مثيلات EC2، من بين أمور أخرى.

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

الآن نحن جاهزون لتكوين خدمة مجموعة Relianoid، لذا انتقل إلى لوحة الويب في ZLB1-pro من خلال عنوان IP العام المخصص https://34.225.30.206:444، قسم النظام > المجموعة ، واملأ النموذج باتباع المثال:

بيانات اعتماد AWS : مفتاح الوصول ومفتاح السر هما القيمتان اللتان تم إنشاؤهما مسبقًا في الأسطر السابقة. المنطقة: حدد هنا المنطقة التي تم فيها نشر وحدة تحكم تسليم تطبيقات Relianoid.

تكوين المجموعة :

IP المحلي: حدد IP و NIC لـ eth0.
الملكية الفكرية عن بعد:أدخل هنا عنوان IP الخاص بـ eth0 في العقدة ZLB2-pro.
كلمة مرور العقدة البعيدة و تأكيد كلمة المرور:أدخل هنا كلمة مرور الجذر لـ ssh في العقدة الأخرى، بشكل افتراضي معرف المثيل لـ ZLB2-pro.

انقر على زر "إنشاء" وانتظر بضع ثوانٍ، وفي هذه الأثناء، ستأخذ العقدة التي تقوم بتشغيل التكوين عليها الدور النشط (ZLB1-pro) وستأخذ العقدة الأخرى (ZLB2-pro) الدور السلبي.

في هذه المرحلة، تم تكوين مجموعة Relianoid Cluster في AWS وهي جاهزة للعمل، فلنبدأ في تكوين أول خدمة متوازنة التحميل لدينا.

تكوين موازنة تحميل L4 بسيطة لخدمات الويب #

انتقل إلى LSLB > المزارع > إنشاء مزرعة بالمعلمات التالية.

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

الآن، في النافذة الجديدة، قم بضبط قسم الإعدادات العامة كما هو موضح أدناه:

وأخيرًا، قم بتكوين قسم الخدمات كما هو موضح:

استخدم خاصية استمرارية عنوان IP مع مهلة 60 ثانية لضمان اتصال نفس عنوان IP الخاص بالعميل بنفس الخادم الخلفي لفترة زمنية محددة. اضبط فحوصات السلامة المتقدمة باستخدام FarmGuardian . استخدم فحص TCP كفحص سلامة بسيط للتحقق من فتح منفذ TCP رقم 80 في كل خادم خلفي. ثم أضف عناوين IP والمنافذ الداخلية لخوادم الخادم الخلفي التي تعمل عليها خدمات الويب الفعلية.

الآن اختبر الاتصال بعنوان IP المرن http://54.144.190.17/ المخصص لعنوان IP الداخلي 172.31.26.47، وسيمر الاتصال عبر موازن التحميل باستخدام eth0:vip1 ويتم توجيهه إلى أحد الخوادم الخلفية المتاحة.

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

إضافة واجهات جديدة إلى Load Balancer #

لأغراض موازنة الأحمال أو لأي غرض آخر، يُمكنك إضافة المزيد من واجهات الشبكة إلى مُوازن الأحمال. وللقيام بذلك، ما عليك سوى اتباع الخطوات الموضحة من قِبل AWS لإضافة واجهات جديدة إلى مثيل EC2. يُرجى الاطلاع على المقالة التي تُقدمها AWS لفهم أفضل الممارسات في هذا الشأن: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.html . عند إضافة واجهات جديدة إلى مثيل EC2، سيكتشفها Relianoid تلقائيًا، ما يُتيح لك استخدامها لضبطها حسب رغبتك.

 

استمتع بموازنة التحميل والتجميع المتقدم في AWS مع Relianoid!

📄 قم بتنزيل هذه الوثيقة بصيغة PDF #

    ُ:البريد الالكتروني *

    مدعوم من BetterDocs