0Pricing
Cloud & IT Cert Prep · درس

إطلاق أول مثيل EC2 لكم

تعرّفوا خطوة بخطوة إلى معالج الإطلاق، واختاروا AMI ونوع المثيل، واضبطوا أزواج المفاتيح، واتصلوا عبر SSH.

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

ما هو Amazon EC2؟

توفّر Amazon Elastic Compute Cloud (EC2) أجهزة افتراضية قابلة لتغيير الحجم في السحابة تُسمى instances. يمكنك اختيار نظام التشغيل، ووحدة المعالجة المركزية، والذاكرة، والتخزين، وسعة الشبكة. تُعد EC2 خدمة الحوسبة الأساسية في AWS، إذ تعتمد عليها مباشرةً أو عبر الخدمات المبنية فوقها، مثل ECS وEKS وEMR، معظم البنى التي تحتاج إلى حوسبة مستمرة ذات حالة. تعمل الـ instances داخل VPC الخاص بك، ويمكن تشغيلها أو إيقافها أو إعادة تشغيلها أو إنهاؤها عند الطلب.

صور Amazon Machine Images ‏(AMIs)

تُعد Amazon Machine Image (AMI) قالبًا يحدد نظام التشغيل والبرامج وإعدادات instance من EC2. توفّر AWS آلاف AMIs، مثل Amazon Linux 2023 وUbuntu وWindows Server، وينشر مورّدو Marketplace صور AMI مزودة ببرامج مُعدّة مسبقًا، ويمكنك إنشاء AMIs مخصصة عبر التقاط instance قيد التشغيل. عند إطلاق instance، تختار AMI، وهي تحدد محتوى وحدة التخزين الجذرية والمعمارية، سواء x86_64 أو ARM.

# Find latest Amazon Linux 2023 AMI in us-east-1
aws ec2 describe-images \
  --owners amazon \
  --filters 'Name=name,Values=al2023-ami-*-x86_64' \
  --query 'sort_by(Images, &CreationDate)[-1].ImageId' \
  --output text

معالج إطلاق EC2: خطوة بخطوة

يرشدك معالج إطلاق EC2 في وحدة التحكم خلال: 1) الاسم والعلامات؛ 2) اختيار AMI؛ 3) نوع instance (تركيبة CPU/الذاكرة)؛ 4) زوج مفاتيح للوصول عبر SSH؛ 5) إعدادات الشبكة (VPC والشبكة الفرعية ومجموعة الأمان)؛ 6) التخزين (حجم ونوع وحدة تخزين EBS الجذرية)؛ 7) الإعدادات المتقدمة (دور IAM، ونص user data البرمجي، وخيارات البيانات الوصفية). يتيح لك فهم كل خطوة الإجابة بثقة عن أسئلة الاختبار المتعلقة بالإعدادات.

# Equivalent CLI launch
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro \
  --key-name MyKeyPair \
  --security-group-ids sg-12345678 \
  --subnet-id subnet-12345678 \
  --iam-instance-profile Name=MyEC2Role \
  --user-data file://user-data.sh

أزواج المفاتيح لمصادقة SSH

يتكون زوج المفاتيح من مفتاح عام (تخزنه AWS) ومفتاح خاص (تنزّله أنت مرة واحدة فقط). عند إطلاق instance من EC2، تحقن AWS المفتاح العام في ملف ~/.ssh/authorized_keys للمستخدم الافتراضي، مثل ec2-user في Amazon Linux وubuntu في Ubuntu. تتصل باستخدام المفتاح الخاص: ssh -i my-key.pem ec2-user@<public-ip>. يعني فقدان المفتاح الخاص أنك لن تتمكن من الاتصال بـ SSH إلى الـ instance، إلا إذا استخدمت Systems Manager Session Manager كبديل.

# Generate a new key pair and save the private key
aws ec2 create-key-pair \
  --key-name MyKeyPair \
  --query 'KeyMaterial' \
  --output text > MyKeyPair.pem
chmod 400 MyKeyPair.pem

# Connect to the instance
ssh -i MyKeyPair.pem ec2-user@54.123.45.67

حالات دورة حياة instance

تمر instance من EC2 بعدة حالات. Pending: يجري بدء تشغيل الـ instance (لا تُحتسب رسوم). Running: الـ instance نشطة (تُحتسب الرسوم بالثانية أو بالساعة). Stopping: يجري الانتقال إلى حالة التوقف (للـ instances المدعومة بـ EBS فقط). Stopped: الـ instance متوقفة، ولا تدفع إلا مقابل تخزين EBS المرفق. Terminated: حُذفت نهائيًا، ولا يمكن إعادة تشغيلها. يهم فهم هذه الحالات للفوترة (لا تتراكم رسوم On-Demand إلا أثناء حالة Running) وللبنية (تنتهي Spot instances دون الانتقال إلى حالة Stopped).

# Stop and start an instance
aws ec2 stop-instances --instance-ids i-0abcdef1234567890
aws ec2 start-instances --instance-ids i-0abcdef1234567890

# Terminate permanently
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890

عناوين IP العامة والخاصة في EC2

تتلقى الـ instances في الشبكات الفرعية العامة افتراضيًا عنوان IPv4 عامًا (ديناميكيًا، يتغير عند الإيقاف والتشغيل) وعنوان IPv4 خاصًا (يبقى ثابتًا خلال الإيقاف والتشغيل داخل VPC). للحصول على عنوان IP عام دائم، خصص Elastic IP (EIP)، وهو عنوان IPv4 عام ثابت تملكه حتى تحرره. تكون عناوين EIP مجانية عند إرفاقها بـ instance قيد التشغيل، لكن تُفرض رسوم عليها عندما لا تكون مرفقة أو عندما يكون لديك أكثر من عنوان واحد لكل instance قيد التشغيل.

# Allocate an Elastic IP and associate it with an instance
aws ec2 allocate-address --domain vpc
aws ec2 associate-address \
  --instance-id i-0abcdef1234567890 \
  --allocation-id eipalloc-12345678

User Data: نصوص التهيئة الأولية

تمثل User data نصًا برمجيًا لـ shell، أو إعداد cloud-init، يعمل مرة واحدة عند إطلاق instance لأول مرة. استخدمها لتثبيت الحزم، أو إعداد البرامج، أو سحب شفرة التطبيق من S3. تعمل User data بصلاحيات root ولا يُعاد تنفيذها عند إعادة التشغيل افتراضيًا. تُمرر كنص مرمّز بـ base64 عبر إعدادات الإطلاق. يؤدي إبقاء User data قصيرة والاعتماد على AMIs مُعدّة مسبقًا للإعدادات الكبيرة إلى تسريع أوقات إطلاق Auto Scaling.

#!/bin/bash
# user-data.sh — runs on first boot
yum update -y
yum install -y httpd
echo '<h1>Hello from EC2</h1>' > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd

الاتصال: SSH أم Systems Manager

هناك طريقتان أساسيتان للوصول إلى instances من EC2. SSH: يتطلب فتح المنفذ 22 في مجموعة الأمان وملف المفتاح الخاص. AWS Systems Manager Session Manager: يوفّر وصول shell عبر المتصفح أو CLI دون فتح أي منافذ، ودون زوج مفاتيح، ومع سجل تدقيق كامل عبر CloudTrail. يتطلب Session Manager وكيل SSM، المثبت مسبقًا في AMIs الخاصة بـ Amazon Linux وWindows Server، ودور IAM يتضمن سياسة AmazonSSMManagedInstanceCore. يُعد Session Manager أسلوب الوصول المفضل للـ instances في بيئة الإنتاج.

# Start a Session Manager session (no SSH needed)
aws ssm start-session --target i-0abcdef1234567890

البيانات الوصفية لـ EC2 instance

تُعد EC2 Instance Metadata Service (IMDS) نقطة نهاية HTTP على 169.254.169.254 لا يمكن الوصول إليها إلا من داخل الـ instance. توفّر معلومات وقت التشغيل، مثل معرّف الـ instance، ومعرّف AMI، وعنوان IP العام، وبيانات اعتماد دور IAM، ومنطقة التوافر، وغيرها. يتطلب IMDSv2، وهو أفضل ممارسة حاليًا، رمزًا مميزًا موجّهًا للجلسة، ما يمنع هجمات تزوير الطلبات من جانب الخادم (SSRF) من قراءة البيانات الوصفية عبر تطبيق معرض للثغرات. اضبط الـ instances دائمًا لطلب IMDSv2.

# Get instance ID using IMDSv2
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
  -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600' -s)
curl -H "X-aws-ec2-metadata-token: $TOKEN" -s \
  http://169.254.169.254/latest/meta-data/instance-id

مجموعات المواضع

تتحكم مجموعات المواضع في كيفية توزيع الـ instances على الأجهزة الأساسية. Cluster: تجمع الـ instances بالقرب من بعضها في منطقة توافر واحدة لتوفير زمن انتقال شبكي بالغ الانخفاض وعرض نطاق مرتفع، وهي مثالية لـ HPC. Spread: تضع كل instance على جهاز مختلف لتقليل حالات الفشل المترابطة، وهي مثالية للمجموعات الصغيرة والحرجة من الـ instances، بحد أقصى 7 لكل منطقة توافر. Partition: تقسم الـ instances إلى أقسام منطقية على رفوف منفصلة، وهي مثالية للأنظمة الموزعة الكبيرة، مثل Hadoop أو Cassandra، حيث يكون الوعي بالرفوف مهمًا.

# Create a cluster placement group
aws ec2 create-placement-group \
  --group-name HighPerfCluster \
  --strategy cluster

حماية EC2 من الإنهاء

تمنع حماية الإنهاء إنهاء instance عن طريق الخطأ عبر وحدة التحكم أو CLI أو API. فعّلها عند إطلاق الـ instances الحرجة. ملاحظة: حتى عند تفعيل حماية الإنهاء، لا تزال Auto Scaling Groups قادرة على إنهاء الـ instances أثناء أحداث تقليص السعة، ما لم تضبط حماية الـ instance بصورة منفصلة. تتحكم السمة DeleteOnTermination في وحدة تخزين EBS الجذرية في ما إذا كانت الوحدة تُحذف تلقائيًا عند إنهاء الـ instance. أفضل ممارسة هي استخدام true لوحدات التخزين الجذرية وfalse لوحدات تخزين البيانات التي تريد الاحتفاظ بها.

# Enable termination protection
aws ec2 modify-instance-attribute \
  --instance-id i-0abcdef1234567890 \
  --disable-api-termination

اختبار سريع

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

مراجعة الدرس

تعلمت في هذا الدرس: تُطلق instances من EC2 من AMIs مع نوع instance مختار وزوج مفاتيح ومجموعة أمان وUser data اختيارية، وتوفر Elastic IPs عناوين عامة دائمة، بينما تتغير عناوين IP العامة القياسية عند الإيقاف والتشغيل، ويُعد Systems Manager Session Manager أسلوب الوصول المفضل على SSH للـ instances في بيئة الإنتاج. التالي: نقارن أنواع الـ instances ونماذج التسعير.

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

هل درس «إطلاق أول مثيل EC2 لكم» مجاني؟

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

ماذا ستتعلم في «إطلاق أول مثيل EC2 لكم»؟

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

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

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

كم من الوقت يستغرق درس «إطلاق أول مثيل EC2 لكم»؟

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

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

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

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

  1. إطلاق أول مثيل EC2 لكم
  2. أنواع المثيلات ونماذج التسعير
  3. مجموعات الأمان وأزواج المفاتيح
  4. تخزين EC2: مخزن المثيل مقابل EBS
← العودة إلى Cloud & IT Cert Prep