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

المفاهيم الأساسية لـ VPC

ما هو VPC؟​

VPC (Virtual Private Cloud) هو شبكتك الخاصة الافتراضية في AWS. إنه مساحة شبكة معزولة حيث تقوم بنشر موارد AWS الخاصة بك.

┌─────────────────────────────────────────────────────────────┐
│ AMAZON VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ "مركز بياناتك الافتراضي في السحابة" │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC (10.0.0.0/16) │ │
│ │ │ │
│ │ مساحتك الشبكية الخاصة والمعزولة │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ Subnet 1 │ │ Subnet 2 │ │ │
│ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌─────┐ │ │ ┌─────┐ │ │ │
│ │ │ │ EC2 │ │ │ │ RDS │ │ │ │
│ │ │ └─────┘ │ │ └─────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الخصائص : │
│ • معزول عن VPC الأخرى وعن الإنترنت (افتراضيًا) │
│ • تتحكم في نطاق عناوين IP │
│ • تحدد قواعد الأمان │
│ • إقليمي (يمتد عبر جميع AZ في المنطقة) │
│ │
└─────────────────────────────────────────────────────────────┘

تشبيه: VPC = مبنى مكاتب​

┌─────────────────────────────────────────────────────────────┐
│ تشبيه: مبنى مكاتب │
├─────────────────────────────────────────────────────────────┤
│ │
│ العالم الحقيقي AWS │
│ ────────── ─── │
│ │
│ 🏢 مبنى = VPC │
│ (مساحتك الخاصة) (شبكتك الخاصة) │
│ │
│ 🚪 طوابق = Subnets │
│ (تقسيمات داخلية) (الشبكات الفرعية) │
│ │
│ 🔐 استقبال/أمن = Internet Gateway │
│ (دخول محكم) (وصول الإنترنت) │
│ │
│ 📋 بطاقة دخول = Security Group │
│ (من يمكنه الدخول أين) (قواعد الجدار الناري) │
│ │
│ 🗺️ خطة إخلاء = Route Table │
│ (طرق الحركة) (توجيه الحركة) │
│ │
│ 🏠 مكاتب = Instances EC2 │
│ (مساحات العمل) (خوادمك) │
│ │
└─────────────────────────────────────────────────────────────┘

مكونات VPC​

نظرة عامة​

┌─────────────────────────────────────────────────────────────┐
│ مكونات VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC │ │
│ │ (حاوية) │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ SUBNET │ │ SUBNET │ ← الشبكات الفرعية │ │
│ │ │ (عام) │ │ (خاص) │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ │ │
│ │ │ │ │ │
│ │ └────────┬───────┘ │ │
│ │ │ │ │
│ │ ┌────────┴────────┐ │ │
│ │ │ ROUTE TABLE │ ← أين تذهب الحركة │ │
│ │ └────────┬────────┘ │ │
│ │ │ │ │
│ │ ┌───────────────┼───────────────┐ │ │
│ │ │ │ │ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────┐ ┌─────────┐ ┌──────────┐ │ │
│ │ │ IGW │ │ NAT │ │ VPC │ │ │
│ │ │ │ │ Gateway │ │ Peering │ │ │
│ │ └─────┘ └─────────┘ └──────────┘ │ │
│ │ الإنترنت خروج للشبكة الخاصة │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

جدول المكونات​

المكونالوصفإلزامي
VPCشبكة افتراضية معزولةنعم
Subnetشبكة فرعية في AZنعم (على الأقل 1)
Route Tableقواعد التوجيهنعم (تُنشأ تلقائيًا)
Internet Gatewayوصول الإنترنتلا (إذا كان خاصًا)
NAT Gatewayخروج الإنترنت للشبكة الخاصةلا
Security Groupجدار ناري على مستوى المثيلنعم
NACLجدار ناري على مستوى الشبكة الفرعيةنعم (افتراضيًا)

VPC الافتراضي مقابل VPC المخصص​

┌─────────────────────────────────────────────────────────────┐
│ VPC الافتراضي مقابل VPC المخصص │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC الافتراضي VPC المخصص │
│ ────────────── ──────────────── │
│ │
│ • يُنشأ تلقائيًا • تقوم بإنشائه │
│ • 1 لكل منطقة • بقدر ما تريد │
│ • CIDR: 172.31.0.0/16 • CIDR: تختاره │
│ • شبكات فرعية عامة تلقائيًا • تقوم بتكوين كل شيء │
│ • IGW مرفق • تقوم بإرفاق IGW │
│ │
│ متى تستخدم: متى تستخدم: │
│ ✅ اختبارات سريعة ✅ إنتاج │
│ ✅ تعلم ✅ أمان معزز │
│ ❌ إنتاج ✅ متعدد الطبقات │
│ │
│ ⚠️ في الإنتاج، استخدم دائمًا VPC مخصص │
│ للحصول على تحكم أفضل في الأمان │
│ │
└─────────────────────────────────────────────────────────────┘

نطاق عناوين IP (CIDR)​

ما هو CIDR؟​

┌─────────────────────────────────────────────────────────────┐
│ تدوين CIDR │
├─────────────────────────────────────────────────────────────┤
│ │
│ CIDR = Classless Inter-Domain Routing │
│ │
│ الصيغة: عنوان_الشبكة / البادئة │
│ │
│ مثال: 10.0.0.0/16 │
│ │ │ │
│ │ └── 16 بت ثابتة (شبكة) │
│ │ 16 بت متغيرة (مضيفين) │
│ │ │
│ └── عنوان بداية الشبكة │
│ │
│ حساب عدد العناوين: │
│ الصيغة: 2^(32 - البادئة) │
│ │
│ /16 = 2^(32-16) = 2^16 = 65,536 عنوان │
│ /24 = 2^(32-24) = 2^8 = 256 عنوان │
│ /28 = 2^(32-28) = 2^4 = 16 عنوان │
│ │
└─────────────────────────────────────────────────────────────┘

النطاقات الخاصة (RFC 1918)​

┌─────────────────────────────────────────────────────────────┐
│ النطاقات الخاصة IP (RFC 1918) │
├─────────────────────────────────────────────────────────────┤
│ │
│ هذه النطاقات لا يتم توجيهها على الإنترنت │
│ → استخدمها لـ VPC الخاص بك │
│ │
│ الفئة A : 10.0.0.0/8 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 10.0.0.0 → 10.255.255.255 │ │
│ │ 16,777,216 عنوان │ │
│ │ الاستخدام: الشركات الكبيرة │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الفئة B : 172.16.0.0/12 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 172.16.0.0 → 172.31.255.255 │ │
│ │ 1,048,576 عنوان │ │
│ │ الاستخدام: الشركات المتوسطة │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ الفئة C : 192.168.0.0/16 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 192.168.0.0 → 192.168.255.255 │ │
│ │ 65,536 عنوان │ │
│ │ الاستخدام: الشبكات المنزلية، الشركات الصغيرة │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ التوصية لـ AWS : │
│ استخدم 10.0.0.0/16 للبدء (65,536 عنوان) │
│ │
└─────────────────────────────────────────────────────────────┘

أحجام VPC في AWS​

CIDRالعناوينالاستخدام الموصى به
/1665,536VPC قياسي، موصى به
/204,096VPC متوسط
/24256VPC صغير، اختبار
/2816الحد الأدنى لـ AWS
حدود AWS
  • الحد الأدنى لـ CIDR: /28 (16 عنوان)
  • الحد الأقصى لـ CIDR: /16 (65,536 عنوان)
  • يمكن أن يحتوي VPC على عدة CIDR (حتى 5)

العناوين المحجوزة من قبل AWS​

┌─────────────────────────────────────────────────────────────┐
│ العناوين المحجوزة لكل شبكة فرعية │
├─────────────────────────────────────────────────────────────┤
│ │
│ لكل شبكة فرعية، AWS تحجز 5 عناوين: │
│ │
│ مثال: شبكة فرعية 10.0.1.0/24 (256 عنوان) │
│ │
│ 10.0.1.0 → عنوان الشبكة │
│ 10.0.1.1 → محجوز لـ AWS (موجه VPC) │
│ 10.0.1.2 → محجوز لـ AWS (DNS) │
│ 10.0.1.3 → محجوز لـ AWS (استخدام مستقبلي) │
│ 10.0.1.255 → بث (غير مدعوم ولكن محجوز) │
│ │
│ العناوين القابلة للاستخدام: 256 - 5 = 251 عنوان │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ شبكة فرعية /24 : 251 عنوان قابل للاستخدام │ │
│ │ شبكة فرعية /25 : 123 عنوان قابل للاستخدام │ │
│ │ شبكة فرعية /26 : 59 عنوان قابل للاستخدام │ │
│ │ شبكة فرعية /27 : 27 عنوان قابل للاستخدام │ │
│ │ شبكة فرعية /28 : 11 عنوان قابل للاستخدام │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

بنية VPC النموذجية​

┌─────────────────────────────────────────────────────────────────────────┐
│ بنية VPC ثلاثية الطبقات │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ الإنترنت │
│ │ │
│ ▼ │
│ ┌───────────────┐ │
│ │Internet Gateway│ │
│ └───────┬───────┘ │
│ │ │
│ ┌─────────────────────────────┼─────────────────────────────┐ │
│ │ VPC │(10.0.0.0/16) │ │
│ │ │ │ │
│ │ ┌─────────────────────────┴─────────────────────────┐ │ │
│ │ │ الشبكات الفرعية العامة │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │
│ │ │ │ Public 1a │ │ Public 1b │ │ │ │
│ │ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [ALB/NAT] │ │ [ALB/NAT] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ الشبكات الفرعية الخاصة (App) │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Private 1a │ │ Private 1b │ │ │ │
│ │ │ │ 10.0.11.0/24 │ │ 10.0.12.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [EC2 App] │ │ [EC2 App] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ الشبكات الفرعية الخاصة (DB) │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Database 1a │ │ Database 1b │ │ │ │
│ │ │ │ 10.0.21.0/24 │ │ 10.0.22.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [RDS] │ │ [RDS Standby] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └─────────────────┘ └─────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘

إنشاء VPC​

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

1. VPC → Your VPCs → Create VPC
2. Name tag : mon-vpc-prod
3. IPv4 CIDR block : 10.0.0.0/16
4. Tenancy : Default
5. Create VPC

عبر AWS CLI​

# إنشاء VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16 \
--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=mon-vpc-prod}]'

# تفعيل أسماء DNS (موصى به)
aws ec2 modify-vpc-attribute \
--vpc-id vpc-xxx \
--enable-dns-hostnames '{"Value":true}'

ملخص​

المفهومالوصف
VPCشبكة خاصة افتراضية معزولة
CIDRتدوين لتحديد نطاق IP
Subnetتقسيم فرعي لـ VPC في AZ
/16الحجم الموصى به (65,536 IPs)
RFC 1918النطاقات الخاصة IP للاستخدام
5 IPs محجوزةAWS تحجز 5 IPs لكل شبكة فرعية

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

  1. ما هو VPC؟
  2. كم عدد عناوين IP في /24؟
  3. لماذا تحجز AWS 5 عناوين لكل شبكة فرعية؟
  4. أي نطاق IP تستخدم لـ VPC؟
  5. ما الفرق بين VPC الافتراضي والمخصص؟

القسم التالي: الشبكات الفرعية والتوجيه