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

الشبكات الفرعية وجداول التوجيه

ما هي الشبكة الفرعية؟​

الشبكة الفرعية هي تقسيم فرعي لـ VPC الخاص بك. كل شبكة فرعية توجد في منطقة توافر واحدة.

┌─────────────────────────────────────────────────────────────┐
│ الشبكات الفرعية │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC (10.0.0.0/16) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌──────────────────────────────────────────────┐ │ │
│ │ │ المنطقة us-east-1 │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │
│ │ │ │ AZ 1a │ │ AZ 1b │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ ┌─────────┐ │ │ ┌─────────┐ │ │ │ │
│ │ │ │ │Subnet A │ │ │ │Subnet B │ │ │ │ │
│ │ │ │ │10.0.1.0 │ │ │ │10.0.2.0 │ │ │ │ │
│ │ │ │ │ /24 │ │ │ │ /24 │ │ │ │ │
│ │ │ │ └─────────┘ │ │ └─────────┘ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └─────────────┘ └─────────────┘ │ │ │
│ │ │ │ │ │
│ │ └──────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ قاعدة: 1 شبكة فرعية = 1 AZ (لا يمكن أن تمتد) │
│ لكن: 1 AZ يمكن أن تحتوي على عدة شبكات فرعية │
│ │
└─────────────────────────────────────────────────────────────┘

الشبكة الفرعية العامة مقابل الشبكة الفرعية الخاصة​

┌─────────────────────────────────────────────────────────────┐
│ عام مقابل خاص │
├─────────────────────────────────────────────────────────────┤
│ │
│ الإنترنت │
│ │ │
│ ▼ │
│ ┌──────────┐ │
│ │ IGW │ │
│ └────┬─────┘ │
│ │ │
│ ┌─────────────────────┼─────────────────────┐ │
│ │ VPC │ │ │
│ │ │ │ │
│ │ ┌─────────────────┴───────────────┐ │ │
│ │ │ الشبكة الفرعية العامة │ │ │
│ │ │ │ │ │
│ │ │ • مسار إلى IGW (0.0.0.0/0) │ │ │
│ │ │ • IP عام يتم تعيينه تلقائيًا │ │ │
│ │ │ • يمكن الوصول إليها من الإنترنت │ │ │
│ │ │ │ │ │
│ │ │ الموارد: موازن تحميل، │ │ │
│ │ │ بوابة NAT │ │ │
│ │ │ │ │ │
│ │ └─────────────────┬───────────────┘ │ │
│ │ │ │ │
│ │ │ (بوابة NAT) │ │
│ │ │ │ │
│ │ ┌─────────────────┴───────────────┐ │ │
│ │ │ الشبكة الفرعية الخاصة │ │ │
│ │ │ │ │ │
│ │ │ • لا يوجد مسار إلى IGW │ │ │
│ │ │ • لا يوجد IP عام │ │ │
│ │ │ • لا يمكن الوصول إليها من الإنترنت │ │ │
│ │ │ • يمكن الخروج عبر NAT │ │ │
│ │ │ │ │ │
│ │ │ الموارد: خوادم التطبيقات، │ │ │
│ │ │ قاعدة البيانات │ │ │
│ │ │ │ │ │
│ │ └──────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

الفروقات الرئيسية​

الميزةالشبكة الفرعية العامةالشبكة الفرعية الخاصة
مسار إلى IGW✅ نعم (0.0.0.0/0 → igw)❌ لا
IP عام تلقائي✅ قابل للتفعيل❌ لا
الوصول من الإنترنت✅ ممكن❌ غير ممكن
الوصول إلى الإنترنت✅ مباشر⚠️ عبر بوابة NAT
حالات الاستخدامخوادم الويب، LBقواعد البيانات، خوادم التطبيقات

جداول التوجيه​

ما هي جدول التوجيه؟​

تحتوي جدول التوجيه على قواعد (مسارات) تحدد أين يتم توجيه حركة المرور الشبكية.

┌─────────────────────────────────────────────────────────────┐
│ جدول التوجيه │
├─────────────────────────────────────────────────────────────┤
│ │
│ جدول التوجيه = "لوحة توجيه" الشبكة │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ الوجهة │ الهدف │ النتيجة │ │
│ │ ─────────────────┼──────────────────┼────────────│ │
│ │ 10.0.0.0/16 │ local │ يبقى في VPC │ │
│ │ 0.0.0.0/0 │ igw-xxx │ الإنترنت │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ كيف يعمل: │
│ 1. يصل الحزمة مع الوجهة 8.8.8.8 │
│ 2. تحقق: 8.8.8.8 في 10.0.0.0/16؟ لا │
│ 3. تحقق: 8.8.8.8 في 0.0.0.0/0؟ نعم │
│ 4. يرسل إلى igw-xxx (بوابة الإنترنت) │
│ │
│ قاعدة: المسار الأكثر تحديدًا يفوز │
│ 10.0.0.0/16 أكثر تحديدًا من 0.0.0.0/0 │
│ │
└─────────────────────────────────────────────────────────────┘

جدول التوجيه العام مقابل الخاص​

┌─────────────────────────────────────────────────────────────┐
│ جدول التوجيه العام مقابل الخاص │
├─────────────────────────────────────────────────────────────┤
│ │
│ جدول التوجيه العام │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ الوجهة │ الهدف │ الوصف │ │
│ │─────────────────┼─────────────────┼─────────────────│ │
│ │ 10.0.0.0/16 │ local │ حركة المرور الداخلية │ │
│ │ 0.0.0.0/0 │ igw-xxxxxxxx │ → الإنترنت │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ جدول التوجيه الخاص │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ الوجهة │ الهدف │ الوصف │ │
│ │─────────────────┼─────────────────┼─────────────────│ │
│ │ 10.0.0.0/16 │ local │ حركة المرور الداخلية │ │
│ │ 0.0.0.0/0 │ nat-xxxxxxxx │ → بوابة NAT │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ جدول التوجيه المعزول (خاص جدًا) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ الوجهة │ الهدف │ الوصف │ │
│ │─────────────────┼─────────────────┼─────────────────│ │
│ │ 10.0.0.0/16 │ local │ حركة المرور الداخلية │ │
│ │ (لا يوجد 0.0.0.0/0) │ لا يوجد إنترنت │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

ربط الشبكة الفرعية ↔ جدول التوجيه​

┌─────────────────────────────────────────────────────────────┐
│ ربط الشبكة الفرعية - جدول التوجيه │
├─────────────────────────────────────────────────────────────┤
│ │
│ كل شبكة فرعية مرتبطة بجدول توجيه واحد │
│ │
│ ┌───────────────┐ │
│ │ جدول التوجيه │──────────┐ │
│ │ rtb-public │ │ │
│ └───────────────┘ │ │
│ │ │ │
│ │ ┌────▼────┐ │
│ ┌──────▼──────┐ │ شبكة فرعية │ │
│ │ شبكة فرعية │ │ 1b │ │
│ │ 1a │ │(عامة) │ │
│ │ (عامة) │ └─────────┘ │
│ └─────────────┘ │
│ │
│ ┌───────────────┐ │
│ │ جدول التوجيه │──────────┐ │
│ │ rtb-private │ │ │
│ └───────────────┘ │ │
│ │ │ │
│ │ ┌────▼────┐ │
│ ┌──────▼──────┐ │ شبكة فرعية │ │
│ │ شبكة فرعية │ │ 2b │ │
│ │ 2a │ │(خاصة) │ │
│ │ (خاصة) │ └─────────┘ │
│ └─────────────┘ │
│ │
│ جدول التوجيه الرئيسي: جدول التوجيه الافتراضي إذا لم يكن مرتبطًا │
│ │
└─────────────────────────────────────────────────────────────┘

إنشاء شبكة فرعية​

عبر وحدة التحكم​

1. VPC → الشبكات الفرعية → إنشاء شبكة فرعية
2. VPC: اختر VPC الخاص بك
3. اسم الشبكة الفرعية: public-1a
4. منطقة التوافر: us-east-1a
5. كتلة IPv4 CIDR: 10.0.1.0/24
6. إنشاء شبكة فرعية

عبر AWS CLI​

# إنشاء شبكة فرعية عامة
aws ec2 create-subnet \
--vpc-id vpc-xxx \
--cidr-block 10.0.1.0/24 \
--availability-zone us-east-1a \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-1a}]'

# تفعيل التعيين التلقائي لـ IP العام (للشبكة الفرعية العامة)
aws ec2 modify-subnet-attribute \
--subnet-id subnet-xxx \
--map-public-ip-on-launch

إنشاء وتكوين جدول توجيه​

عبر AWS CLI​

# إنشاء جدول توجيه
aws ec2 create-route-table \
--vpc-id vpc-xxx \
--tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=rtb-public}]'

# إضافة مسار إلى بوابة الإنترنت
aws ec2 create-route \
--route-table-id rtb-xxx \
--destination-cidr-block 0.0.0.0/0 \
--gateway-id igw-xxx

# ربط الشبكة الفرعية بجدول التوجيه
aws ec2 associate-route-table \
--route-table-id rtb-xxx \
--subnet-id subnet-xxx

خطة التوجيه الموصى بها​

┌─────────────────────────────────────────────────────────────┐
│ خطة التوجيه الموصى بها │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC: 10.0.0.0/16 (65,536 عنوان) │
│ │
│ الشبكات الفرعية العامة (طبقة الويب) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ public-1a : 10.0.1.0/24 (AZ a) - 251 IPs │ │
│ │ public-1b : 10.0.2.0/24 (AZ b) - 251 IPs │ │
│ │ public-1c : 10.0.3.0/24 (AZ c) - 251 IPs │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الشبكات الفرعية الخاصة (طبقة التطبيقات) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ private-1a : 10.0.11.0/24 (AZ a) - 251 IPs │ │
│ │ private-1b : 10.0.12.0/24 (AZ b) - 251 IPs │ │
│ │ private-1c : 10.0.13.0/24 (AZ c) - 251 IPs │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الشبكات الفرعية لقاعدة البيانات (طبقة البيانات) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ database-1a: 10.0.21.0/24 (AZ a) - 251 IPs │ │
│ │ database-1b: 10.0.22.0/24 (AZ b) - 251 IPs │ │
│ │ database-1c: 10.0.23.0/24 (AZ c) - 251 IPs │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ اتفاقية التسمية: │
│ • 10.0.X.0/24 حيث X = 1-9 للعام │
│ • 10.0.X.0/24 حيث X = 11-19 للتطبيقات الخاصة │
│ • 10.0.X.0/24 حيث X = 21-29 لقاعدة البيانات │
│ │
└─────────────────────────────────────────────────────────────┘

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

1. دائمًا متعدد المناطق​

✅ جيد: شبكات فرعية في 2 AZ على الأقل
❌ سيء: جميع الشبكات الفرعية في AZ واحدة

السبب: المرونة في حالة فشل AZ

2. فصل العام عن الخاص​

✅ جيد: 
- شبكات فرعية عامة لموازنات التحميل
- شبكات فرعية خاصة لخوادم التطبيقات
- شبكات فرعية معزولة لقواعد البيانات

❌ سيء: كل شيء في شبكات فرعية عامة

3. التخطيط للتوجيه​

✅ جيد: خطة توجيه موثقة قبل الإنشاء
❌ سيء: CIDR عشوائي، احتمالية التداخل

نصيحة: اترك مساحة للنمو

ملخص​

المفهومالوصف
الشبكة الفرعيةشبكة فرعية في AZ
الشبكة الفرعية العامةمسار إلى IGW، وصول إلى الإنترنت
الشبكة الفرعية الخاصةلا يوجد مسار IGW، معزولة
جدول التوجيهقواعد توجيه حركة المرور
localمسار تلقائي لـ VPC
0.0.0.0/0المسار الافتراضي (الإنترنت)

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

  1. هل يمكن أن تمتد الشبكة الفرعية عبر عدة AZ؟
  2. ما الذي يجعل الشبكة الفرعية "عامة"؟
  3. ما هو المسار الذي يجعل الشبكة الفرعية عامة؟
  4. كم عدد العناوين القابلة للاستخدام في /24؟
  5. ما هو جدول التوجيه الرئيسي؟

القسم التالي: بوابة الإنترنت