المناطق و مناطق التوافر
البنية التحتية العالمية لـ 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 53 | DNS |
| CloudFront | CDN |
| 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 ████
الفرق قد يبدو ضئيلاً لكنه يتراكم!
اختبار التحقق
- ما هي منطقة AWS؟
- ما هي منطقة التوافر؟
- كم عدد AZ الموصى بها كحد أدنى للإنتاج؟
- ما هو الكمون النموذجي بين اثنين من AZ في نفس المنطقة؟
- أي منطقة تستخدم لمستخدمين كنديين مع متطلبات إقامة البيانات؟
- اذكر 2 من خدمات AWS العالمية (غير المرتبطة بمنطقة).
القسم التالي: AMI - صور الآلة