سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي
اضبطوا تتبّع الهدف للحفاظ على معدل استخدام مستهدف لوحدة المعالجة المركزية، والتوسّع المرحلي للاستجابة لعتبات تنبيهات CloudWatch.
سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.
سبب وجود سياسات التوسّع
تعمل السعة المطلوبة الثابتة عندما يكون الحمل ثابتًا، لكن حركة المرور في العالم الحقيقي متغيرة. تتيح سياسات التوسّع لمجموعة Auto Scaling تعديل السعة المطلوبة تلقائيًا استجابةً للمقاييس. توفر AWS ثلاثة أنواع رئيسية من السياسات الديناميكية: التتبع المستهدف، والتوسّع المرحلي، والتوسّع البسيط. وبالنسبة إلى اختبار SAA-C03، يُعد فهم التتبع المستهدف والتوسّع المرحلي أهم ما ينبغي التركيز عليه.
شرح التوسّع بالتتبع المستهدف
يعمل التوسّع بالتتبع المستهدف مثل منظم الحرارة: تحدد مقياسًا وقيمة مستهدفة، وتحسب AWS تلقائيًا عدد المثيلات التي ينبغي إضافتها أو إزالتها للحفاظ على المقياس عند تلك القيمة. فمثلًا، إذا استهدفت متوسط استخدام وحدة المعالجة المركزية بنسبة 50% وارتفع الاستخدام إلى 80%، فستضيف ASG عددًا كافيًا من المثيلات لإعادة الاستخدام إلى 50%. تدير AWS إجراءات التوسّع والتقليص نيابةً عنك.
aws autoscaling put-scaling-policy \
--auto-scaling-group-name 'MyAppASG' \
--policy-name 'TargetTrackingCPU50' \
--policy-type TargetTrackingScaling \
--target-tracking-configuration '{
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 50.0
}'المقاييس المحددة مسبقًا مقابل المخصصة للتتبع المستهدف
يدعم التتبع المستهدف عدة مقاييس محددة مسبقًا مباشرةً، منها: ASGAverageCPUUtilization وASGAverageNetworkIn وASGAverageNetworkOut، إضافةً إلى المقياس الخاص بـ ALB وهو ALBRequestCountPerTarget. وبالنسبة إلى مؤشرات الأداء الرئيسية الخاصة بالتطبيق (مثل عمق قائمة الانتظار والاتصالات النشطة ومقاييس الأعمال المخصصة)، يمكنك توفير مقياس CloudWatch مخصص. تمنحك المقاييس المخصصة تحكمًا أدق بكثير في العوامل التي تقود قرارات التوسّع.
فترة التهدئة للتتبع المستهدف
بعد حدث توسّع، تنتظر ASG فترة تهدئة (مدتها الافتراضية 300 ثانية) قبل تقييم توسّع آخر. يتيح ذلك للمثيلات التي أُطلقت حديثًا وقتًا لبدء معالجة حركة المرور، حتى يستقر المقياس. وبالمثل، تمنع فترة تهدئة التقليص الإنهاء المبكر مباشرةً بعد إضافة السعة. وبالنسبة إلى التتبع المستهدف، توصي AWS أيضًا باستخدام فترة إحماء حتى لا تؤثر المثيلات الجديدة في المقياس قبل تهيئتها بالكامل.
شرح التوسّع المرحلي
يستجيب التوسّع المرحلي لتنبيهات CloudWatch بإضافة عدد محدد من المثيلات أو إزالتها، بناءً على مقدار تجاوز المقياس لحد معين. وتحدد عدة تعديلات مرحلية، بحيث تغطي كل مرحلة نطاقًا من قيم المقياس وتحدد تغييرًا في السعة. فمثلًا: إذا كانت وحدة المعالجة المركزية بين 60% و70%، فأضف مثيلًا واحدًا؛ وإذا كانت بين 70% و90%، فأضف 3 مثيلات؛ وإذا تجاوزت 90%، فأضف 5 مثيلات. ويوفر ذلك استجابات متدرجة ومتناسبة مع مستويات الحمل المختلفة.
إنشاء سياسة توسّع مرحلي
يتطلب التوسّع المرحلي وجود تنبيه CloudWatch مسبقًا. يراقب التنبيه مقياسًا وينتقل إلى حالة ALARM عند تجاوز حد معين. ثم تستخدم سياسة التوسّع التعديلات المرحلية المشار إليها بحسب قيمة المقياس مقارنةً بحد التنبيه. ويمكنك ضبط نوع التعديل ليكون ChangeInCapacity (إضافة N)، أو ExactCapacity (الضبط على N)، أو PercentChangeInCapacity (التوسّع بنسبة N%).
# First create a CloudWatch alarm
aws cloudwatch put-metric-alarm \
--alarm-name 'HighCPU' \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 60 \
--threshold 60 \
--comparison-operator GreaterThanOrEqualToThreshold \
--dimensions Name=AutoScalingGroupName,Value=MyAppASG \
--evaluation-periods 2 \
--alarm-actions 'arn:aws:autoscaling:us-east-1:123456789:scalingPolicy:...'تهيئة التعديل المرحلي
يحتوي كل تعديل مرحلي على MetricIntervalLowerBound، وقد يحتوي اختياريًا على MetricIntervalUpperBound. وتكون الحدود نسبية إلى حد التنبيه. فإذا كان حد التنبيه هو 60% لوحدة المعالجة المركزية: يؤدي LowerBound=0, UpperBound=10 إلى التفعيل عندما تكون وحدة المعالجة المركزية بين 60% و70%؛ ويؤدي LowerBound=10, UpperBound=null إلى التفعيل عندما تتجاوز وحدة المعالجة المركزية 70%. يضمن هذا النهج المتدرج حصول الارتفاعات الكبيرة في حركة المرور على إضافة كبيرة وفورية للسعة بدلًا من انتظار دورات تنبيه متعددة.
# Step scaling policy with two steps
{
'StepAdjustments': [
{
'MetricIntervalLowerBound': 0,
'MetricIntervalUpperBound': 10,
'ScalingAdjustment': 2
},
{
'MetricIntervalLowerBound': 10,
'ScalingAdjustment': 5
}
],
'AdjustmentType': 'ChangeInCapacity'
}التوسّع البسيط: البديل الأقدم
يُعد التوسّع البسيط السلفَ للتوسّع المرحلي. وكما هي الحال في التوسّع المرحلي، يتطلب تنبيه CloudWatch، لكنه عند تشغيله يضيف عددًا ثابتًا من المثيلات أو يزيلها، ثم ينتظر انتهاء فترة التهدئة بالكامل قبل إعادة التقييم. يجعله ذلك بطيئًا في ظل الحمل المتغير بسرعة. ويُفضَّل التوسّع المرحلي لأنه يستطيع الاستمرار في التفعيل مع تفاقم الظروف دون انتظار فترة التهدئة الكاملة، كما أنه يستجيب بصورة متناسبة.
حماية التقليص وحماية المثيلات
قد ترغب أحيانًا في منع إنهاء مثيلات محددة أثناء التقليص، مثل مثيل يشغّل مهمة دفعية طويلة الأمد. يمكنك تفعيل حماية المثيل من التقليص للمثيلات الفردية عبر وحدة التحكم أو CLI. وعندما تختار ASG المرشحين للإنهاء، فإنها تتجاوز المثيلات المحمية. تذكر إزالة الحماية بعد اكتمال المهمة، وإلا فقد يتعذر على ASG إجراء التقليص إطلاقًا إذا كانت جميع المثيلات محمية.
aws autoscaling set-instance-protection \
--auto-scaling-group-name 'MyAppASG' \
--instance-ids 'i-0abc123def456' \
--protected-from-scale-inدمج التتبع المستهدف مع التوسّع المرحلي
يمكنك إرفاق سياسات توسّع متعددة بـ ASG واحدة. عند وجود سياسة تتبع مستهدف وسياسة توسّع مرحلي، تستخدم ASG السياسة التي توصي بإجراء التوسّع الأكبر (أي الأكثر تحفظًا). أما في التقليص، فتفوز السياسة التي توصي بإزالة أقل عدد من المثيلات. ويمنع ذلك النظام من التأرجح بين حالتي توفير سعة أكبر من اللازم وأقل من اللازم. ومن الأنماط الشائعة استخدام سياسة تتبع مستهدف للحالة المستقرة، وسياسة توسّع مرحلي للحماية من الارتفاعات المفاجئة والطارئة.
أفضل ممارسات سياسات التوسّع
بالنسبة إلى معظم تطبيقات الويب، ابدأ باستخدام التتبع المستهدف لوحدة المعالجة المركزية أو عدد الطلبات لكل هدف؛ إذ يتطلب ذلك حدًا أدنى من التهيئة وتتولى AWS الحسابات. استخدم التوسّع المرحلي عندما تحتاج إلى استجابات متدرجة ومتناسبة مع شدة الحمل المتغيرة. اضبط دائمًا الحد الأدنى للسعة على قيمة تكفي للتعامل مع حركة المرور الأساسية دون الاعتماد على التوسّع، لأن التوسّع يستغرق وقتًا. راقب مقياسي CloudWatch GroupDesiredCapacity وGroupInServiceInstances للتحقق من عمل سياساتك كما هو متوقع.
تحقق سريع
اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.
مراجعة الدرس
تعلمت في هذا الدرس أن التوسّع بالتتبع المستهدف يحسب تلقائيًا إجراءات التوسّع والتقليص ويطبقها للحفاظ على مقياس عند قيمة مرغوبة (مثل 50% من استخدام وحدة المعالجة المركزية)، وأن التوسّع المرحلي ينفذ استجابات أكبر بصورة متناسبة مع تجاوز المقياس لحدود أعلى، باستخدام تعديلات مرحلية تستند إلى تنبيهات CloudWatch، وأن دمج السياسات في ASG واحدة آمن؛ إذ تستخدم ASG التوصية الأكثر تحفظًا للتوسّع، والتوصية الأقل حدة للتقليص. بعد ذلك، سنستكشف التوسّع المجدول والتنبؤي لأنماط حركة المرور المعروفة.
الأسئلة الشائعة
هل درس «سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي» مجاني؟
نعم — نص درس «سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.
ماذا ستتعلم في «سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي»؟
اضبطوا تتبّع الهدف للحفاظ على معدل استخدام مستهدف لوحدة المعالجة المركزية، والتوسّع المرحلي للاستجابة لعتبات تنبيهات CloudWatch. تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟
لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟
نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- قوالب الإطلاق وإعداد ASG
- سياسات التوسّع: تتبّع الهدف والتوسّع المرحلي
- التوسّع المجدول والتوسّع التنبؤي
- تحديث المثيلات وخطافات دورة الحياة