انتقل إلى المحتوى الرئيسي

مختبر : تحليل وتصميم بنية EC2

أهداف المختبر​

هذا المختبر هو تمرين على التصميم والتحليل. سوف تقوم بـ:

  • ✅ تحليل البنى الحالية لـ EC2
  • ✅ تحديد الممارسات الجيدة والأخطاء
  • ✅ تصميم بنية خاصة بك
  • ✅ تبرير اختياراتك التقنية
Approche Théorique

هذا المختبر لا يتطلب الوصول إلى AWS. ستعمل على الورق/المستند مع الرسوم البيانية والتحليلات.

المدة المقدرة​

ساعتان


الجزء 1 : تحليل بنية موجودة​

السيناريو : موقع تجارة إلكترونية​

إليك البنية الحالية لموقع تجارة إلكترونية:

┌─────────────────────────────────────────────────────────────┐
│ RÉGION : us-east-1 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ AZ : us-east-1a │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Instance EC2 : i-web001 │ │ │
│ │ │ Type : t2.micro │ │ │
│ │ │ AMI : Amazon Linux 2 │ │ │
│ │ │ IP Publique : 52.1.2.3 │ │ │
│ │ │ │ │ │
│ │ │ Applications : │ │ │
│ │ │ - Apache (port 80) │ │ │
│ │ │ - MySQL (port 3306) │ │ │
│ │ │ - Application PHP │ │ │
│ │ │ │ │ │
│ │ │ Security Group : sg-default │ │ │
│ │ │ Règles : │ │ │
│ │ │ - Inbound: SSH (22) - 0.0.0.0/0 │ │ │
│ │ │ - Inbound: HTTP (80) - 0.0.0.0/0 │ │ │
│ │ │ - Inbound: MySQL (3306) - 0.0.0.0/0 │ │ │
│ │ │ │ │ │
│ │ │ Stockage : 8 GB EBS (gp2) │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

أسئلة التحليل​

السؤال 1 : مشاكل الأمان

حدد على الأقل 3 مشاكل أمان في هذه البنية.

💡 تلميح

انظر إلى:

  • قواعد Security Group
  • موقع MySQL
  • البنية ذات المثيل الواحد

السؤال 2 : مشاكل التوافر

حدد مخاطر التوافر في هذه البنية.

💡 تلميح

فكر في:

  • عدد مناطق التوافر
  • نقطة فشل واحدة (SPOF)
  • قدرة التوسع

السؤال 3 : مشاكل الأداء

يصبح الموقع بطيئًا أثناء التخفيضات. ما هي الأسباب المحتملة؟

💡 تلميح

حلل:

  • نوع المثيل
  • فصل المكونات
  • التخزين

الجزء 2 : تصحيح البنية​

تمرين : اقتراح بنية أفضل​

أعد تصميم البنية بتصحيح المشاكل المحددة.

قيود:

  • ميزانية معتدلة (لا مثيلات عملاقة)
  • يجب أن يكون الموقع متاحًا بنسبة 99.9%
  • يجب أن تكون قاعدة البيانات آمنة
  • يجب أن يدعم ذروة حركة المرور (التخفيضات)

قالب الإجابة​

املأ هذا القالب:

نموذج البنية المقترحة
==============================

المنطقة : _____________

مناطق التوافر المستخدمة : ____________

المكون 1 : الخادم(ات) الويب
----------------------------
- عدد المثيلات : _____
- نوع المثيل : _____
- AMI : _____
- الموقع : _____
- Security Group :
- Inbound : _____
- Outbound : _____

المكون 2 : قاعدة البيانات
-----------------------------
- الخدمة/المثيل : _____
- النوع : _____
- الموقع : _____
- Security Group :
- Inbound : _____

المكون 3 : (اختياري)
-------------------------
- _____

التبريرات
--------------
1. لماذا هذا النوع من المثيل؟ _____
2. لماذا هذا التكوين الشبكي؟ _____
3. كيف تدير التوافر العالي؟ _____

الجزء 3 : مخطط البنية​

تمرين : رسم البنية​

أنشئ مخطط بنية احترافي يتضمن:

عناصر إلزامية:

  • منطقة AWS
  • على الأقل 2 مناطق توافر
  • مثيلات EC2 (ويب)
  • قاعدة البيانات (منفصلة)
  • Security Groups مع قواعدها
  • الاتصالات الشبكية

الأدوات المقترحة:

  • Draw.io (مجاني) : https://app.diagrams.net/
  • Lucidchart (مجاني محدود)
  • PowerPoint/Google Slides
  • ورقة وقلم (صورة مرفقة)

مثال على الهيكل​

┌─────────────────────────────────────────────────────────────┐
│ RÉGION : __________ │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────┐ │
│ │ [Votre composant] │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌───────────────────┐ ┌───────────────────┐ │
│ │ AZ : ____ │ │ AZ : ____ │ │
│ │ │ │ │ │
│ │ [Instances] │ │ [Instances] │ │
│ │ │ │ │ │
│ └───────────────────┘ └───────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ [Base de données] │ │
│ └──────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

الجزء 4 : دراسة حالة - اختيار المثيلات​

السيناريو أ : شركة ناشئة - MVP​

السياق :
- تطبيق ويب بسيط (مدونة + نموذج اتصال)
- 100 زائر/يوم متوقع
- ميزانية محدودة جدًا (< $20/شهر)
- فريق من 2 مطورين

الأسئلة :
1. ما نوع المثيل الذي توصي به؟
2. أي منطقة؟
3. ما التنازلات التي تقوم بها؟

السيناريو ب : شركة متوسطة - تطبيق أعمال​

السياق :
- ERP/CRM لـ 50 موظف
- قاعدة بيانات PostgreSQL (20 GB)
- الاستخدام من 8 صباحًا إلى 6 مساءً، الاثنين-الجمعة
- الحاجة إلى أداء ثابت

الأسئلة :
1. ما نوع المثيل للتطبيق؟
2. ما نوع المثيل لقاعدة البيانات؟
3. هل تحتاج إلى مثيلات Reserved؟

السيناريو ج : تجارة إلكترونية - الجمعة السوداء​

السياق :
- موقع تجارة إلكترونية قائم
- حركة مرور عادية : 1000 زائر/ساعة
- الجمعة السوداء : 50000 زائر/ساعة (ذروة)
- كتالوج من 10000 منتج

الأسئلة :
1. كيف تدير ذروة حركة المرور؟
2. ما استراتيجية التوسع؟
3. ما أنواع المثيلات لكل مستوى من الحمل؟

الجزء 5 : جدول تلخيصي للاختيارات​

أكمل هذا الجدول لكل سيناريو:

المعيارالسيناريو أالسيناريو بالسيناريو ج
مثيل الويب
مثيل قاعدة البيانات
نموذج التسعير
عدد AZ
التكلفة المقدرة/شهر
التبرير الرئيسي

تسليمات المختبر​

المستند المطلوب​

أنشئ مستندًا (Word، PDF أو Markdown) يحتوي على:

1. صفحة العنوان

  • الاسم، التاريخ، عنوان المختبر

2. الجزء 1 : التحليل (20%)

  • قائمة بـ 3+ مشاكل أمان
  • قائمة بمخاطر التوافر
  • تحليل مشاكل الأداء

3. الجزء 2 : التصحيح (25%)

  • قالب مكتمل مع البنية الجديدة
  • تبريرات مفصلة

4. الجزء 3 : المخطط (25%)

  • مخطط بنية واضح وقابل للقراءة
  • أسطورة المكونات
  • Security Groups موثقة

5. الجزء 4 : دراسات الحالة (20%)

  • إجابات للسيناريوهات الثلاثة
  • تبريرات الاختيارات

6. الجزء 5 : الجدول (10%)

  • جدول تلخيصي مكتمل

جدول التقييم​

المعيارالنقاط
تحديد المشاكل بشكل صحيح4
بنية مصححة متماسكة5
مخطط واضح وكامل5
اختيارات المثيلات مبررة4
جدول تلخيصي كامل2
المجموع20

التصحيح - الجزء 1 (للاطلاع بعد إكمال التمرين)​

📋 عرض التصحيح

مشاكل الأمان​

  1. SSH مفتوح للجميع (0.0.0.0/0)

    • الخطر: هجمات القوة الغاشمة
    • الحل: تقييد إلى IP المسؤول
  2. MySQL مكشوف للعامة (0.0.0.0/0)

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

    • الخطر: إذا تم اختراق المثيل، يتم اختراق كل شيء
    • الحل: فصل الويب وقاعدة البيانات
  4. استخدام SG الافتراضي

    • الخطر: قواعد غير مدققة
    • الحل: إنشاء SG محددة

مشاكل التوافر​

  1. منطقة توافر واحدة فقط

    • الخطر: تعطل المنطقة = تعطل الموقع
    • الحل: Multi-AZ
  2. مثيل واحد (SPOF)

    • الخطر: تعطل المثيل = تعطل الموقع
    • الحل: مثيلات متعددة + موازن تحميل
  3. لا يوجد نسخ احتياطي مرئي

    • الخطر: فقدان البيانات
    • الحل: لقطات EBS، RDS Multi-AZ

مشاكل الأداء​

  1. t2.micro صغير جدًا

    • استنفاد أرصدة الاندفاع بسرعة
    • الحل: t3.small كحد أدنى للإنتاج
  2. MySQL على نفس المثيل

    • تنافس على الموارد
    • الحل: مثيل مخصص أو RDS
  3. 8 GB من التخزين غير كافٍ

    • الحل: EBS gp3، أكبر

موارد للمختبر​

أيقونات AWS​

الوثائق​

حاسبة الأسعار​


تهانينا! لقد أكملت مختبر بنية EC2. هذه المهارات في التصميم أساسية لأي مهندس سحابي.