بعد أن فهمت ما هو VPC؟، سنبني شبكة عمليّة بتصميم شائع: شبكة فرعية عامّة (لخادم ويب) وأخرى خاصّة (لقاعدة بيانات). هذا درس متوسّط المستوى.
⚠️ الأوامر تمثيلية؛ استبدل المعرّفات (
vpc-xxxxوغيرها) بالقيم الفعليّة التي تعيدها الأوامر، وشغّلها في حساب حقيقي.
المتطلّبات المسبقة
- AWS CLI مُهيّأة، وفهم الشبكات في VPC والتجزئة الفرعية.
الخطوة 1: أنشئ VPC
اختر نطاق عناوين للشبكة:
aws ec2 create-vpc --cidr-block 10.0.0.0/16
احفظ معرّف الـ VPC (vpc-...) من المخرجات.
الخطوة 2: أنشئ الشبكتين الفرعيّتين
شبكة فرعية عامّة وأخرى خاصّة، كلٌّ بنطاق أصغر ضمن الـ VPC:
# عامّة
aws ec2 create-subnet --vpc-id vpc-xxxx \
--cidr-block 10.0.1.0/24
# خاصّة
aws ec2 create-subnet --vpc-id vpc-xxxx \
--cidr-block 10.0.2.0/24
الخطوة 3: أنشئ بوّابة إنترنت واربطها
الشبكة العامّة تحتاج مخرجًا للإنترنت:
aws ec2 create-internet-gateway
aws ec2 attach-internet-gateway \
--vpc-id vpc-xxxx --internet-gateway-id igw-xxxx
الخطوة 4: وجّه الشبكة العامّة عبر البوّابة
أنشئ جدول توجيه، أضف مسارًا إلى الإنترنت، واربطه بالشبكة العامّة فقط:
aws ec2 create-route-table --vpc-id vpc-xxxx
aws ec2 create-route --route-table-id rtb-xxxx \
--destination-cidr-block 0.0.0.0/0 --gateway-id igw-xxxx
aws ec2 associate-route-table \
--route-table-id rtb-xxxx --subnet-id <الشبكة-العامّة>
الشبكة الخاصّة تبقى دون مسار إلى الإنترنت — وهذا هو المقصود: عزلها.
لماذا هذا التصميم؟
- العامّة: توضع فيها الموارد التي يجب أن يصلها الإنترنت (خادم ويب).
- الخاصّة: توضع فيها الموارد الحسّاسة (قاعدة بيانات)، بلا تعرّض مباشر للإنترنت.
هذا الفصل نمط أمان أساسي: لا تعرّض إلّا ما يجب.
التنظيف
احذف المكوّنات بترتيب عكسي (فكّ الارتباطات أوّلًا، ثم البوّابة، فالشبكات الفرعية، فالـ VPC) لتجنّب أخطاء الاعتماديّة.
الخطوات التالية
الآن أصبح لديك مكان آمن لقاعدة بيانات — تابع مع إعداد MySQL على RDS، وراجع كيف توزّع الموارد عبر المناطق ومناطق الإتاحة.