MODULE 9 - Auto Scaling
نظرة عامة
هذا الوحدة تتعمق في AWS Auto Scaling، الخدمة التي تعدل تلقائيًا عدد المثيلات بناءً على الحمل. ستتعلم كيفية تكوين سياسات التوسع الفعالة.
أهداف التعلم
- فهم مجموعات Auto Scaling (ASG)
- تكوين سياسات التوسع المختلفة
- اختيار المقاييس والعتبات الصحيحة
- تحديد حجم التطبيق بشكل صحيح
- تجنب الأخطاء الشائعة
محتوى الأسبوع
1. مجموعة Auto Scaling (ASG)
┌─────────────────────────────────────────────────────────────┐
│ AUTO SCALING GROUP │
├─────────────────────────────────────────────────────────────┤
│ │
│ Paramètres de base : │
│ • Minimum : 2 instances (toujours) │
│ • Desired : 2 instances (normal) │
│ • Maximum : 10 instances (pic) │
│ │
│ Charge normale Charge élevée │
│ │
│ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │
│ │ 1 │ │ 2 │ ────► │ 1 │ │ 2 │ │ 3 │ │ 4 │ │
│ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ │
│ Desired: 2 Desired: 4 │
│ │
│ Scale Out (ajout) │
│ ◄──────────────── │
│ Scale In (retrait) │
│ │
└─────────────────────────────────────────────────────────────┘
2. سياسات التوسع
| النوع | الوصف | حالة الاستخدام |
|---|---|---|
| Target Tracking | يحافظ على مقياس مستهدف | CPU عند 70%، الأبسط |
| Step Scaling | إجراءات تدريجية | استجابة متدرجة |
| Simple Scaling | إجراء واحد في كل مرة | حالات بسيطة |
| Scheduled | جداول زمنية محددة | أنماط متوقعة |
| Predictive | ML تنبؤي | أحمال متوقعة |
3. تتبع الهدف (موصى به)
┌─────────────────────────────────────────────────────────────┐
│ TARGET TRACKING │
├─────────────────────────────────────────────────────────────┤
│ │
│ "يحافظ على متوسط CPU عند 70%" │
│ │
│ CPU% │
│ 100│ │
│ │ ┌────┐ │
│ 90│ │ │ Scale Out │
│ │ │ ▼ │
│ 70│──────┴────────────────── Target: 70% │
│ │ ┌────┐ │
│ 50│ │ │ Scale In │
│ │ │ ▼ │
│ 30│ └───────────── │
│ └────────────────────────────► Temps │
│ │
│ AWS تعدل تلقائيًا عدد المثيلات │
│ للحفاظ على الهدف. │
│ │
└─────────────────────────────────────────────────────────────┘
4. المقاييس الشائعة
| المقياس | العتبة النموذجية | ملاحظات |
|---|---|---|
| CPUUtilization | 70% | الأكثر استخدامًا |
| RequestCountPerTarget | متغير | لـ ALB |
| MemoryUtilization | 80% | يتطلب وكيل CloudWatch |
| Custom | متغير | مقاييس تطبيقية |
5. الأخطاء الشائعة
❌ أخطاء يجب تجنبها
1. فترة التهدئة قصيرة جدًا
→ تذبذبات (توسع وتقلص متكرر)
→ الحل: فترة تهدئة 300+ ثانية
2. العتبات قريبة جدًا
→ تقلص فوري بعد التوسع
→ الحل: فرق لا يقل عن 20% بين العتبات
3. Min = Max = Desired
→ لا يوجد توسع على الإطلاق!
→ الحل: Min < Desired < Max
4. عدم وجود فحص صحي
→ الاحتفاظ بمثيلات غير صحية
→ الحل: تكوين فحوصات صحية لـ ASG
5. المثيلة بطيئة جدًا في البدء
→ فقدان الطلبات أثناء التوسع
→ الحل: AMI محسن، فترة تسخين
تمرين: تكوين ASG
سيناريو
تطبيق تجارة إلكترونية مع:
- حركة مرور عادية: 100 طلب/ثانية
- ذروة التخفيضات: 1000 طلب/ثانية
- مثيلة t3.medium تدير 200 طلب/ثانية
أسئلة
- كم عدد المثيلات الدنيا؟
- كم عدد المثيلات القصوى؟
- ما هي سياسة التوسع؟
- ما هي العتبات التي تقوم بتكوينها؟
التسليم
تحليل التوسع:
- تكوين ASG المقترح
- تبرير العتبات
- محاكاة زيادة الحمل
- حساب التكاليف
التنقل
- مفاهيم Auto Scaling
- سياسات التوسع
- اختبار التحقق - 30 سؤالًا للتحقق من معرفتك
- مختبر: Auto Scaling
الأسبوع القادم: MODULE 10 - DNS و Route 53