مقدمة إلى Amazon EC2
ما هو Amazon EC2؟
Amazon EC2 (Elastic Compute Cloud) هو خدمة الحوسبة الأساسية لـ AWS. يتيح لك استئجار خوادم افتراضية (تسمى مثيلات) في السحابة.
┌─────────────────────────────────────────────────────────────┐
│ AMAZON EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ "خوادم افتراضية عند الطلب" │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ مثيل EC2 │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ CPU │ │ RAM │ │ تخزين │ │ │
│ │ │ (vCPU) │ │ (GiB) │ │ (EBS) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ OS │ │ شبكة │ │ أمان │ │ │
│ │ │Linux/Win │ │ (IP) │ │ (SG) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ أنت تتحكم في: │
│ • نوع/حجم المثيل │
│ • نظام التشغيل │
│ • البرامج المثبتة │
│ • تكوين الشبكة والأمان │
└─────────────────────────────────────────────────────────────┘
تشبيه: استئجار شقة
┌────────────────────────────────────────────────────────────────┐
│ استئجار تقليدي vs AMAZON EC2 │
├────────────────────────────────────────────────────────────────┤
│ │
│ 🏠 شقة 💻 مثيل EC2 │
│ ───────────── ───────────── │
│ الحجم (م²) نوع المثيل (t2, m5) │
│ عدد الغرف vCPU و RAM │
│ الموقع (مدينة) منطقة AWS │
│ عقد (سنة واحدة على الأقل) عند الطلب (بالثانية) │
│ أثاث اختياري AMI (نظام تشغيل مثبت مسبقًا)│
│ قفل/إنذار مجموعة الأمان │
│ │
│ 💰 إيجار شهري ثابت 💰 دفع حسب الاستخدام │
│ 📋 إشعار 3 أشهر 🔄 إيقاف فوري ممكن │
└────────────────────────────────────────────────────────────────┘
حالات استخدام EC2
متى تستخدم EC2؟
| حالة الاستخدام | الوصف | مثال |
|---|---|---|
| خوادم الويب | استضافة المواقع والتطبيقات | Apache, Nginx |
| تطبيقات الأعمال | ERP، CRM، برامج داخلية | SAP, Oracle |
| قواعد البيانات | قواعد بيانات مُدارة ذاتيًا | MySQL, PostgreSQL |
| التطوير/الاختبار | بيئات مؤقتة | CI/CD, QA |
| الحوسبة المكثفة | معالجة البيانات | Analytics, ML |
| الألعاب | خوادم الألعاب | Minecraft, game servers |
EC2 مقابل الخدمات الأخرى
┌─────────────────────────────────────────────────────────────┐
│ اختيار الخدمة الحوسبية المناسبة │
├─────────────────────────────────────────────────────────────┤
│ │
│ EC2 Lambda ECS/EKS │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐│
│ │ تحكم كامل │ │ بدون خادم │ │ حاويات ││
│ │ │ │ أحداث │ │ Docker ││
│ │ نظام تشغيل │ │ كود فقط │ │ صور ││
│ │ 24/7 │ │ عند الطلب │ │ مُدار ││
│ └────────────┘ └────────────┘ └────────────┘│
│ │
│ استخدم EC2 إذا: │
│ ✅ تحتاج إلى نظام تشغيل كامل │
│ ✅ تطبيقات طويلة الأمد (24/7) │
│ ✅ برامج لا يمكن وضعها في حاويات │
│ ✅ تحكم كامل في التكوين │
│ │
│ لا تستخدم EC2 إذا: │
│ ❌ مهام قصيرة وحدثية → Lambda │
│ ❌ تطبيقات في حاويات → ECS/EKS │
│ ❌ مواقع ثابتة → S3 + CloudFront │
└─────────────────────────────────────────────────────────────┘
دورة حياة مثيل EC2
┌─────────────────────────────────────────────────────────────┐
│ دورة حياة EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ │
│ │ PENDING │ ← إطلاق │
│ └────┬────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ ┌─────────┐ │
│ │STOPPING │◄──────►│ RUNNING │ ← قيد التشغيل │
│ └────┬────┘ └────┬────┘ (الفوترة نشطة) │
│ │ │ │
│ ▼ │ │
│ ┌─────────┐ │ │
│ │ STOPPED │◄────────────┘ │
│ └────┬────┘ ← متوقف (لا توجد فوترة للحوسبة) │
│ │ │
│ │ إنهاء │
│ ▼ │
│ ┌─────────────┐ │
│ │ TERMINATING │ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ TERMINATED │ ← محذوفة نهائيًا │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
الحالات والفوترة
| الحالة | الوصف | الفوترة |
|---|---|---|
| Pending | قيد الإطلاق | لا |
| Running | قيد التشغيل | ✅ نعم |
| Stopping | قيد الإيقاف | نعم |
| Stopped | متوقف | لا (لكن يتم فوترة EBS) |
| Terminating | قيد الحذف | لا |
| Terminated | محذوفة | لا |
انتباه
المثيل Stopped لا يفرض رسوم الحوسبة (CPU/RAM)، لكن التخزين EBS يبقى مفوترًا!
نماذج تسعير EC2
1. On-Demand (عند الطلب)
┌─────────────────────────────────────────────────────────────┐
│ ON-DEMAND │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 الدفع: بالساعة أو بالثانية │
│ 📋 الالتزام: لا يوجد │
│ ⚡ المرونة: قصوى │
│ 💲 السعر: الأعلى │
│ │
│ مثالي لـ: │
│ • التطوير والاختبار │
│ • الأحمال غير المتوقعة │
│ • التطبيقات قصيرة الأمد │
│ │
│ مثال: t3.micro = ~$0.0104/ساعة (us-east-1) │
└─────────────────────────────────────────────────────────────┘
2. Reserved Instances (المثيلات المحجوزة)
┌─────────────────────────────────────────────────────────────┐
│ RESERVED INSTANCES │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 الدفع: التزام 1 أو 3 سنوات │
│ 📋 الالتزام: قوي │
│ ⚡ المرونة: محدودة │
│ 💲 السعر: حتى 72% تخفيض │
│ │
│ الأنواع: │
│ • Standard: أفضل سعر، أقل مرونة │
│ • Convertible: سعر متوسط، يمكن تغيير النوع │
│ │
│ مثالي لـ: │
│ • الأحمال المستقرة والمتوقعة │
│ • التطبيقات الإنتاجية 24/7 │
│ │
└─────────────────────────────────────────────────────────────┘
3. Spot Instances
┌─────────────────────────────────────────────────────────────┐
│ SPOT INSTANCES │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 الدفع: مزايدات على السعة غير المستخدمة │
│ 📋 الالتزام: لا يوجد │
│ ⚡ المرونة: متغيرة (إمكانية الانقطاع) │
│ 💲 السعر: حتى 90% تخفيض! │
│ │
│ ⚠️ انتباه: يمكن لـ AWS استعادة المثيل │
│ مع إشعار لمدة دقيقتين! │
│ │
│ مثالي لـ: │
│ • معالجة الدفعات │
│ • الأحمال المتسامحة مع الانقطاعات │
│ • CI/CD، الاختبارات │
│ │
└─────────────────────────────────────────────────────────────┘
مقارنة الأسعار (مثال t3.large، us-east-1)
On-Demand ████████████████████████████████ $0.0832/h (100%)
Reserved 1yr █████████████████████ $0.0528/h (63%)
Reserved 3yr ███████████████ $0.0333/h (40%)
Spot ████████ $0.0250/h (30%)
مكونات مثيل EC2
┌─────────────────────────────────────────────────────────────┐
│ مكونات مثيل EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ مثيل EC2 │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 1. AMI (Amazon Machine Image) │ │ │
│ │ │ نظام التشغيل + البرامج │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 2. نوع المثيل │ │ │
│ │ │ CPU (vCPU) + RAM (GiB) │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 3. التخزين (EBS أو Instance Store) │ │ │
│ │ │ الأقراص المرفقة │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 4. تكوين الشبكة │ │ │
│ │ │ VPC، Subnet، IP عام/خاص │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 5. مجموعة الأمان │ │ │
│ │ │ قواعد الجدار الناري │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 6. زوج المفاتيح │ │ │
│ │ │ توثيق SSH │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
بيانات التعريف للمثيل
كل مثيل EC2 لديه إمكانية الوصول إلى بيانات التعريف الخاصة به عبر عنوان URL خاص:
http://169.254.169.254/latest/meta-data/
المعلومات المتاحة
| Endpoint | المعلومات |
|---|---|
/instance-id | معرف المثيل |
/instance-type | النوع (t3.micro، إلخ.) |
/ami-id | معرف AMI |
/local-ipv4 | IP خاص |
/public-ipv4 | IP عام |
/placement/availability-zone | منطقة التوافر |
مثال على الاستخدام
# من المثيل EC2
curl http://169.254.169.254/latest/meta-data/instance-id
# النتيجة: i-0123456789abcdef0
curl http://169.254.169.254/latest/meta-data/instance-type
# النتيجة: t3.micro
فائدة
بيانات التعريف مفيدة لـ:
- سكربتات التكوين التلقائي
- التطبيقات التي تحتاج إلى معرفة بيئتها
- استرداد بيانات اعتماد IAM المؤقتة
ملخص
| المفهوم | الوصف |
|---|---|
| EC2 | خدمة الآلات الافتراضية AWS |
| مثيل | خادم افتراضي فردي |
| AMI | صورة النظام (نظام التشغيل + البرامج) |
| نوع | تكوين CPU/RAM |
| On-Demand | الدفع حسب الاستخدام، مرن |
| Reserved | التزام طويل الأمد، توفير |
| Spot | سعة غير مستخدمة، اقتصادي جدًا ولكن قابل للانقطاع |
اختبار التحقق
- ما هو مثيل EC2؟
- ما الفرق بين حالتي "Stopped" و "Terminated"؟
- أي نموذج تسعير يوفر أكبر قدر من المرونة؟
- أي نموذج يوفر أكبر قدر من التوفير مع خطر الانقطاع؟
- ما هي المكونات الرئيسية الستة لمثيل EC2؟
- ما فائدة بيانات التعريف للمثيل؟
القسم التالي: المناطق ومناطق التوافر