🎯 Creating a Networking Environment — إنشاء بيئة شبكات
تُعد هذه الوحدة دليلك الشامل لإنشاء بيئة شبكات سحابية باستخدام Amazon Virtual Private Cloud (VPC). ستتعرف من خلالها على كيفية تصميم وتأمين ومراقبة شبكة افتراضية معزولة في AWS Cloud، بما في ذلك الشبكات العامة والخاصة وبوابات NAT ونقاط نهاية VPC وتطبيق مبادئ AWS Well-Architected Framework على تصميم الشبكات.
1️⃣ AWS Physical Infrastructure — البنية التحتية المادية لـ AWS
تتكون البنية التحتية المادية لـ AWS من مراكز بيانات تحتوي آلاف الخوادم المثبتة في رفوف (racks). كل رف يملك موجهات شبكة ومبدلات لتوجيه حركة المرور.
تتجمع مراكز البيانات في Availability Zones (AZs) متصلة بشبكة ذات زمن استجابة ضئيل جداً.
تتجمع AZs في AWS Region حيث يبلغ زمن الاستجابة بين المناطق عشرات المللي ثانية.
- مركز البيانات (Data Center): يحتوي آلاف الخوادم وأجهزة الشبكة المادية.
- منطقة التوفر (Availability Zone): واحد أو أكثر من مراكز البيانات مع طاقة وشبكة واتصال مكرر.
- منطقة AWS (AWS Region): ثلاث AZs على الأقل بزمن استجابة بينها بضعة مللي ثانية.
- الشبكة الافتراضية (virtual network) تُنشأ فوق الشبكة المادية لتقليد مكونات الشبكة برمجياً.
يختار منطقة us-east-1 (شمال فرجينيا) التي تضم 6 Availability Zones.
ينشر التطبيق عبر 3 AZs لضمان التوفر العالي وتحمل الأعطال.
يستخدم Amazon VPC لإنشاء شبكة افتراضية فوق هذه البنية المادية.
2️⃣ AWS Account Resource Isolation — عزل الموارد في حساب AWS
عندما تنشئ حساب AWS جديداً، تُخصص موارد شبكية خاصة بهذا الحساب. يحتوي كل حساب على شبكة افتراضية افتراضية في كل منطقة قابلة للوصول تسمى Amazon VPC.
هذه الشبكة معزولة منطقياً عن الشبكات الافتراضية الأخرى والإنترنت، ولا يمكن الوصول إليها إلا بإضافة إعدادات صريحة للسماح بذلك.
بدلاً من استخدام Default VPC الجاهزة تنشئ VPC جديدة بمساحة CIDR مخططة بعناية.
تضمن بذلك أن الشبكة تلبي متطلبات الأمان والنمو المستقبلي لأعمالها.
3️⃣ Amazon Virtual Private Cloud (VPC) — سحابة خاصة افتراضية من Amazon
Amazon VPC هي خدمة تتيح لك تعريف شبكة افتراضية معزولة منطقياً في AWS Cloud تشبه شبكة مركز البيانات التقليدي.
تنتمي الـ VPC إلى منطقة واحدة ويمكن تخصيصها للتحكم في تدفق حركة المرور من وإلى الشبكة.
تُحدد مساحتها بنطاق من عناوين IP الخاصة يسمى CIDR block.
- شبكة افتراضية معزولة منطقياً في AWS Cloud.
- يمكن برمجتها وتعريفها كما تشاء (برمجياً عبر APIs).
- أقصى حجم لـ IPv4 VPC هو /16 (65,536 عنوان IP) وأصغر حجم هو /28 (16 عنوان IP).
- يمكن أن تكون IPv4 only أو Dual Stack (IPv4 + IPv6).
- تنتشر عبر Availability Zones داخل المنطقة الواحدة.
تنشئ VPC بمساحة /16 (65,536 عنوان) لضمان مساحة كافية لكل التطبيقات عبر 3 AZs.
هذا التخطيط المبكر يوفر عليها عناء إعادة تصميم الشبكة لاحقاً.
4️⃣ Main Route Table — جدول التوجيه الرئيسي
تأتي كل VPC تلقائياً مع موجه (router) يستخدم جدول توجيه رئيسي يحتوي مجموعة من قواعد التوجيه.
القاعدة الافتراضية: الوجهة هي CIDR block الخاص بـ VPC والهدف محلي (local)، مما يعني أن كل مورد في الـ VPC يمكنه الوصول إلى أي مورد آخر فيها.
لا يمكن حذف هذه القاعدة الافتراضية.
- يمكن تقسيم الـ VPC إلى شبكات فرعية (subnets).
- كل subnet تنتمي إلى Availability Zone واحدة.
- كل subnet هي شريحة من نطاق عناوين الـ VPC ويجب أن تكون أصغر بكثير منها.
- لا يمكن لـ subnet CIDRs أن تتداخل.
- AWS تحجز أول 4 عناوين IP وآخر عنوان في كل subnet.
AWS تحجز: 10.0.0.0 (العنوان الشبكي)، 10.0.0.1 (الموجه المحلي)، 10.0.0.2 (DNS)، 10.0.0.3 (استخدام مستقبلي)، 10.0.15.254 (البث).
إذن من أصل 4096 عنواناً متاحاً يبقى 4091 عنواناً قابلاً للاستخدام الفعلي.
5️⃣ Public Subnets — الشبكات الفرعية العامة
الشبكة الفرعية العامة تسمح بالاتصال المباشر مع الإنترنت عبر internet gateway.
كل مثيل (instance) في شبكة فرعية عامة يحتاج عنوان IP خاص وعنوان IP عام للوصول إلى الإنترنت.
Internet Gateway هو مكون VPC يسمح بالاتصال بين الموارد في الـ VPC والإنترنت.
- إنشاء internet gateway وربطه بالـ VPC.
- إنشاء public subnet route table وإضافة مسار إلى الإنترنت (0.0.0.0/0) عبر internet gateway.
- إنشاء مثيل EC2 بعنوان IP عام في الشبكة الفرعية العامة.
تنشئ VPC مع شبكة فرعية عامة تحتوي خادم ويب EC2.
يصل الزوار عبر الإنترنت إلى internet gateway ثم إلى خادم الويب عبر جدول التوجيه العام.
6️⃣ Elastic IP Addresses — عناوين IP المرنة
Elastic IP هو عنوان IPv4 عام وثابت يمكن ربطه بمثيل EC2 أو موازن تحميل أو واجهة شبكة.
يمكن نقل Elastic IP من مثيل متعطل إلى مثيل جديد سليم للحفاظ على الاستمرارية.
العنوان الأول Elastic IP المرتبط بمثيل EC2 قيد التشغيل مجاني.
بدلاً من انتظار إصلاح الخادم ينقل المسؤول Elastic IP إلى مثيل احتياطي جاهز.
يتمكن العملاء من الوصول إلى التطبيق في دقائق دون تغيير في عنوان الموقع.
7️⃣ Private Subnets — الشبكات الفرعية الخاصة
الشبكة الفرعية الخاصة لا تسمح بالاتصال المباشر مع الإنترنت. الموارد فيها غير قابلة للوصول من الإنترنت ولا تملك وصولاً مباشراً إليه.
من أفضل الممارسات تعريف جدول توجيه مخصص لكل شبكة فرعية يحتوي مساراتها الخاصة.
توضع في شبكة فرعية خاصة لضمان عدم إمكانية الوصول إليها من الإنترنت مباشرة.
يتصل بها فقط خادم التطبيق الموجود في الشبكة الفرعية العامة عبر الشبكة الداخلية للـ VPC.
8️⃣ NAT IP Mapping — تعيين عناوين NAT
NAT (Network Address Translation) يستخدم عندما لا تريد كشف عنوان IP الخاص بالخادم للشبكات الأخرى أو الإنترنت.
جهاز NAT يستبدل عنوان IP الخاص للمرسل بعنوانه العام الخاص به.
يرسل الطلب عبر NAT gateway الذي يخفي عنوانه الخاص ويستخدم عنوانه العام.
يعود الرد إلى NAT gateway الذي يعيد توجيهه للخادم الداخلي دون كشفه للإنترنت.
9️⃣ Connecting Private Subnets to the Internet — ربط الشبكات الفرعية الخاصة بالإنترنت
تستخدم NAT device (إما NAT gateway مُدار من AWS أو NAT instance) للسماح للموارد في الشبكات الخاصة بالاتصال بالإنترنت.
هذه الموارد يمكنها الاتصال بخدمات خارج الـ VPC لكنها لا تستقبل طلبات اتصال غير مرغوب بها.
- NAT Gateway: خدمة مُدارة من AWS برسوم ساعة، توفر توفراً عالياً وتوسعاً تلقائياً.
- NAT Instance: مثيل EC2 تقوم بتكوينه بنفسك، يتحمل تكاليف EC2 المعتادة.
يحتاج كل خادم تحميل تحديثات أمنية من الإنترنت.
يستخدم المسؤول NAT gateway واحداً في الشبكة العامة لخدمة كليهما عبر جداول التوجيه الخاصة.
🔟 Choose the Right Type of Subnet — اختر نوع الشبكة الفرعية المناسب
قرار وضع المثيلات في شبكة فرعية عامة أو خاصة يعتمد على احتياجات الوصول والأمان لكل مورد.
| نوع المورد | نوع الشبكة الفرعية الموصى به |
|---|---|
| قواعد البيانات (Database instances) | شبكة فرعية خاصة |
| معالجة الدفعات (Batch-processing instances) | شبكة فرعية خاصة |
| تطبيقات الويب (Web application instances) | عامة أو خاصة (يُوصى بوضعها خلف موازن تحميل في شبكة خاصة) |
| NAT gateway / instance | شبكة فرعية عامة (للوصول إلى Internet Gateway) |
يضع خوادم الويب في شبكة فرعية عامة (أو خاصة خلف ALB).
يضع خوادم التطبيق وقواعد البيانات في شبكات فرعية خاصة.
يضع NAT gateway في الشبكة العامة لخدمة الخوادم الخاصة.
الشقة في طابق مرتفع لا يمكن الوصول إليها إلا من خلال بوابة المبنى والدرج = شبكة خاصة.
بوابة المبنى مع حارس الأمن = NAT gateway تسمح بالخروج دون الدخول المباشر.
- البنية التحتية المادية تشمل مراكز بيانات وAZs ومناطق AWS.
- شبكة VPC معزولة منطقياً ويمكن برمجتها حسب الحاجة.
- الشبكات العامة تتصل بالإنترنت عبر Internet Gateway.
- الشبكات الخاصة لا تتصل بالإنترنت مباشرة وتستخدم NAT Gateway للوصول الخارجي.
- Elastic IP يوفر عنواناً ثابتاً يمكن نقله بين المثيلات.
- توضع قواعد البيانات ومعالجة الدفعات في شبكات خاصة، وخوادم الويب في شبكات عامة أو خاصة خلف موازن تحميل.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Amazon VPC | سحابة خاصة افتراضية من Amazon | شبكة افتراضية معزولة منطقياً في AWS Cloud يمكن برمجتها حسب الحاجة. |
| CIDR block | كتلة CIDR | نطاق من عناوين IP يحدد حجم شبكة VPC أو الشبكة الفرعية. |
| Availability Zone | منطقة التوفر | مركز بيانات مستقل ضمن منطقة AWS لتحقيق التوفر العالي. |
| Internet Gateway | بوابة الإنترنت | مكون VPC يتيح الاتصال بين الموارد في VPC والإنترنت. |
| Subnet | شبكة فرعية | شريحة من نطاق عناوين VPC تنتمي إلى Availability Zone واحدة. |
| Elastic IP | عنوان IP مرن | عنوان IPv4 عام ثابت يمكن نقله بين مثيلات EC2. |
| NAT Gateway | بوابة NAT | خدمة مدارة تسمح للموارد في الشبكات الخاصة بالاتصال بالإنترنت. |
| Route Table | جدول التوجيه | مجموعة قواعد تحدد كيفية توجيه حركة المرور داخل VPC. |
1️⃣ Security Layers of Defense — طبقات الدفاع الأمني
عزل الموارد في شبكة فرعية عامة لا يوفر حماية كافية. كأفضل ممارسة، يجب تأمين الموارد بعدة طبقات دفاعية:
بروتوكول آمن (TLS/HTTPS) ← طبقة Route Table ← طبقة Network ACL ← طبقة Subnet ← طبقة Security Group.
يستخدم HTTPS لتشفير البيانات أثناء النقل.
يضيف Network ACL على مستوى الشبكة الفرعية.
يضيف Security Group على مستوى المثيل.
بهذه الطريقة حتى لو أخطأت في إعداد أحد المستويات يبقى المستوى الآخر يحمي المورد.
2️⃣ Security Groups and Network ACL Scope — نطاق مجموعات الأمان وقوائم التحكم بالشبكة
Security Groups تحمي الموارد (مثل المثيلات) كما يحمي باب الشقة الساكنين بمفتاح خاص.
Network ACLs تحمي الشبكات الفرعية كما يحمي بواب العمارة المبنى ويسمح فقط للسكان بالدخول.
بواب المبنى يسمح فقط لسكان البناء بالدخول = Network ACL على مستوى الشبكة الفرعية.
باب الشقة المغلق لا يفتح إلا بمفتاح = Security Group على مستوى المورد.
كلاهما يحمي الساكن لكن على مستويين مختلفين.
يضيف المسؤول Network ACL يسمح فقط بحركة HTTP/HTTPS لهذه الشبكة.
ثم يضيف Security Group لكل خادم يسمح فقط بحركة المرور من خادم الويب الأمامي.
طبقتان من الحماية تضمنان أقصى أمان.
3️⃣ Security Groups — مجموعات الأمان
Security Groups هي جدران نارية (stateful firewalls) تعمل على مستوى المثيل أو واجهة الشبكة.
تسمح فقط بقواعد السماح (لا توجد قواعد رفض).
هي stateful أي أن حركة العودة تُسمح تلقائياً بغض النظر عن قواعد الخروج.
- تحدد قواعد منفصلة لحركة الدخول (inbound) والخروج (outbound).
- يمكن ربطها بعدة AZs.
- يمكن تعريف علاقات بين Security Groups (مثلاً مجموعة قواعد البيانات تقبل فقط حركة من مجموعة التطبيق).
- عند الإنشاء لا توجد أي قواعد دخول افتراضية (كل حركة الدخول ممنوعة).
- جميع قواعد الخروج مسموحة افتراضياً.
يُضيف Security Group بقاعدة دخول تسمح HTTPS على المنفذ 443 من أي مصدر.
عندما يرسل الزائر طلباً تعود الاستجابة تلقائياً لأن Security Group stateful حتى لو منعت قواعد الخروج حركة HTTPS.
4️⃣ Network ACL — قائمة التحكم بالشبكة
Network Access Control List (Network ACL) هو طبقة أمان اختيارية للشبكة الفرعية تعمل كجدار ناري للتحكم في حركة المرور من وإلى شبكة فرعية أو أكثر.
هو stateless أي أن حركة العودة تُقيّم بقواعد جديدة (لا تُسمح تلقائياً).
- قواعد منفصلة للدخول والخروج.
- تدعم السماح (Allow) والرفض (Deny).
- تُقيّم القواعد حسب الرقم التسلسلي ويتوقف التقييم عند أول تطابق.
- كل شبكة فرعية يجب أن ترتبط بـ Network ACL واحد (الافتراضي يسمح بكل الحركة).
- يمكن ربط Network ACL واحد بعدة شبكات فرعية.
يضيف المسؤول Network ACL بقاعدة 100 تسمح HTTPS من عنوان IP محدد.
ويترك القاعدة * (النجمة) لترفض كل حركة أخرى.
هذا يضمن أن حتى حركة SSH من أي مصدر غير مصرح به سترفض تلقائياً.
5️⃣ Comparing Security Groups and Network ACLs — مقارنة بين مجموعات الأمان وقوائم التحكم بالشبكة
| وجه المقارنة | Security Group | Network ACL |
|---|---|---|
| نطاق العمل | مستوى المورد (مثيل/واجهة شبكة) | مستوى الشبكة الفرعية |
| نوع القواعد | سماح فقط (Allow only) | سماح ورفض (Allow & Deny) |
| الحالة (State) | Stateful (حركة العودة تسمح تلقائياً) | Stateless (حركة العودة تُقيّم بقواعد جديدة) |
| تقييم القواعد | كل القواعد تُقيّم | تُقيّم حسب الرقم التسلسلي ويتوقف عند أول تطابق |
| حركة الدخول الافتراضية | كل حركة الدخول ممنوعة | كل حركة الدخول مسموحة |
| حركة الخروج الافتراضية | كل حركة الخروج مسموحة | كل حركة الخروج مسموحة |
6️⃣ AWS Network Firewall — جدار حماية شبكة AWS
خدمة جدار ناري مُدارة (stateful) للكشف عن التسلل ومنعه للـ Amazon VPC.
تُضاف كطبقة أمان إضافية فوق Security Groups و Network ACLs.
تُنشر في شبكة فرعية خاصة بالجدار الناري وتفحص كل حركة المرور الواردة للـ VPC.
تستخدم AWS Network Firewall لفحص كل حركة المرور القادمة إلى الـ VPC.
تُعدّل جداول التوجيه لتمرير كل حركة المرور عبر الجدار الناري قبل الوصول إلى الخوادم.
هذا يضمن اكتشاف أي حركة ضارة قبل وصولها إلى الموارد الحساسة.
7️⃣ Bastion Hosts — خوادم الباستيون
خادم (jump server) في شبكة فرعية عامة يوفر وصولاً إدارياً آمناً إلى الشبكات الفرعية الخاصة.
يقلل من فرص الهجمات على الموارد في الشبكات الخاصة مع السماح بالوصول المقيد لأغراض الإدارة.
يمتلك Security Group يسمح بحركة الإدارة (SSH أو RDP) من عناوين IP محددة.
يتصل أولاً بخادم Bastion في الشبكة العامة عبر SSH.
من خادم الباستيون يتصل بقاعدة البيانات في الشبكة الخاصة.
مجموعة أمان قاعدة البيانات تسمح فقط بحركة SSH من مجموعة أمان الباستيون وليس من أي مصدر آخر.
- استخدم طبقات دفاع متعددة: بروتوكول آمن ← Route Table ← Network ACL ← Subnet ← Security Group.
- Security Groups: stateful، مستوى المورد، سماح فقط.
- Network ACLs: stateless، مستوى الشبكة الفرعية، سماح ورفض.
- AWS Network Firewall يضيف طبقة فحص متقدمة لحركة المرور.
- Bastion Host يوفر وصولاً آمناً لإدارة الموارد في الشبكات الخاصة.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Security Group | مجموعة أمان | جدار ناري stateful على مستوى المثيل يسمح فقط بحركة مرور محددة. |
| Network ACL | قائمة التحكم بالشبكة | جدار ناري stateless على مستوى الشبكة الفرعية يسمح أو يرفض حركة المرور. |
| Stateful | حافظ للحالة | يتذكر حالة الاتصال ويسمح بحركة العودة تلقائياً. |
| Stateless | عديم الحالة | يقيّم كل حزمة بشكل مستقل دون تذكر الاتصالات السابقة. |
| AWS Network Firewall | جدار حماية شبكة AWS | خدمة مدارة للكشف عن التسلل ومنعه في VPC. |
| Bastion Host | خادم باستيون | خادم وسيط في شبكة عامة يتيح الوصول الآمن للشبكات الخاصة. |
| Defense in Depth | الدفاع في العمق | استراتيجية أمنية تستخدم طبقات حماية متعددة لتأمين الموارد. |
1️⃣ How to Connect to Managed AWS Services — كيفية الاتصال بخدمات AWS المُدارة
عندما تحتاج مثيل EC2 في شبكة فرعية خاصة إلى الوصول إلى Amazon S3 أو DynamoDB، لا يوجد اتصال مباشر لأن هذه الخدمات تعمل خارج الـ VPC.
الحل: استخدام نقاط نهاية VPC (VPC Endpoints) للاتصال بالخدمات المُدارة دون المرور عبر الإنترنت.
2️⃣ Interface VPC Endpoints — نقاط نهاية VPC الواجهية
توفرها خدمة AWS PrivateLink. تسمح بالاتصال الخاص بالخدمات المُدارة كما لو كانت داخل الـ VPC.
تنشئ AWS واجهة شبكة مرنة (elastic network interface) في كل شبكة فرعية وتخصص لها عنوان IP خاص من نطاق الشبكة.
يمكن التحكم بالوصول باستخدام سياسات IAM المرفقة بنقطة النهاية.
- تستخدم AWS PrivateLink لتوفير اتصال آمن وخاص.
- تتحمل تكاليف: رسوم استخدام للساعة + رسوم على كمية البيانات المعالجة شهرياً.
- حد أقصى للنطاق الترددي: 10 Gbps لكل AZ (يتوسع تلقائياً إلى 100 Gbps).
- أقصى حجم للحزمة: 8500 بايت.
بدلاً من توجيه الطلب عبر الإنترنت (مما يزيد التكلفة والتأخير) ينشئ Interface VPC Endpoint.
يتصل المثيل بـ S3 عبر PrivateLink دون مغادرة شبكة AWS الخاصة.
3️⃣ How to Set Up an Interface VPC Endpoint — كيفية إعداد نقطة نهاية واجهية
- تحديد اسم الخدمة التي تريد الاتصال بها (AWS service أو Marketplace).
- اختيار الـ VPC وتحديد شبكة فرعية واحدة أو أكثر في AZs مختلفة لضمان المرونة.
- اختيار Security Group للتحكم في حركة المرور إلى واجهة الشبكة.
- بعد الإنشاء، لا يمكن للخدمات بدء طلبات إلى الموارد في الـ VPC عبر نقطة النهاية. نقطة النهاية تعيد الرد فقط على الطلبات الصادرة من الـ VPC.
يختار خدمة SQS من قائمة الخدمات في واجهة VPC.
يختار شبكتين فرعيتين في AZ مختلفتين للمرونة.
يضبط Security Group ليسمح بحركة HTTPS من التطبيق فقط.
4️⃣ Gateway VPC Endpoints — نقاط نهاية VPC البوابية
تتصل مباشرة بـ Amazon S3 و Amazon DynamoDB باستخدام جداول التوجيه (لا تستخدم PrivateLink).
هاتان الخدمتان فقط (S3 و DynamoDB) هما المدعومتان من Gateway Endpoints.
لا توجد رسوم إضافية ولا حدود لحجم الحزمة أو الإنتاجية.
ينشئ Gateway VPC Endpoint لـ S3.
يضيف مساراً في جدول توجيه الشبكة الفرعية الخاصة: الوجهة = Prefix List ID و الهدف = Gateway Endpoint ID.
يتصل المثيل بـ S3 مباشرة دون مرور عبر الإنترنت وبدون تكلفة إضافية.
5️⃣ Amazon S3 Endpoint Considerations — اعتبارات نقاط نهاية S3
| العامل | Interface VPC Endpoint | Gateway VPC Endpoint |
|---|---|---|
| عنوان الوصول | عناوين IP خاصة من الـ VPC | عناوين IP عامة لـ S3 |
| الوصول من الشبكات المحلية | مسموح | غير مسموح |
| الوصول من منطقة أخرى | مسموح | غير مسموح |
| التكلفة | تُحتسب (رسوم استخدام + بيانات) | مجانية (لا رسوم) |
| النطاق الترددي | حتى 10 Gbps لكل AZ (يتوسع إلى 100 Gbps) | بدون حد |
| حجم الحزمة الأقصى | 8500 بايت | بدون حد |
تختار Interface VPC Endpoint لأنه يسمح بالوصول من الشبكات المحلية.
أما إذا كان التطبيق داخل الـ VPC فقط وتريد التوفير تختار Gateway VPC Endpoint المجاني.
6️⃣ Gateway Load Balancer Endpoint — نقطة نهاية موازن الأحمال البوابي
نوع متخصص من نقاط نهاية VPC يوفر اتصالاً خاصاً بين أجهزة الأمان في VPC أخرى والتطبيق في الـ VPC الحالية.
يُستخدم مع Gateway Load Balancer لفحص حركة المرور عبر أجهزة أمان افتراضية.
- حركة المرور الواردة من الإنترنت توجّه أولاً إلى Gateway Load Balancer Endpoint.
- تُوجّه بعدها إلى Gateway Load Balancer في VPC أخرى يوزعها على أجهزة الأمان للفحص.
- بعد الفحص، تعود الحركة إلى نقطة النهاية ثم إلى التطبيق.
تنشر Gateway Load Balancer مع أجهزة أمان في VPC مخصصة.
تستخدم Gateway Load Balancer Endpoint في VPC العميل لتوجيه كل الحركة للفحص.
بهذا تبقى أجهزة الأمان مركزة وآمنة في VPC خاصة.
- VPC Endpoints تسمح بالاتصال بالخدمات المُدارة دون المرور عبر الإنترنت.
- Interface VPC Endpoints تستخدم AWS PrivateLink مع رسوم استخدام ونطاق ترددي محدود.
- Gateway VPC Endpoints تتصل مباشرة بـ S3 و DynamoDB بدون رسوم.
- Gateway Load Balancer Endpoint يُستخدم لفحص حركة المرور عبر أجهزة الأمان.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| VPC Endpoint | نقطة نهاية VPC | اتصال خاص بين VPC وخدمة AWS مدارة دون المرور عبر الإنترنت. |
| AWS PrivateLink | الرابط الخاص لـ AWS | خدمة توفر اتصالاً آمناً وخاصاً بين VPC والخدمات المُدارة. |
| Interface VPC Endpoint | نقطة نهاية واجهية | نوع من نقاط النهاية يستخدم PrivateLink مع واجهة شبكة مرنة. |
| Gateway VPC Endpoint | نقطة نهاية بوابية | نوع من نقاط النهاية يتصل مباشرة بـ S3 و DynamoDB عبر جداول التوجيه. |
| Gateway Load Balancer | موازن أحمال بوابي | خدمة توزع حركة المرور على أجهزة أمان افتراضية للفحص. |
| Prefix List | قائمة البادئات | مجموعة من كتل CIDR تُستخدم في جداول التوجيه لنقاط النهاية البوابية. |
1️⃣ Network Troubleshooting Scenarios — سيناريوهات استكشاف مشاكل الشبكة
بعد تكوين VPC ونشر الموارد قد تظهر مشاكل تحتاج التحقيق:
• بطء استجابة مثيلات EC2 ← قد يكون بسبب هجمات DDoS أو حركة غير مرغوب بها.
• عدم القدرة على الاتصال بـ SSH ← غالباً بسبب قواعد Security Group لا تسمح بالمنفذ 22.
• عدم تطبيق التحديثات على قاعدة بيانات ← يجب التحقق من إعدادات NAT Gateway وجداول التوجيه.
لاستكشاف هذه المشاكل يمكنك استخدام Amazon VPC Flow Logs للحصول على معلومات تفصيلية عن تدفق حركة المرور.
يتحقق من Route Table للشبكة الفرعية الخاصة ويتأكد أن المسار إلى NAT Gateway موجود.
يتحقق من Security Group لقاعدة البيانات أنها تسمح بحركة الخروج إلى الإنترنت.
أخيراً يفعل VPC Flow Logs ليرى إن كانت الحزم تغادر الشبكة فعلاً.
2️⃣ Amazon VPC Flow Logs — سجلات تدفق VPC
ميزة من Amazon VPC تلتقط معلومات على مستوى الحزمة (packet-level) عن حركة المرور في الـ VPC.
يمكن التقاط كل حركة المرور أو المقبولة فقط أو المرفوضة فقط.
يمكن تطبيقها على الـ VPC كامل أو شبكة فرعية محددة أو واجهة شبكة مرنة.
- Amazon CloudWatch Logs: عرض وتصفية السجلات عبر وحدة تحكم AWS.
- Amazon S3: استعلام تفاعلي عبر Amazon Athena، بصيغة نصية أو Parquet.
- Amazon Kinesis Data Firehose: توصيل السجلات إلى Amazon OpenSearch Service أو حلول طرف ثالث مثل Splunk.
يفعلون VPC Flow Logs على مستوى الـ VPC بأكمله.
يرسلون السجلات إلى Amazon S3 ويستخدمون Amazon Athena للاستعلام عن محاولات الاتصال المشبوهة.
يكتشفون عنوان IP مصريحاول الوصول إلى منافذ غير مسموحة ويغلقونه في Network ACL.
3️⃣ Flow Log IAM Access Policy — سياسة الوصول لسجلات التدفق
بشكل افتراضي لا يملك المستخدمون صلاحية العمل مع سجلات التدفق.
يمكن إنشاء دور IAM مع سياسة تسمح بإنشاء ووصف وحذف سجلات التدفق.
تنشئ المؤسسة دور IAM بسياسة تسمح بإجراءات ec2:CreateFlowLogs و ec2:DescribeFlowLogs و ec2:DeleteFlowLogs.
تربط الدور بفريق الأمان لتمكينهم من إدارة سجلات التدفق.
4️⃣ Default Flow Log Record Example — مثال افتراضي لسجل التدفق
سجلات التدفق تحتوي حقولاً تصف حركة المرور مثل: الإصدار، معرف الحساب، معرف واجهة الشبكة، عنوان المصدر والوجهة، منافذ المصدر والوجهة، البروتوكول، عدد الحزم والبايتات، وقت البدء والانتهاء، حالة القبول/الرفض، وحالة السجل.
قيمة action هي ACCEPT لأن Security Group يسمح بالمنفذ 22.
قيمة log-status هي OK مما يعني أن التسجيل يعمل بشكل طبيعي.
هذا مفيد لتتبع جلسات الإدارة عن بعد.
5️⃣ More VPC Troubleshooting Tools — أدوات إضافية لاستكشاف مشاكل VPC
توفر Amazon VPC أدوات متخصصة لحل مشاكل الشبكة:
| الأداة | الوظيفة |
|---|---|
| Reachability Analyzer | يختبر الاتصال بين مصدر ووجهة في الـ VPC ويحدد المكون المعطل (مثل Security Group أو Network ACL أو Route Table). |
| Network Access Analyzer | يحدد الوصول غير المقصود للموارد في حساب AWS ويساعد في إثبات الامتثال للمتطلبات التنظيمية. |
| Traffic Mirroring | ينسخ حركة المرور لإرسالها إلى أجهزة الأمان والمراقبة للتحليل المتقدم. |
يستخدم Reachability Analyzer: المصدر = Internet Gateway، الوجهة = EC2، المنفذ = 22، البروتوكول = TCP.
إذا كان الاتصال معطلاً، يحدد المحلل المكون الذي يعيق المسار (مثلاً Security Group لا يسمح بالمنفذ 22).
- VPC Flow Logs تلتقط معلومات حزمة عن حركة المرور لتساعد في استكشاف المشاكل والأمن.
- يمكن تسليم السجلات إلى CloudWatch أو S3 أو Kinesis Data Firehose.
- تحتاج صلاحيات IAM خاصة للعمل مع Flow Logs.
- Reachability Analyzer يختبر الاتصال بين الموارد.
- Network Access Analyzer يكشف الوصول غير المقصود.
- Traffic Mirroring ينسخ المرور للتحليل الأمني المتقدم.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| VPC Flow Logs | سجلات تدفق VPC | ميزة تلتقط معلومات على مستوى الحزمة عن حركة المرور في VPC. |
| Reachability Analyzer | محلل قابلية الوصول | أداة تختبر الاتصال بين الموارد في VPC وتحدد المكون المعطل. |
| Network Access Analyzer | محلل الوصول للشبكة | أداة تحدد الوصول غير المقصود للموارد في حساب AWS. |
| Traffic Mirroring | نسخ حركة المرور | ميزة تنسخ حركة مرور الشبكة لإرسالها لأجهزة الأمان والمراقبة. |
| Elastic Network Interface | واجهة شبكة مرنة | مكون شبكي منطقي في VPC يمثل بطاقة شبكة افتراضية. |
1️⃣ AWS Well-Architected Framework Network Pillars — ركائز الإطار المُحكم للشبكة
عند تصميم شبكة VPC يجب مراعاة أن تكون الشبكة مرنة (resilient) وآمنة (secure) وفعالة في الأداء (performant) وفعالة من حيث التكلفة (cost effective) لدعم أعباء العمل المستقبلية.
يوفر الإطار مجموعة من الأسئلة التأسيسية وأفضل الممارسات لمساعدتك في فهم إيجابيات وسلبيات القرارات التي تتخذها.
2️⃣ Foundations: Plan Your Network Topology — الأسس: تخطيط طوبولوجيا الشبكة
يندرج تخطيط الشبكة ضمن ركيزة الموثوقية (Reliability pillar) التي تقيس قدرة أعباء العمل على أداء وظيفتها بشكل صحيح ومتسق.
المرونة مسؤولية مشتركة: AWS مسؤولة عن مرونة البنية التحتية السحابية، وأنت مسؤول عن تطبيق المرونة في السحابة.
- اترك مساحة في CIDR block لشبكات فرعية متعددة عبر عدة AZs.
- خصص مساحة CIDR غير مستخدمة داخل الـ VPC للتوسع المستقبلي.
- ضع في الاعتبار أن كل شبكة فرعية تحجز 5 عناوين IP لاستخدام AWS.
- انشر كتل CIDR كبيرة لأنه لا يمكن تغيير أو حذف CIDR بعد الإنشاء.
- خطط لنطاقات CIDR للشبكات الفرعية بعناية لأنها لا يمكن تغييرها بعد الإنشاء.
لأنها خططت مسبقاً بكتلة /16، لديها مساحة كافية لإضافة الشبكات الجديدة.
أما لو اختارت كتلة /24 صغيرة لكانت اضطرت لإنشاء VPC جديدة بالكامل.
3️⃣ Infrastructure Protection: Protecting Networks — حماية البنية التحتية: حماية الشبكات
يوصي AWS بتطبيق نهج Zero Trust حيث تُعتبر مكونات التطبيق منفصلة عن بعضها ولا تثق أي مكون بآخر.
يشمل ذلك إنشاء طبقات شبكة والتحكم بحركة المرور في كل الطبقات وتنفيذ الفحص والحماية.
- إنشاء طبقات شبكة: ضع المكونات ذات متطلبات الحساسية المتشابهة معاً في طبقة واحدة. مثلاً قاعدة البيانات في شبكة فرعية بدون مسار للإنترنت.
- التحكم بحركة المرور في كل الطبقات: استخدم Security Groups و Network ACLs و Subnets و Route Tables مع نهج الدفاع في العمق.
- تنفيذ الفحص والحماية: استخدم VPC Network Access Analyzer لفحص إعدادات الـ VPC بحثاً عن وصول غير مقصود.
يضع المسؤول خوادم الويب في طبقة عامة (شبكة فرعية عامة).
يضع خوادم التطبيق في طبقة خاصة لا تصلها إلا من خوادم الويب.
يضع قواعد البيانات في طبقة خاصة لا يصلها إلا خوادم التطبيق.
يضيف Network ACL لكل طبقة لضمان عدم وصول أي حركة غير مصرح بها بين الطبقات.
4️⃣ Selection: Network Architecture Selection — الاختيار: اختيار بنية الشبكة
لكل عبء عمل في الـ VPC متطلبات مختلفة لزمن الاستجابة والإنتاجية وكمية التذبذب (jitter) والنطاق الترددي.
افهم كيف تؤثر قرارات الشبكة على الأداء، وقدّر ميزات الشبكة المتاحة، واختر البروتوكولات المناسبة.
- افهم تأثير الشبكة على الأداء: مثلاً لا يمكن تنفيذ النسخ المتماثل المتزامن لقواعد البيانات بين المناطق بسبب زمن الاستجابة العالي.
- قيّم ميزات الشبكة المتاحة: استخدم Network Access Analyzer لتحديد المسارات والمسارات البديلة.
- اختر بروتوكولات الشبكة المناسبة: استخدم TCP و UDP معاً لأعمال البنية التحتية الافتراضية لسطح المكتب (VDI) للاستفادة من موثوقية TCP وسرعة UDP.
يكتشف المهندس أن زمن الاستجابة بين المنطقتين 50 مللي ثانية مما يمنع النسخ المتزامن.
يختار النسخ غير المتزامن (asynchronous replication) بدلاً من ذلك.
أما بين AZs في نفس المنطقة فيمكنه استخدام النسخ المتزامن بزمن استجابة 2 مللي ثانية فقط.
5️⃣ Select the Best Pricing Model — اختر أفضل نموذج تسعير
يوصي AWS باستخدام المنطقة التي تقدم أفضل حل تكلفة إجمالي عالمي.
تختلف أسعار الموارد من منطقة لأخرى بسبب اختلاف تكلفة الأراضي والألياف الضوئية والكهرباء والضرائب.
ضع الموارد الحاسوبية بالقرب من المستخدمين لتقليل زمن الاستجابة وضمان سيادة البيانات (data sovereignty).
تختار منطقة eu-west-1 (أيرلندا) لقربها من العملاء وتكلفتها المعقولة.
تنشر التطبيق في eu-west-1 وتستخدم CloudFront لتوصيل المحتوى بسرعة للجميع.
هذا القرار يوفر زمن استجابة منخفض وتكلفة نقل بيانات أقل ويتوافق مع متطلبات سيادة البيانات الأوروبية.
6️⃣ Network Design Issue Scenario — سيناريو مشكلة في تصميم الشبكة
الشركة (أ) تبيع أحذية رياضية ومقرها في أوروبا لكن عملاءها في الولايات المتحدة:
• نشرت الخوادم في منطقة أيرلندا. ← خطأ: العملاء في أمريكا.
• استخدمت VPC واحدة بشبكة فرعية عامة واحدة فقط. ← خطأ: لا يوجد فصل بين طبقات التطبيق.
• الـ VPC بكتلة /27 (32 عنواناً) والشبكة الفرعية /28 (16 عنواناً). ← خطأ: مساحة غير كافية للنمو.
• Security Group واحد يسمح بحركة الإنترنت لكل الخوادم. ← خطأ: خوادم الويب وقواعد البيانات لها نفس الصلاحيات.
7️⃣ Common Anti-Patterns and Patterns — الأنماط الخاطئة والصحيحة الشائعة
| # | النمط الخاطئ (Anti-pattern) | النمط الصحيح (Pattern) |
|---|---|---|
| 1 | VPC صغيرة بشبكات فرعية صغيرة | VPC كبيرة بشبكات عامة وخاصة كبيرة |
| 2 | مجموعات أمان متساهلة (permissive) | مجموعات أمان صارمة حسب استخدام الخادم |
| 3 | وصول مباشر إلى قواعد البيانات | لا وصول مباشر لقواعد البيانات |
| 4 | منطقة AWS بعيدة عن العملاء | منطقة AWS قريبة من العملاء |
تنشئ VPC كبيرة بكتلة /16 مع شبكات فرعية عامة للويب وخاصة لقواعد البيانات.
تستخدم مجموعتي Security Group: واحدة لخوادم الويب تسمح بالإنترنت، وأخرى لقواعد البيانات تسمح فقط من مجموعة الويب.
تختار منطقة في الولايات المتحدة (مثل us-east-1) لقربها من العملاء.
- خطط لمساحة CIDR كافية للتوسع المستقبلي وتوزيع الشبكات الفرعية عبر AZs.
- أنشئ طبقات شبكة وتحكم بحركة المرور في كل طبقة باستخدام Security Groups و Network ACLs.
- افهم تأثير قرارات الشبكة على الأداء واختر البروتوكولات المناسبة.
- اختر المنطقة بناءً على التكلفة والقرب من العملاء وسيادة البيانات.
- تجنب الأنماط الخاطئة: VPC صغيرة، مجموعات أمان متساهلة، وصول مباشر لقواعد البيانات، منطقة بعيدة.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Zero Trust | الثقة الصفرية | نموذج أمني حيث لا تثق أي مكونة في الشبكة بمكونة أخرى افتراضياً. |
| Anti-pattern | نمط خاطئ | تصميم سيء يجلب مشاكل متأصلة للحل ويجب تجنبه. |
| Data Sovereignty | سيادة البيانات | مبدأ أن البيانات تخضع لقوانين البلد الذي توجد فيه. |
| Jitter | التذبذب | تأخير زمني يحدث بسبب ازدحام الشبكة أو تغيير المسارات. |
| Well-Architected Framework | إطار العمل المُحكم | مجموعة مبادئ وأفضل ممارسات لبناء حلول سحابية عالية الجودة. |
| Resiliency | المرونة | قدرة النظام على التعافي من الأعطال والاستمرار في العمل. |
🚀 الخاتمة
في هذه الوحدة تعلمنا كيف ننشئ بيئة شبكات سحابية متكاملة باستخدام Amazon VPC. استعرضنا مكونات الـ VPC من شبكات فرعية عامة وخاصة وجداول توجيه وبوابات Internet Gateway و NAT Gateway وعناوين Elastic IP. تعرفنا على كيفية تأمين الشبكة باستخدام Security Groups و Network ACLs و AWS Network Firewall وخوادم Bastion. استعرضنا طرق الاتصال بالخدمات المُدارة عبر نقاط نهاية VPC Endpoints (الواجهية والبوابية). وتعلمنا مراقبة الشبكة باستخدام VPC Flow Logs وأدوات تحليل الشبكة مثل Reachability Analyzer و Network Access Analyzer. وأخيراً طبقنا مبادئ AWS Well-Architected Framework على تصميم الشبكة مع تجنب الأنماط الخاطئة الشائعة. هذه المهارات تمكننا من تصميم شبكات سحابية آمنة وموثوقة وفعالة وقابلة للتوسع تدعم أعباء العمل الحالية والمستقبلية.
