انتقل إلى المحتوى الرئيسي

المناطق و مناطق التوافر

البنية التحتية العالمية لـ AWS​

قامت AWS ببناء بنية تحتية عالمية تتكون من مناطق و مناطق توافر (AZ). فهم هذه البنية ضروري لتصميم تطبيقات مرنة.

┌─────────────────────────────────────────────────────────────┐
│ INFRASTRUCTURE AWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ 🌍 العالم │
│ │ │
│ ├── 📍 منطقة (us-east-1) │
│ │ ├── 🏢 AZ (us-east-1a) ─── Datacenter(s) │
│ │ ├── 🏢 AZ (us-east-1b) ─── Datacenter(s) │
│ │ ├── 🏢 AZ (us-east-1c) ─── Datacenter(s) │
│ │ └── ... │
│ │ │
│ ├── 📍 منطقة (eu-west-1) │
│ │ ├── 🏢 AZ (eu-west-1a) │
│ │ ├── 🏢 AZ (eu-west-1b) │
│ │ └── 🏢 AZ (eu-west-1c) │
│ │ │
│ ├── 📍 منطقة (ca-central-1) ← كندا / مونتريال │
│ │ ├── 🏢 AZ (ca-central-1a) │
│ │ ├── 🏢 AZ (ca-central-1b) │
│ │ └── 🏢 AZ (ca-central-1d) │
│ │ │
│ └── ... (30+ مناطق في العالم) │
│ │
└─────────────────────────────────────────────────────────────┘

ما هي المنطقة؟​

منطقة AWS هي منطقة جغرافية تحتوي على عدة مراكز بيانات. كل منطقة مستقلة تمامًا عن الأخرى.

خصائص المنطقة​

الخاصيةالوصف
العزلكل منطقة معزولة عن الأخرى
البياناتالبيانات لا تغادر المنطقة (إلا إذا طلبت ذلك)
الخدماتليست كل الخدمات متاحة في جميع المناطق
الأسعارتختلف الأسعار حسب المنطقة
الكمونالأقرب = الأسرع

المناطق الرئيسية لـ AWS (2024)​

┌─────────────────────────────────────────────────────────────┐
│ المناطق الرئيسية لـ AWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ 🇺🇸 أمريكا الشمالية │
│ ├── us-east-1 │ N. Virginia │ الأقدم │
│ ├── us-east-2 │ أوهايو │ │
│ ├── us-west-1 │ N. California│ │
│ ├── us-west-2 │ أوريغون │ │
│ └── ca-central-1 │ مونتريال │ 🇨🇦 كندا │
│ │
│ 🇪🇺 أوروبا │
│ ├── eu-west-1 │ إيرلندا │ شائعة في أوروبا │
│ ├── eu-west-2 │ لندن │ │
│ ├── eu-west-3 │ باريس │ 🇫🇷 فرنسا │
│ ├── eu-central-1 │ فرانكفورت │ 🇩🇪 ألمانيا │
│ └── eu-north-1 │ ستوكهولم │ │
│ │
│ 🌏 آسيا والمحيط الهادئ │
│ ├── ap-northeast-1│ طوكيو │ 🇯🇵 اليابان │
│ ├── ap-southeast-1│ سنغافورة │ │
│ └── ap-south-1 │ مومباي │ 🇮🇳 الهند │
│ │
└─────────────────────────────────────────────────────────────┘

كيفية اختيار منطقة؟​

┌─────────────────────────────────────────────────────────────┐
│ معايير اختيار المنطقة │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 📍 قرب المستخدمين │
│ └── الأقرب = كمون أقل │
│ └── مستخدمون في كندا → ca-central-1 │
│ │
│ 2. ⚖️ الامتثال والتنظيم │
│ └── RGPD → منطقة في أوروبا │
│ └── بيانات كندية → ca-central-1 │
│ └── HIPAA, PCI-DSS → مناطق متوافقة │
│ │
│ 3. 💰 التكلفة │
│ └── us-east-1 غالبًا الأرخص │
│ └── المناطق الحديثة أحيانًا أغلى │
│ │
│ 4. 🛠️ توفر الخدمات │
│ └── الخدمات الجديدة أولاً في us-east-1 │
│ └── تحقق من وجود الخدمة في المنطقة │
│ │
└─────────────────────────────────────────────────────────────┘
لهذا الدرس

سنستخدم بشكل رئيسي us-east-1 (N. Virginia) لأن:

  • جميع الخدمات متوفرة هناك
  • LocalStack يحاكيها افتراضيًا
  • الأسعار عادةً هي الأدنى

ما هي منطقة التوافر (AZ)؟​

منطقة التوافر هي مركز بيانات واحد أو أكثر داخل منطقة، مع طاقة وشبكة واتصال زائدة.

خصائص AZ​

┌─────────────────────────────────────────────────────────────┐
│ منطقة التوافر (AZ) │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ AZ : us-east-1a │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │Datacenter│ │Datacenter│ │Datacenter│ │ │
│ │ │ 1 │ │ 2 │ │ 3 │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │
│ │ │ │ │ │ │
│ │ └──────────────┼──────────────┘ │ │
│ │ │ │ │
│ │ • طاقة زائدة │ │
│ │ • شبكة زائدة │ │
│ │ • مفصولة فيزيائيًا عن AZ الأخرى │ │
│ │ • متصلة بـ AZ الأخرى عبر ألياف عالية السرعة │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ العزل الفيزيائي: │
│ • مسافة كافية لتجنب الكوارث │
│ • قريبة بما يكفي لكمون منخفض (< 2ms بين AZ) │
│ • الفيضانات، الزلازل، الحرائق تؤثر فقط على AZ واحدة │
│ │
└─────────────────────────────────────────────────────────────┘

لماذا استخدام عدة AZ؟​

┌─────────────────────────────────────────────────────────────┐
│ التوافر العالي │
├─────────────────────────────────────────────────────────────┤
│ │
│ السيناريو: تعطل AZ كاملة │
│ │
│ بدون Multi-AZ مع Multi-AZ │
│ ────────────── ────────────── │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ AZ-1a │ │ AZ-1a │ │
│ │ ┌────┐ │ │ ┌────┐ │ │
│ │ │ EC2│ ❌ │ │ │ EC2│ ❌ │ │
│ │ └────┘ │ │ └────┘ │ │
│ │ تعطل! │ │ │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ التطبيق معطل ┌──────────────┐ │
│ │ AZ-1b │ │
│ │ ┌────┐ │ │
│ │ │ EC2│ ✅ │ │
│ │ └────┘ │ │
│ │ يعمل │ │
│ └──────────────┘ │
│ │
│ التطبيق يعمل! ✅ │
│ │
└─────────────────────────────────────────────────────────────┘

الكمون بين AZ​

الكمون النموذجي بين المكونات:

في نفس AZ : < 1 ms ████
بين AZ (نفس المنطقة): 1-2 ms █████████
بين المناطق : 50-200+ ms ████████████████████████████████

التوصية:
• المكونات التي تتواصل كثيرًا → نفس AZ
• المكونات الحرجة → Multi-AZ (تكرار)

تسمية AZ​

صيغة الاسم​

الصيغة: <المنطقة><الحرف>

أمثلة:
• us-east-1a = منطقة us-east-1، AZ "a"
• us-east-1b = منطقة us-east-1، AZ "b"
• ca-central-1a = منطقة ca-central-1، AZ "a"

انتباه: تعيين مختلف لكل حساب!​

┌─────────────────────────────────────────────────────────────┐
│ مهم: تعيين AZ │
├─────────────────────────────────────────────────────────────┤
│ │
│ ⚠️ us-east-1a في الحساب A │
│ ليس بالضرورة نفس مركز البيانات كما في │
│ us-east-1a في الحساب B! │
│ │
│ الحساب A: الحساب B: │
│ us-east-1a → Datacenter X us-east-1a → Datacenter Y │
│ us-east-1b → Datacenter Y us-east-1b → Datacenter X │
│ │
│ AWS تخلط عمدًا لتحقيق توازن الحمل │
│ │
│ لتحديد AZ حقًا: استخدم AZ ID │
│ مثال: use1-az1, use1-az2 (متطابق بين الحسابات) │
│ │
└─────────────────────────────────────────────────────────────┘

مخطط تلخيصي​

┌─────────────────────────────────────────────────────────────────────────┐
│ المنطقة: us-east-1 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │
│ │ us-east-1a │ │ us-east-1b │ │ us-east-1c │ │
│ │ │ │ │ │ │ │
│ │ ┌───┐ ┌───┐ ┌───┐│ │ ┌───┐ ┌───┐ ┌───┐│ │ ┌───┐ ┌───┐ ┌───┐│ │
│ │ │DC1│ │DC2│ │DC3││ │ │DC4│ │DC5│ │DC6││ │ │DC7│ │DC8│ │DC9││ │
│ │ └───┘ └───┘ └───┘│ │ └───┘ └───┘ └───┘│ │ └───┘ └───┘ └───┘│ │
│ │ │ │ │ │ │ │
│ └─────────┬─────────┘ └─────────┬─────────┘ └─────────┬─────────┘ │
│ │ │ │ │
│ └─────────────────────┼─────────────────────┘ │
│ │ │
│ شبكة عالية السرعة (< 2ms) │
│ │ │
│ ┌────────┴────────┐ │
│ │ خدمات المنطقة │ │
│ │ (S3, IAM, etc.) │ │
│ └─────────────────┘ │
│ │
│ المسافة الفيزيائية بين AZ: عدة كيلومترات │
│ العزل: الطاقة، التبريد، الشبكة منفصلة │
│ │
└─────────────────────────────────────────────────────────────────────────┘

الخدمات الإقليمية مقابل العالمية​

الخدمات العالمية (غير مرتبطة بمنطقة)​

الخدمةالوصف
IAMإدارة الهويات
Route 53DNS
CloudFrontCDN
WAFجدار حماية تطبيقي

الخدمات الإقليمية (مرتبطة بمنطقة)​

الخدمةالوصف
EC2مثيلات في منطقة/AZ
S3دلاء في منطقة
RDSقواعد بيانات إقليمية
Lambdaوظائف إقليمية
VPCشبكات إقليمية

أفضل الممارسات​

1. دائمًا Multi-AZ للإنتاج​

❌ سيء: كل شيء في AZ واحدة
✅ جيد: الموارد موزعة على 2-3 AZ

2. اختيار المنطقة الأقرب​

المستخدمون الرئيسيون في كيبيك؟
→ ca-central-1 (مونتريال)

المستخدمون في فرنسا؟
→ eu-west-3 (باريس) أو eu-west-1 (إيرلندا)

3. التحقق من توفر الخدمات​

# قبل اختيار منطقة، تحقق من وجود الخدمة
# AWS Console → اختيار المنطقة → رؤية الخدمات المتاحة

4. النظر في التكاليف​

سعر EC2 t3.micro (مثال):
us-east-1 : $0.0104/h ████
ca-central-1 : $0.0116/h █████
eu-west-3 : $0.0120/h █████
ap-south-1 : $0.0108/h ████

الفرق قد يبدو ضئيلاً لكنه يتراكم!

اختبار التحقق​

  1. ما هي منطقة AWS؟
  2. ما هي منطقة التوافر؟
  3. كم عدد AZ الموصى بها كحد أدنى للإنتاج؟
  4. ما هو الكمون النموذجي بين اثنين من AZ في نفس المنطقة؟
  5. أي منطقة تستخدم لمستخدمين كنديين مع متطلبات إقامة البيانات؟
  6. اذكر 2 من خدمات AWS العالمية (غير المرتبطة بمنطقة).

القسم التالي: AMI - صور الآلة