أساسيات السحابة: خدمات AWS الأساسية

مفاهيم السحابة والبنية التحتية العالمية لـ AWS

18 دقيقة الدرس 1 من 30

مفاهيم السحابة والبنية التحتية العالمية لـ AWS

كل مهندس DevOps يتولى مهام الإناحة سيواجه عاجلاً أم آجلاً سؤالاً في الساعة الثانية صباحاً: هل هذه مشكلة في الكود، أم خلل في الشبكة، أم أن مركز بيانات AWS بأكمله قد توقف؟ للإجابة على هذا السؤال — وتصميم أنظمة تصمد حتى لو كانت الإجابة "نعم، المركز توقف" — تحتاج إلى نموذج ذهني دقيق عن كيفية التنظيم الجغرافي والمنطقي لـ AWS. هذا الدرس يبني هذا النموذج من الصفر.

نماذج خدمات السحابة الثلاثة

قبل الغوص في جغرافية AWS، من الضروري ترسيخ المصطلحات التي ستصادفها في كل وصف وظيفي ووثائق AWS.

  • IaaS (البنية التحتية كخدمة): تستأجر موارد الحوسبة والتخزين والشبكة الخام. EC2 وEBS وVPC من AWS هي نماذج IaaS. أنت تدير نظام التشغيل والبيئة التشغيلية والتطبيق؛ وAWS تدير العتاد المادي.
  • PaaS (المنصة كخدمة): يدير المزود البيئة التشغيلية ونظام التشغيل. Elastic Beanstalk وRDS من AWS هما PaaS. أنت تنشر الكود أو المخطط؛ وAWS ترقّع النظام الأساسي.
  • SaaS (البرنامج كخدمة): تطبيق مدار بالكامل. تستهلك الميزة، لا البنية التحتية.
نموذج المسؤولية المشتركة — تقسّم AWS التزامات الأمان إلى نصفين. AWS مسؤولة عن أمان السحابة نفسها: مراكز البيانات المادية، وطبقة Hypervisor، ونسيج الشبكة العالمي، وتصحيحات برامج الخدمات المدارة (مثل إصدار MariaDB تحت RDS). أنت مسؤول عن الأمان داخل السحابة: تصليب نظام التشغيل، وسياسات IAM، وتشفير البيانات في حالة الراحة والنقل، وقواعد Security Group، وكود التطبيق، وكل ما تنصبه فوق EC2. سوء فهم هذا الحد هو أحد أكثر الأسباب شيوعاً للاختراقات السحابية.
AWS Shared Responsibility Model Customer Responsibility (Security IN the Cloud) Application Code & Data IAM Policies, Encryption, SGs OS Patching (on EC2) Network Config, Firewall Rules VPC, Subnets, NACLs AWS Responsibility (Security OF the Cloud) Managed Service Software (RDS, S3) Hypervisor & Virtualisation Layer Global Network Fabric Physical Data Centres Hardware, Power, Cooling
نموذج المسؤولية المشتركة في AWS: العملاء يملكون الأمان داخل السحابة؛ AWS تملك أمان السحابة نفسها.

المناطق (Regions)

تقسّم AWS العالم إلى مناطق (Regions) — مساحات جغرافية كبيرة ومستقلة تماماً. حتى عام 2025، يوجد 34 منطقة مُطلقة (مثل us-east-1 في فيرجينيا الشمالية، وeu-west-1 في أيرلندا، وap-southeast-1 في سنغافورة). كل منطقة لها دائرة انفجار (blast radius) مستقلة: عطل داخل us-east-1 لا ينتشر إلى eu-west-1.

تهم المناطق لثلاثة أسباب تتجاوز المرونة:

  • زمن الاستجابة (Latency): تريد أن تكون قدرتك الحاسوبية قريبة من مستخدميك. تطبيق SaaS أوروبي بجميع أحماله في us-east-1 يضيف 80–120 ميلي ثانية على كل استدعاء API.
  • إقامة البيانات والامتثال: يشترط GDPR بقاء البيانات الشخصية الأوروبية داخل الاتحاد الأوروبي. اختيار eu-central-1 أو eu-west-1 يُبقيك ممتثلاً. البيانات التي تضعها في منطقة تبقى فيها إلا إذا قمت أنت بنسخها صراحةً.
  • توفر الخدمات: لا تُطلق كل خدمة AWS في كل منطقة في آنٍ واحد. us-east-1 دائماً تحصل على الخدمات الجديدة أولاً — وهي أيضاً المنطقة ذات التاريخ الأطول في الانقطاعات البارزة.
ممارسة احترافية: لا تستخدم us-east-1 كمنطقتك الوحيدة. إنها حيث تصل ميزات AWS الجديدة أولاً، مما يعني أنها أيضاً تتحمل أكبر دائرة انفجار. لأي شيء يتطلب وقت تشغيل بأربعة أتسعة (99.99%)، انشر نمط active-active أو active-passive عبر منطقتين.

مناطق التوفر (Availability Zones)

داخل كل منطقة، توفر AWS بين 2 و6 مناطق توفر (AZs) — مراكز بيانات مادية منفصلة، كل منها بطاقة كهربائية وتبريد وشبكات مستقلة، مترابطة ببعضها عبر وصلات ألياف ضوئية خاصة منخفضة الكمون (أقل من رقم واحد بالميلي ثانية). اصطلاح التسمية يُلحق حرفاً: us-east-1a، us-east-1b، us-east-1c.

مناطق التوفر هي الآلية الأساسية لتحقيق التوفر العالي داخل المنطقة. القاعدة الذهبية في كل مؤسسة هندسية جادة هي: إذا كانت لديك خدمات عديمة الحالة، شغّل نسختين على الأقل موزعتين عبر منطقتي توفر على الأقل. للقواعد البيانية، شغّل قاعدة بيانات رئيسية في منطقة توفر واحتياطية (أو نسخ قراءة) في منطقة أخرى على الأقل.

تسمية مناطق التوفر خاصة بالحساب. منطقة التوفر المُسمّاة us-east-1a في حسابك في AWS ليست بالضرورة نفس مركز البيانات المادي كـus-east-1a في حساب زميلك. تُعيد AWS ترتيب الربط لتوزيع الحمل عبر المنشآت المادية. استخدم معرّفات مناطق التوفر (AZ IDs) (مثل use1-az1) عند التنسيق عبر الحسابات — المعرّف ثابت ومرتبط بالموقع المادي. هذا يُربك الفرق التي تعمل على حجز السعة عبر الحسابات.
AWS Region, Availability Zones, and Edge Locations AWS Region (e.g. us-east-1) AZ-a (use1-az1) EC2 Instance RDS Primary EBS Volume Data Centre A Power + Network AZ-b (use1-az2) EC2 Instance RDS Standby EBS Volume Data Centre B Power + Network AZ-c (use1-az3) EC2 Instance RDS Read Replica EBS Volume Data Centre C Power + Network ~1ms ~1ms Edge Location CloudFront PoP 600+ worldwide Origin Regional Edge Cache (13 nodes) Larger cache tier
منطقة AWS تحتوي على 3 مناطق توفر متصلة بوصلات منخفضة الكمون، مع مواقع الحافة (CloudFront PoPs) لتقديم المحتوى المخزن مؤقتاً قريباً من المستخدمين النهائيين.

مواقع الحافة وشبكة CloudFront

المناطق ومناطق التوفر تتولى الحوسبة والتخزين. لتوصيل المحتوى — الأصول الثابتة، وتسريع API، والتخفيف من هجمات DDoS — تُوفر AWS طبقة منفصلة: مواقع الحافة (Edge Locations)، نقاط التواجد المادية (PoPs) التي تُخزّن فيها Amazon CloudFront المحتوى وتمتص فيها AWS Shield الهجمات الضخمة.

حتى عام 2025، تُشغّل AWS أكثر من 600 موقع حافة في أكثر من 90 مدينة حول العالم، بالإضافة إلى 13 ذاكرة تخزين حافة إقليمية تقع بين أصلك (S3، ALB، EC2) وعُقد الحافة. الهيكل المتدرج للتخزين المؤقت يعني أن فشل التخزين في موقع حافة يتحقق من ذاكرة التخزين الإقليمية قبل الرجوع لأصلك — مما يقلل بشكل كبير من حمل الأصل للمحتوى الشائع.

الخدمات الأخرى التي تستخدم شبكة الحافة:

  • Route 53: شبكة Anycast العالمية لـ AWS تُوجّه الاستعلامات إلى أقرب محلل، محققةً دقة DNS بمرحلة أرقام أحادية بالميلي ثانية حول العالم.
  • AWS Global Accelerator: يُوجّه حركة TCP/UDP إلى أقرب عُقدة حافة AWS ويُبقيها على الشبكة الخاصة بـ AWS — متجاوزاً الإنترنت العام المزدحم للمسافات الطويلة، مما يقلل الكمون وفقد الحزم للتطبيقات الآنية.
  • Lambda@Edge / CloudFront Functions: تُنفّذ كوداً خفيفاً في موقع الحافة لتعديل الطلبات، واختبار A/B، والتحقق من المصادقة دون رحلة ذهاب وإياب إلى المنطقة الأصلية.

الاستعلام عن البنية التحتية برمجياً

فهم التخطيط المادي يُمكّنك من اتخاذ قرارات معمارية في الكود. يتيح لك AWS CLI الوصول المباشر إلى هذه البيانات الوصفية — استخدمه لمراجعة بنيتك التحتية وبناء الأتمتة.

# عرض كل المناطق المتاحة (يُظهر حالة الاشتراك) aws ec2 describe-regions --output table # عرض مناطق التوفر في منطقتك الحالية — لاحظ 'ZoneId' (مادي، مستقل عن الحساب) aws ec2 describe-availability-zones \ --query 'AvailabilityZones[*].{Name:ZoneName,ID:ZoneId,State:State}' \ --output table # فحص توزيع EC2 عبر مناطق التوفر (مفيد لمراجعة سعة Spot) aws ec2 describe-instances \ --query 'Reservations[*].Instances[*].{ID:InstanceId,AZ:Placement.AvailabilityZone,Type:InstanceType}' \ --output table

أنماط الفشل الإنتاجية التي يجب استيعابها

مخططات المعمارية في الكتب المدرسية تُظهر مربعات وأسهماً نظيفة. حوادث AWS الحقيقية تبدو مختلفة. ثلاثة أنماط فشل يجب على كل مهندس DevOps تصميم بنيته حولها:

  1. فشل منطقة توفر واحدة: يحدث عدة مرات في السنة عبر الأسطول العالمي. إذا كانت مجموعة Auto Scaling أو RDS أو خدمة ECS مقيّدة بمنطقة توفر واحدة، فحدث طاقة كهربائية أو شبكة هناك يُوقفك عن العمل. صمّم للعزل على مستوى مناطق التوفر منذ اليوم الأول.
  2. اضطراب إقليمي: شهدت us-east-1 أحداثاً كبيرة متعددة منذ 2011، بما فيها انقطاع Kinesis عام 2021 الذي تسلسل إلى IAM وأطلق تدهوراً واسعاً متعدد الخدمات. المرونة الحقيقية تتطلب استراتيجية متعددة المناطق لأحمال العمل من الفئة الأولى.
  3. فخ "إنه مجرد DNS": يستخدم Route 53 شبكة Anycast عالمية وهو من أكثر خدمات AWS موثوقية — لكن صلاحيات TTL لـ DNS لا تزال تُفاجئ المهندسين أثناء عمليات الفشل التلقائي. اضبط TTL منخفضة (60 ثانية) على السجلات التي قد تحتاج للتغيير بسرعة في حادثة ما.
ضَع علامات على مواردك بمنطقة التوفر: أضف وسم aws:availability-zone (أو استخدم خدمة البيانات الوصفية على EC2) لكل مورد. أثناء الحادثة، السؤال الأول هو "أي منطقة توفر متأثرة؟" — وجود CMDB أو أدوات المراقبة تُجيب على ذلك في ثوانٍ بدلاً من دقائق هو الفرق بين MTTR مدته 5 دقائق و45 دقيقة.
# من داخل EC2 — الاستعلام عن Instance Metadata Service (IMDSv2) # الخطوة 1: احصل على رمز الجلسة (IMDSv2 يتطلب ذلك؛ IMDSv1 خطر أمني) TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" \ -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") # الخطوة 2: استعلم بيانات الموضع curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \ http://169.254.169.254/latest/meta-data/placement/availability-zone curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \ http://169.254.169.254/latest/meta-data/placement/region # مثال على الناتج: # us-east-1b # us-east-1

النقاط الرئيسية

  • تُشغّل AWS 34 منطقة مستقلة — حدود دائرة الانفجار الجغرافية. اختر المناطق بناءً على زمن الاستجابة، والامتثال، واستراتيجية المرونة متعددة المناطق.
  • كل منطقة تحتوي 2–6 مناطق توفر — مراكز بيانات مادية منفصلة بطاقة كهربائية وتبريد وشبكات مستقلة، متصلة بوصلات ألياف ضوئية بكمون أقل من 2 مللي ثانية. مناطق التوفر هي آليتك الأساسية للتوفر العالي داخل المنطقة.
  • أكثر من 600 موقع حافة تُشغّل CloudFront وRoute 53 وShield وGlobal Accelerator — لتقريب المحتوى وDNS من المستخدمين حول العالم.
  • نموذج المسؤولية المشتركة يُقسّم التزامات الأمان: AWS تملك البنية التحتية؛ أنت تملك كل ما تضعه فوقها.
  • ربط تسمية مناطق التوفر بالموقع المادي خاص بالحساب. استخدم معرّفات AZ (مثل use1-az1) عند التنسيق عبر الحسابات.