البدء مع توسيع السحابة AWS EC2

تشغيل موقع وتطبيق على الإنترنت لا يجب أن يكون مكلفًا. في الواقع، هناك طرق لتوفير المال على الموارد مع توفير تجربة رائعة للمستخدمين. مثال واحد هو من خلال AWS EC2 Autoscaling.

EC2 Auto Scaling هو خدمة يمكن أن تساعد في توسيع سعة Amazon EC2 تلقائيًا لأعلى أو لأسفل وفقًا للشروط التي تحددها. وفي هذا البرنامج التعليمي، ستتعلم كيفية إعداد وتطبيق تكوين أساسي لـ EC2 Auto Scaling على AWS لتطبيقاتك.

استمر في القراءة وتأكد من أن تطبيقك يحصل دائمًا على الموارد دون دفع أكثر مما تحتاج إليه!

المتطلبات المسبقة

يتكون هذا البرنامج التعليمي من عروض توضيحية عملية. لمتابعة الدروس، ستحتاج إلى حساب AWS، ويكفي حساب الطبقة المجانية.

إنشاء قالب إطلاق

قبل الانتقال إلى AWS EC2 Auto Scaling، تحتاج أولاً إلى طريقة لإطلاق نسخة EC2، وهو قالب إطلاق (مشابه لتكوين الإطلاق). يحتوي القالب على جميع المعلومات المطلوبة لإطلاق نسخة EC2، مثل نوع النسخة، والشبكة الفرعية، ومجموعات الأمان.

توصي AWS باستخدام قالب إطلاق، مما يوفر مرونة وميزات متقدمة أكثر من تكوين الإطلاق. يستخدم EC2 Auto Scaling قالب إطلاق لإطلاق نسخ جديدة عند التوسع.

لإنشاء قالب إطلاق:

1. افتح المتصفح الإلكتروني المفضل لديك وقم بتسجيل الدخول إلى واجهة تحكم إدارة خدمات الويب لأمازون (AWS).

2. ابحث عن قوالب إطلاق EC2 في شريط البحث وحدد قوالب الإطلاق من النتائج تحت الميزات. يفتح هذا الإجراء صفحة قوالب إطلاق EC2.

Opening the launch templates page

3. بعد ذلك ، حدد منطقة من القائمة المنسدلة (أعلى اليمين) ، وانقر على إنشاء قالب الإطلاق لبدء إنشاء قالب إطلاق.

يمكنك استخدام التحسين التلقائي في أي منطقة تدعم EC2 Auto Scaling ، ولكن يستخدم هذا البرنامج التعليمي منطقة الشرق الأمريكية (فيرجينيا الشمالية).

Initiating creating a launch template

4. الآن ، قم بتكوين اسم قالب الإطلاق الجديد والوصف مع ما يلي:

  • اسم قالب الإطلاق – مطلوب – قدم اسمًا لقالب الإطلاق الخاص بك (ec2-autoscaling-template-demo). يجب أن يكون الاسم فريدًا داخل المنطقة ، ولا يزيد عن 128 حرفًا ، ولا يحتوي على أحرف خاصة سوى الشرطات (-) والشرطات السفلية (_) والنقاط (.).
  • وصف إصدار القالب – أدخل وصفًا لقالب الإطلاق الخاص بك (ec2 autoscaling template demo) ، ولا يزيد عن 255 حرفًا.
  • إرشادات التوسيع التلقائي – حدّد الخيار توفير التوجيه لمساعدتي في إعداد قالب يمكنني استخدامه مع EC2 Auto Scaling لتمكين إرشادات التوسيع التلقائي. يجعل هذا الخيار إنشاء قالب إطلاق متوافق مع EC2 Auto Scaling أسهل.
Configuring a launch template

5. انتقل إلى الجزء محتويات قوالب الإطلاق، واختر تطبيقًا وصور نظام التشغيل لقالب الإطلاق الخاص بك باستخدام ما يلي:

  • صور التطبيق ونظام التشغيل (صورة الآلة الظاهرية من أمازون) – حدد صورة الإقلاع لقالبك، ولكن يستخدم هذا البرنامج التعليمي صورة Amazon Linux 2 AMI. سيتم إطلاق حالات EC2 الخاصة بك بناءً على صورة الإقلاع المحددة.

يمكنك اختيار أي صورة إقلاع تفضلها، ولكن يُفضل استخدام صورة Amazon Linux 2 AMI نظرًا لأنها مؤهلة للطبقة المجانية.

  • البنية – حدد بنية لقالبك، ولكن يستخدم هذا البرنامج التعليمي x86-64 (64 بت).
Providing launch template contents

6. بعد ذلك، قم بتعيين نوع النموذج ومفتاح الزوج (تسجيل الدخول) لقالب الإطلاق الخاص بك على النحو التالي:

  • نوع النموذج – حدد نوع النموذج لقالبك. ولكن اختيار هذا البرنامج التعليمي هو t2.micro نظرًا لأنه مؤهل للطبقة المجانية.

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

  • زوج المفاتيح (تسجيل الدخول) – حدد لا تتضمن في قالب الإطلاق نظرًا لعدم الحاجة إليه للتوسيع التلقائي.

عندما يتم تحديد زوج المفاتيح، يطلق EC2 Auto Scaling الحالات الخاصة بك بزوج المفاتيح.

Selecting an Instance type, and Key par (login)

7. في إعدادات الشبكة، اختر خيار تحديد مجموعة الأمان الموجودة وحدد إعدادات مجموعات الأمان لمثيلات EC2 الخاصة بك. بالقيام بذلك، يجعل EC2 Auto Scaling إطلاق مثيلاتك بتلك المجموعة الأمنية.

لاحظ أنه يمكنك اختيار خيار إنشاء مجموعة الأمان إذا كنت ترغب في إنشاء مجموعة أمان جديدة لمثيلات EC2 الخاصة بك.

Selecting an existing security groups

8. حافظ على الإعدادات الأخرى الافتراضية، وانقر على إنشاء قالب الإطلاق (أسفل اليمين) تحت قائمة التبديل للملخص لإنشاء قالب الإطلاق الخاص بك.

Creating the new launch template

9. في النهاية، انقر على إنشاء مجموعة Auto Scaling تحت قسم إنشاء مجموعة Auto Scaling من القالب الخاص بك للمتابعة.

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

Initiating creating an Auto Scaling group

إنشاء مجموعة AWS EC2 Auto Scaling

الآن بعد أن لديك قالب إطلاق EC2، ستحتاج إلى إنشاء مجموعة AWS EC2 Auto Scaling لتحتوي على مثيلات EC2 الخاصة بك. تحتوي مجموعة AWS EC2 Auto Scaling على ميزات تتيح لك استخدام فحص الصحة وسياسات التحجيم البديلة.

يمكنك إنشاء مجموعة Auto Scaling بعدة مثيلات إذا كنت ترغب. ولكن في هذا البرنامج التعليمي، ستقوم بإنشاء مجموعة Auto Scaling لمثيل واحد لتوضيح كيفية عمل التحجيم التلقائي.

1. قم بتكوين مجموعة Auto Scaling باستخدام ما يلي بينما لا تزال على صفحة إنشاء قالب الإطلاق:

  • اسم مجموعة التوسيع التلقائي – أدخل اسمًا لمجموعة التوسيع التلقائي الخاصة بك (ec2-autoscaling-group-demo). يجب أن يكون الاسم فريدًا داخل منطقتك في خدمات AWS ولا يزيد عن 255 حرفًا.
  • قالب الإطلاق – حدد قالب الإطلاق EC2 الخاص بك من قائمة السقط (ec2-autoscaling-template-demo).
  • انقر على التالي للمتابعة.
Naming the AWS EC2 Auto Scaling group

2. بعد ذلك، اترك جميع الإعدادات الافتراضية كما هي، ولكن حدد VPC وشبكة فرعية موجودة لمجموعة التوسيع التلقائي الخاصة بك، وانقر على التالي للمتابعة.

تحديد هذه الإعدادات يجعل مجموعة التوسيع التلقائي الخاصة بك تعرف أين تطلق حالات EC2 الخاصة بك.

Selecting an existing VPC and subnet for your Auto Scaling group

3. احتفظ بالإعدادات الافتراضية، وانقر على التالي للمتابعة.

Leaving other default settings

4. الآن، قم بتكوين حجم المجموعة الخاص بك لمجموعة التوسيع التلقائي باستخدام ما يلي:

Capacity Limit Details
Desired 1 Set the number of instances you want in your Auto Scaling group. The desired capacity must be greater than or equal to the minimum capacity and less than or equal to the maximum capacity.
Minimum 1 Set the minimum number of instances in your Auto Scaling group. The value must be greater than or equal to 1 and less than or equal to the maximum capacity.
Maximum 1 Set the maximum number of instances you want in your Auto Scaling group.
Specifying the Auto Scaling group’s capacity

5. انتقل لأسفل، واحتفظ بالإعدادات الافتراضية، وانقر على تخطي للمراجعة للمتابعة.

  • سياسات التوسيع – احتفظ بالخيار “لا شيء” محددًا لأنك ستستخدم سياسة توسيع بسيطة. تزيد هذه السياسة من القدرة المرغوبة في مجموعة التوسيع التلقائي الخاصة بك بواحدة عندما يتم إنهاء الحالة القديمة في المجموعة.
  • حماية التقليص في مقياس الحالة – احتفظ بهذا الخيار معطلًا حيث لا تحتاجه في هذا البرنامج التعليمي. يتيح تمكين هذا الخيار لك التحكم في ما إذا كان يمكن لمجموعة التوسيع التلقائي إنهاء حالتك عند التقليص في الحجم.
Keeping details settings for scaling policies and instance scale-in protection

6. في النهاية، قم بمراجعة إعدادات مجموعة التوسيع التلقائي الخاصة بك، وانقر على إنشاء مجموعة توسيع تلقائي (أسفل اليمين) لإنشاء مجموعة التوسيع التلقائي الخاصة بك.

Creating the Auto Scaling group

بمجرد إنشائه، سترى مجموعة توسيع الذات مدرجة كما هو موضح أدناه.

Verifying the newly-created Auto Scaling group

اختبار مجموعة توسيع الذات لخدمة AWS EC2

رائع! لقد تمكنت من إنشاء مجموعة توسيع الذات لخدمة AWS EC2 لاحتواء مثيل EC2 الخاص بك. لكن كيف تعرف أن مجموعة توسيع الذات الخاصة بك تعمل؟

سوف تتحقق من أن مجموعة توسيع الذات لخدمة AWS EC2 قد قامت بإطلاق مثيل EC2 واحد. هذا المثيل هو تلك التي حددتها (السعة المطلوبة) في الخطوة الرابعة من قسم “إنشاء مجموعة توسيع الذات لخدمة AWS EC2”.

1. حدد مربع الاختيار بجوار مجموعة توسيع الذات الجديدة التي أنشأتها للتو وانقر علامة التبويب “النشاط” لرؤية جميع الأنشطة في مجموعة توسيع الذات الخاصة بك.

تحت قسم سجل النشاط في الأسفل، سترى وصف أحدث حدث في مجموعة توسيع الذات الخاصة بك. في هذه الحالة، يقول الوصف إطلاق مثيل EC2 جديد، مع الحالة الناجحة ومعرف المثيل (i-09b699064f6e06070).

انسخ معرف المثيل، لأنك ستحتاج إليه للتحقق من مثيلك في الخطوة التالية.

Viewing your activity history.

2. انتقل إلى لوحة EC2، وقارن معرف المثيل الذي نسخته في الخطوة الأولى مع أي مثيلات تعمل.

رؤية تطابق معرفي المثيلين يشير إلى أن مجموعة توسيع الذات الخاصة بك قامت بإطلاق مثيل EC2 بنجاح.

Comparing the instance ID

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

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

إنهاء مثيل EC2

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

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

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

1. انتقل إلى مثيلاتك، وحدد مربع الاختيار المجاور للمثيل لتحديده.

بمجرد التحديد، انقر على قائمة السياق لحالة المثيل → إنهاء المثيل لإنهاء المثيل المحدد.

Terminating an EC2 instance

2. بعد ذلك، انقر فوق إنهاء عندما يُطلب منك تأكيد إنهاء المثيل.

Confirming instance termination.

أدناه، يمكنك رؤية رسالة تشير إلى أن نسخة EC2 قد تم إنهاءها بنجاح.

فترة التهدئة الافتراضية لمجموعة التوسيع التلقائي هي 300 ثانية (5 دقائق)، مما يعني أنه سيستغرق مجموعة التوسيع التلقائي على الأقل خمس دقائق لإطلاق نسخة جديدة بعد إنهاء النسخة القديمة.

Verifying successful instance termination

3. في النهاية، قم بالتحقق من تاريخ النشاط في مجموعة التوسيع التلقائي بينما تنتظر إطلاق النسخة الجديدة.

كما هو موضح أدناه، سترى أن نسخة EC2 جديدة قد تم إطلاقها تلقائيًا. يؤكد هذا الإخراج أن مجموعة التوسيع التلقائي تعمل كما هو متوقع.

Checking a new EC2 instance is launched automatically

الاستنتاج

تعتبر التعامل مع الحمل الخاص بتطبيقك جزءًا أساسيًا من الحفاظ على سلاسة تشغيله. لحسن الحظ، مع AWS EC2 Auto Scaling، يمكنك التأكد من أن تطبيقك يحصل دائمًا على الموارد اللازمة لمواجهة أنماط حركة المرور المتغيرة.

وفي هذا البرنامج التعليمي، تعلمت كيفية إنشاء مجموعة توسيع تلقائي، وإطلاق النسخ في المجموعة، وتغيير حجم المجموعة استجابة للظروف المتغيرة. في هذه النقطة، يمكنك الآن إنشاء مجموعات AWS EC2 Auto Scaling بثقة لتطبيقاتك.

مع هذا المعرف الجديد، لماذا لا تقم بإنشاء مجموعات توسيع تلقائي باستخدام AWS CloudFormation لمزيد من الراحة؟ ستشكر نفسك لاحقًا عندما يزداد حملك، ولن تضطر إلى القلق بشأن توفير المزيد من الموارد يدويًا!

Source:
https://adamtheautomator.com/ec2-autoscaling/