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

بوابة الإنترنت و بوابة NAT

بوابة الإنترنت (IGW)​

ما هي بوابة الإنترنت؟​

بوابة الإنترنت (IGW) هي مدخل/مخرج بين VPC الخاص بك والإنترنت. بدون IGW، يكون VPC الخاص بك معزولًا تمامًا عن الإنترنت.

┌─────────────────────────────────────────────────────────────┐
│ INTERNET GATEWAY │
├─────────────────────────────────────────────────────────────┤
│ │
│ الإنترنت │
│ │ │
│ │ │
│ ┌──────▼──────┐ │
│ │ الإنترنت │ │
│ │ Gateway │ │
│ │ (IGW) │ │
│ └──────┬──────┘ │
│ │ │
│ ┌──────────────────────┼──────────────────────┐ │
│ │ VPC │ │ │
│ │ │ │ │
│ │ ┌──────────────────▼───────────────────┐ │ │
│ │ │ │ │ │
│ │ │ موارد مع IP عام │ │ │
│ │ │ ┌─────────┐ │ │ │
│ │ │ │ EC2 │ │ │ │
│ │ │ │ (عام) │ │ │ │
│ │ │ └─────────┘ │ │ │
│ │ │ │ │ │
│ │ └───────────────────────────────────────┘ │ │
│ │ │ │
│ └──────────────────────────────────────────────┘ │
│ │
│ الخصائص: │
│ • متاح بشكل عالي (مدار من قبل AWS) │
│ • لا يوجد حد لعرض النطاق الترددي │
│ • 1 IGW لكل VPC كحد أقصى │
│ • مجاني (لا توجد رسوم على IGW نفسه) │
│ │
└─────────────────────────────────────────────────────────────┘

كيفية عمل IGW​

┌─────────────────────────────────────────────────────────────┐
│ FONCTIONNEMENT IGW │
├─────────────────────────────────────────────────────────────┤
│ │
│ حركة المرور الصادرة (Instance → الإنترنت) │
│ ──────────────────────────────────── │
│ │
│ ┌─────────┐ ┌─────┐ ┌─────────┐ │
│ │Instance │ ──────► │ IGW │ ──────► │الإنترنت │ │
│ │10.0.1.5 │ │ │ │ │ │
│ └─────────┘ └─────┘ └─────────┘ │
│ │ │
│ ترجمة NAT │
│ 10.0.1.5 → 52.1.2.3 │
│ (IP خاص → IP عام) │
│ │
│ حركة المرور الواردة (الإنترنت → Instance) │
│ ──────────────────────────────────── │
│ │
│ ┌─────────┐ ┌─────┐ ┌─────────┐ │
│ │Instance │ ◄────── │ IGW │ ◄────── │الإنترنت │ │
│ │10.0.1.5 │ │ │ │52.1.2.3 │ │
│ └─────────┘ └─────┘ └─────────┘ │
│ │ │
│ ترجمة NAT │
│ 52.1.2.3 → 10.0.1.5 │
│ (IP عام → IP خاص) │
│ │
└─────────────────────────────────────────────────────────────┘

إنشاء وربط IGW​

# 1. إنشاء بوابة الإنترنت
aws ec2 create-internet-gateway \
--tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=mon-igw}]'

# 2. الربط مع VPC
aws ec2 attach-internet-gateway \
--internet-gateway-id igw-xxx \
--vpc-id vpc-xxx

# 3. إضافة المسار في جدول المسارات العامة
aws ec2 create-route \
--route-table-id rtb-xxx \
--destination-cidr-block 0.0.0.0/0 \
--gateway-id igw-xxx

شروط الوصول إلى الإنترنت (Instance)​

┌─────────────────────────────────────────────────────────────┐
│ CONDITIONS POUR ACCÈS INTERNET │
├─────────────────────────────────────────────────────────────┤
│ │
│ لكي تصل instance إلى الإنترنت، يجب: │
│ │
│ ☐ 1. أن يكون لدى VPC بوابة إنترنت متصلة │
│ │
│ ☐ 2. أن يحتوي جدول المسارات للشبكة الفرعية على مسار إلى IGW│
│ الوجهة: 0.0.0.0/0 → الهدف: igw-xxx │
│ │
│ ☐ 3. أن يكون لدى instance IP عام أو Elastic IP │
│ (وإلا فلن يكون هناك عودة ممكنة) │
│ │
│ ☐ 4. أن يسمح مجموعة الأمان بحركة المرور الصادرة │
│ (افتراضيًا: كل شيء مسموح) │
│ │
│ ☐ 5. أن يسمح NACL بحركة المرور (دخول وخروج) │
│ (افتراضيًا: كل شيء مسموح) │
│ │
│ إذا كان هناك نقص في أي شرط = لا يوجد وصول للإنترنت! │
│ │
└─────────────────────────────────────────────────────────────┘

بوابة NAT​

ما هي بوابة NAT؟​

بوابة NAT تسمح للـ instances في الشبكات الفرعية الخاصة بالوصول إلى الإنترنت (صادر فقط) دون أن تكون متاحة من الإنترنت.

┌─────────────────────────────────────────────────────────────┐
│ NAT GATEWAY │
├─────────────────────────────────────────────────────────────┤
│ │
│ الإنترنت │
│ │ │
│ ┌──────▼──────┐ │
│ │ IGW │ │
│ └──────┬──────┘ │
│ │ │
│ ┌──────────────────────┼──────────────────────┐ │
│ │ VPC │ │ │
│ │ │ │ │
│ │ ┌──────────────────▼───────────────────┐ │ │
│ │ │ شبكة فرعية عامة │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────┐ │ │ │
│ │ │ │ NAT Gateway │ │ │ │
│ │ │ │ (52.1.2.99) │ │ │ │
│ │ │ └──────┬──────┘ │ │ │
│ │ │ │ │ │ │
│ │ └──────────────────┼────────────────────┘ │ │
│ │ │ │ │
│ │ ┌──────────────────▼───────────────────┐ │ │
│ │ │ شبكة فرعية خاصة │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────┐ │ │ │
│ │ │ │ EC2 │ │ │ │
│ │ │ │(10.0.11.5) │ │ │
│ │ │ └─────────┘ │ │ │
│ │ │ │ │ │
│ │ │ مسار: 0.0.0.0/0 → nat-xxx │ │ │
│ │ │ │ │ │
│ │ └───────────────────────────────────────┘ │ │
│ │ │ │
│ └──────────────────────────────────────────────┘ │
│ │
│ تدفق: EC2 خاص → NAT GW → IGW → الإنترنت │
│ لا يوجد عودة مبادرة من الإنترنت! │
│ │
└─────────────────────────────────────────────────────────────┘

بوابة NAT مقابل مثيل NAT​

خاصيةبوابة NATمثيل NAT
التوافرعالي (مدار من AWS)أنت تديره
عرض النطاق التردديحتى 45 Gbpsيعتمد على النوع
الصيانةAWSأنت
التكلفةأغلىأرخص
التوصية✅ إنتاج❌ قديم

إنشاء بوابة NAT​

# 1. تخصيص Elastic IP
aws ec2 allocate-address --domain vpc

# 2. إنشاء بوابة NAT (في الشبكة الفرعية العامة)
aws ec2 create-nat-gateway \
--subnet-id subnet-public-xxx \
--allocation-id eipalloc-xxx \
--tag-specifications 'ResourceType=natgateway,Tags=[{Key=Name,Value=nat-gw-1a}]'

# 3. إضافة المسار في جدول المسارات الخاصة
aws ec2 create-route \
--route-table-id rtb-private-xxx \
--destination-cidr-block 0.0.0.0/0 \
--nat-gateway-id nat-xxx

تكلفة بوابة NAT​

┌─────────────────────────────────────────────────────────────┐
│ COÛT NAT GATEWAY │
├─────────────────────────────────────────────────────────────┤
│ │
│ الرسوم الساعية │
│ • ~$0.045/ساعة لكل بوابة NAT │
│ • ~$32/شهر إذا كانت نشطة 24/7 │
│ │
│ رسوم البيانات │
│ • ~$0.045/GB معالجة │
│ │
│ مثال شهري: │
│ • 1 بوابة NAT: $32 │
│ • 100 GB نقل: $4.50 │
│ • المجموع: $36.50/شهر │
│ │
│ ⚠️ نصيحة للتوفير: │
│ • للتطوير/الاختبار: استخدام مثيل NAT (أرخص) │
│ • أو: VPC Endpoints لـ S3/DynamoDB (مجاني) │
│ • أو: شبكة فرعية عامة للـ instances التي تحتاج │
│ إلى الإنترنت │
│ │
└─────────────────────────────────────────────────────────────┘

بوابة NAT عالية التوافر​

┌─────────────────────────────────────────────────────────────┐
│ NAT GATEWAY HAUTE DISPONIBILITÉ │
├─────────────────────────────────────────────────────────────┤
│ │
│ بوابة NAT واحدة = منطقة توافر واحدة │
│ للتوافر العالي، إنشاء بوابة NAT لكل منطقة توافر │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC │ │
│ │ │ │
│ │ ┌───────────────┐ ┌───────────────┐ │ │
│ │ │ AZ 1a │ │ AZ 1b │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ │
│ │ │ │ NAT GW 1a │ │ │ │ NAT GW 1b │ │ │ │
│ │ │ └─────┬─────┘ │ │ └─────┬─────┘ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ ┌─────▼─────┐ │ │ ┌─────▼─────┐ │ │ │
│ │ │ │ Private │ │ │ │ Private │ │ │ │
│ │ │ │ Subnet 1a │ │ │ │ Subnet 1b │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ rtb: → │ │ │ │ rtb: → │ │ │ │
│ │ │ │ nat-1a │ │ │ │ nat-1b │ │ │ │
│ │ │ └───────────┘ │ │ └───────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────────┘ └───────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ إذا تعطلت NAT GW 1a → تفقد الشبكات الفرعية الخاصة 1a الإنترنت│
│ لكن الشبكات الفرعية الخاصة 1b تستمر في العمل │
│ │
└─────────────────────────────────────────────────────────────┘

Elastic IP​

ما هي Elastic IP؟​

Elastic IP هي عنوان IPv4 عام ثابت يمكنك ربطه بمواردك.

┌─────────────────────────────────────────────────────────────┐
│ ELASTIC IP │
├─────────────────────────────────────────────────────────────┤
│ │
│ IP عام عادي Elastic IP │
│ ──────────────────── ────────── │
│ │
│ • مخصص من AWS • أنت تخصصه │
│ • يتغير إذا توقف/بدأ • يبقى ثابت │
│ • مجاني إذا استخدم • مجاني إذا ارتبط │
│ • يفقد إذا انتهى • يحتفظ بعد الانتهاء │
│ │
│ حالات استخدام Elastic IP: │
│ • خادم يجب أن يحتفظ بنفس IP │
│ • بوابة NAT (إلزامي) │
│ • انتقال سريع بين instances │
│ │
│ ⚠️ التكلفة: EIP غير مرتبط = ~$3.60/شهر │
│ (AWS تفرض رسوم على EIP غير المستخدمة!) │
│ │
└─────────────────────────────────────────────────────────────┘

المخطط الكامل​

┌─────────────────────────────────────────────────────────────────────────┐
│ ARCHITECTURE RÉSEAU COMPLÈTE │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ الإنترنت │
│ │ │
│ ┌──────▼──────┐ │
│ │ IGW │ │
│ └──────┬──────┘ │
│ │ │
│ ┌──────────────────────────────┼──────────────────────────────┐ │
│ │ VPC │ (10.0.0.0/16) │ │
│ │ │ │ │
│ │ ┌──────────────────────────┴────────────────────────────┐ │ │
│ │ │ الشبكات الفرعية العامة │ │ │
│ │ │ مسار: 0.0.0.0/0 → IGW │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │
│ │ │ │ عام 1a │ │ عام 1b │ │ │ │
│ │ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ │ │
│ │ │ │ │ NAT GW │ │ │ │ NAT GW │ │ │ │ │
│ │ │ │ │ 1a │ │ │ │ 1b │ │ │ │ │
│ │ │ │ └─────┬─────┘ │ │ └─────┬─────┘ │ │ │ │
│ │ │ └────────┼────────┘ └────────┼────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────────┼─────────────────┐ │ │
│ │ │ │ الشبكات الفرعية الخاصة │ │ │ │
│ │ │ │ مسار: 0.0.0.0/0 → NAT │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ خاص 1a │ │ خاص 1b │ │ │ │
│ │ │ │ 10.0.11.0/24 │ │ 10.0.12.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ │ │
│ │ │ │ │ EC2 │ │ │ │ EC2 │ │ │ │ │
│ │ │ │ │ App │ │ │ │ App │ │ │ │ │
│ │ │ │ └───────────┘ │ │ └───────────┘ │ │ │ │
│ │ │ └─────────────────┘ └─────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘

ملخص​

المكونالوظيفةالتكلفة
IGWوصول الإنترنت ثنائي الاتجاهمجاني
بوابة NATخروج الإنترنت للخاص~$32/شهر + بيانات
Elastic IPIP عام ثابتمجاني إذا استخدم
مثيل NATبديل NAT (قديم)تكلفة EC2

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

  1. ما هو الغرض من بوابة الإنترنت؟
  2. لماذا تعتبر بوابة NAT ضرورية للشبكات الفرعية الخاصة؟
  3. في أي نوع من الشبكات الفرعية يجب أن تكون بوابة NAT؟
  4. كم تكلفة Elastic IP غير المستخدمة؟
  5. كيف تضمن التوافر العالي لبوابات NAT؟

القسم التالي: مختبر: مخطط VPC