Cloud & IT Cert Prep · درس

نوع تشغيل EC2 في مقابل Fargate

قارن بين إدارة مثيلات حاويات EC2 بنفسك واستخدام Fargate لتشغيل الحاويات دون خوادم، وافهم الفروقات في التكلفة

الدرس 2 من 413 خطوة

نوع تشغيل EC2 في مقابل Fargate درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

طريقتان لتشغيل مهام ECS

تقدم ECS نوعَي تشغيل يحددان مكان تشغيل الحاويات: يشغّل نوع تشغيل EC2 الحاويات على مثيلات EC2 التي توفرونها وتديرونها داخل العنقود، بينما يُعد نوع تشغيل Fargate محرك حوسبة عديم الخوادم تدير فيه AWS الخوادم الأساسية بالكامل. ويكاد يكون تعريف المهمة وإعداد الخدمة متماثلين بين النوعين، ويتمثل الفرق الأساسي في مسؤولية إدارة البنية التحتية ونموذج التكلفة.

نوع تشغيل EC2: تحكم كامل

مع نوع تشغيل EC2، تسجلون مثيلات EC2 كمثيلات حاويات في العنقود باستخدام ECS Container Agent (المثبت مسبقًا على AMI المحسّنة لـ ECS). وتختارون أنواع المثيلات، وتتحكمون في إعدادات مستوى نظام التشغيل، وتطبقون خطوط أساس أمنية مخصصة، وتستخدمون Spot Instances لتقليل التكلفة. وتوزع ECS المهام عبر المثيلات المسجلة استنادًا إلى استراتيجيات وضع التعبئة أو التوزيع. وتقع على عاتقكم مسؤولية تصحيح الأسطول الأساسي من مثيلات EC2 وتوسيعه وصيانته.

# Launch an ECS-optimised EC2 instance that joins the cluster
# User data for ECS container agent
#!/bin/bash
echo ECS_CLUSTER=MyAppCluster >> /etc/ecs/ecs.config
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config

Fargate: الحاويات عديمة الخوادم

باستخدام Fargate، تحدد وحدة المعالجة المركزية والذاكرة لكل مهمة، وتتولى AWS توفير موارد الحوسبة الأساسية دون أن تحتاج إلى رؤيتها أو إدارتها. لا توجد مثيلات EC2 تحتاج إلى تسجيلها أو تصحيحها أو توسيع نطاقها؛ إذ تتولى AWS إدارة كل ذلك. تحصل كل مهمة على نواة معزولة خاصة بها (عبر Firecracker microVMs)، ما يوفر عزلاً أمنياً أقوى من مثيلات حاويات EC2 التي تشترك فيها عدة مهام في المضيف نفسه. يتطلب Fargate استخدام وضع الشبكة awsvpc، ما يعني أن كل مهمة تحصل على ENI وعنوان IP خاص بها في VPC.

aws ecs run-task \
  --cluster 'MyAppCluster' \
  --task-definition 'myapp-task:5' \
  --launch-type FARGATE \
  --network-configuration '{
    "awsvpcConfiguration": {
      "subnets": ["subnet-aaa111"],
      "securityGroups": ["sg-xyz"],
      "assignPublicIp": "ENABLED"
    }
  }'

مقارنة نماذج التكلفة

تختلف نماذج التكلفة اختلافاً جوهرياً. نوع تشغيل EC2: تدفع تكلفة مثيلات EC2 الأساسية، بغض النظر عن تشغيل المهام من عدمه، ولكن يمكنك استخدام Reserved Instances أو Savings Plans للحصول على خصم، وSpot Instances لتحقيق وفورات تصل إلى 90% في أعباء العمل القابلة للمقاطعة. Fargate: تدفع فقط مقابل vCPU والذاكرة المستهلكة لكل مهمة في كل ثانية، من دون تكلفة على الموارد الخاملة بين المهام. بالنسبة إلى أعباء العمل المتذبذبة أو الدفعية، يكون Fargate غالباً أقل تكلفة؛ أما أعباء العمل ذات الاستخدام المرتفع والمستقر، فقد يكون EC2 مع Reserved Instances أقل تكلفة.

Fargate Spot لتوفير التكاليف

يوفر Fargate Spot موارد حوسبة Fargate بأسعار مخفضة بشكل كبير (تصل إلى 70%) مقابل احتمال مقاطعة المهام عندما تحتاج AWS إلى استعادة السعة. يُعد Fargate Spot مناسباً لمعالجة الدفعات، وخطوط CI/CD، وبيئات التطوير والتهيئة. اضبط استراتيجية موفّر السعة لدمج Fargate (عند الطلب) وFargate Spot: استخدم base=1 مع Fargate لضمان وجود مهمة واحدة مضمونة على الأقل، واستخدم قيم weight لتوزيع السعة المتبقية بين كليهما.

aws ecs create-service \
  --cluster 'MyAppCluster' \
  --service-name 'BatchService' \
  --task-definition 'batch-task:1' \
  --desired-count 10 \
  --capacity-provider-strategy \
    'capacityProvider=FARGATE,weight=1,base=1' \
    'capacityProvider=FARGATE_SPOT,weight=4'

متى تختار نوع تشغيل EC2

اختر نوع تشغيل EC2 عندما تحتاج إلى: مثيلات GPU (دعم Fargate لوحدات GPU محدود)، أو أنواع مثيلات محددة غير متاحة في Fargate، أو تهيئة مخصصة لنظام التشغيل (ضبط النواة وبرامج التشغيل المخصصة)، أو أداء شبكي يتطلب placement groups أو enhanced networking، أو حاويات Windows (يدعم EC2 حاويات Windows Server، بينما يدعمها Fargate مع بعض القيود)، أو عندما تشغّل أعباء عمل ذات استخدام مرتفع ومستقر، حيث توفر Reserved Instances في EC2 ميزة تكلفة كبيرة مقارنةً بالفوترة لكل ثانية في Fargate.

متى تختار Fargate

اختر Fargate عندما تريد: التخلص من أعباء إدارة EC2 (من دون تصحيح نظام التشغيل أو توسيع نطاق المجموعة)، أو الدفع مقابل ما تستخدمه فقط لكل ثانية، أو تشغيل أعباء عمل متذبذبة أو دفعية لا تبرر الاحتفاظ بسعة EC2 خاملة، أو تحقيق عزل أقوى للمهام عبر Firecracker microVMs، أو تسريع التطوير بالتركيز على شفرة التطبيق فقط. يُعد Fargate التوصية الافتراضية لأعباء عمل ECS الجديدة في اختبار SAA-C03، ما لم يُذكر متطلب محدد لـ EC2.

موفّرو سعة ECS

تجرد موفّرات السعة طبقة الحوسبة من خدمات ECS. في حالة EC2، يربط موفّر السعة بمجموعة Auto Scaling Group، وتعمل ECS على توسيع نطاق ASG تلقائياً عندما يتعذر وضع المهام بسبب عدم كفاية السعة. أما في Fargate، فإن FARGATE وFARGATE_SPOT هما موفّرا سعة مدمجان. يتيح تحديد استراتيجية موفّر السعة في الخدمة الجمع بين السعة عند الطلب وSpot/Fargate Spot، ما يوفر تحكماً دقيقاً في المفاضلة بين التكلفة والتوافر لكل حمل عمل.

مقارنة الأعباء التشغيلية

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

تحديد حجم وحدة المعالجة المركزية والذاكرة للمهمة في Fargate

يجب أن تحدد تعريفات مهام Fargate وحدة المعالجة المركزية والذاكرة من مجموعة ثابتة من التركيبات. قيم CPU هي: 256 و512 و1024 و2048 و4096 و8192 و16384 (بوحدات vCPU، حيث يساوي 1024 مقدار 1 vCPU). يجب أن تقع الذاكرة ضمن النطاقات المسموح بها لكل قيمة CPU؛ فعلى سبيل المثال، تتيح قيمة CPU البالغة 256 ذاكرةً تتراوح بين 512 و2048 ميغابايت. تتشارك الحاويات داخل المهمة سقف وحدة المعالجة المركزية والذاكرة الخاص بالمهمة. من المهم ضبط الحجم المناسب: إذ يفوتر Fargate بالضبط وفق ما تحدده، ولذلك يؤدي الإفراط في توفير الموارد إلى إهدار المال من دون فائدة فعلية في الأداء عندما تكون أعباء العمل محدودة بوحدة المعالجة المركزية.

# Valid Fargate combinations
# 256 CPU (.25 vCPU): 512, 1024, or 2048 MB
# 512 CPU (.5 vCPU): 1024 to 4096 MB
# 1024 CPU (1 vCPU): 2048 to 8192 MB
# 2048 CPU (2 vCPU): 4096 to 16384 MB
# 4096 CPU (4 vCPU): 8192 to 30720 MB

ECS Exec لتصحيح الأخطاء

يتيح لك ECS Exec فتح جلسة shell تفاعلية مباشرةً داخل حاوية قيد التشغيل (في كل من EC2 وFargate)، من دون SSH أو مضيفات bastion. ويستخدم في الخلفية AWS Systems Manager Session Manager. فعّله على الخدمة، ثم استخدم CLI بالأمر execute-command لبدء جلسة bash. تُعد هذه الإمكانية بالغة الأهمية لتصحيح مشكلات الحاويات في بيئة الإنتاج. ويحتاج دور المهمة إلى ssmmessages:CreateControlChannel وأذونات SSM ذات الصلة.

aws ecs execute-command \
  --cluster 'MyAppCluster' \
  --task 'abc123def456' \
  --container 'myapp' \
  --interactive \
  --command '/bin/bash'

تحقق سريع

اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن نوع تشغيل EC2 يمنحك تحكماً كاملاً في أنواع المثيلات وتهيئة نظام التشغيل، مقابل إدارة الأسطول الأساسي، وهو مناسب لوحدات GPU والأجهزة المتخصصة وأعباء العمل ذات الاستخدام المرتفع والمستقر؛ وأن Fargate يلغي إدارة البنية التحتية مع فوترة المهام لكل ثانية وعزل قوي باستخدام Firecracker، وهو مناسب لمعظم أعباء عمل الويب وواجهات API والمهام الدفعية؛ وأن Fargate Spot يخفض التكاليف بنسبة تصل إلى 70% لأعباء العمل التي تتحمل المقاطعة. بعد ذلك، سنستكشف Amazon ECR لتخزين صور الحاويات وسحبها.

البدء مجانًا

تعلم Cloud & IT Cert Prep مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
150
الدروس
600

الأسئلة الشائعة

هل درس «نوع تشغيل EC2 في مقابل Fargate» مجاني؟

نعم — نص درس «نوع تشغيل EC2 في مقابل Fargate» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ماذا ستتعلم في «نوع تشغيل EC2 في مقابل Fargate»؟

قارن بين إدارة مثيلات حاويات EC2 بنفسك واستخدام Fargate لتشغيل الحاويات دون خوادم، وافهم الفروقات في التكلفة تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «نوع تشغيل EC2 في مقابل Fargate»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عناقيد ECS وتعريفات المهام والخدمات
  2. نوع تشغيل EC2 في مقابل Fargate
  3. ECR: تخزين صور الحاويات وسحبها
  4. التوسّع التلقائي لخدمات ECS وموازنة التحميل
← العودة إلى Cloud & IT Cert Prep