بنية VPC وكتل CIDR
صمّموا VPC بنطاق CIDR مناسب، وقسّموه إلى شبكات فرعية عامة وخاصة عبر مناطق التوافر.
بنية VPC وكتل CIDR درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.
ما هي VPC؟
إن Amazon Virtual Private Cloud (VPC) شبكة خاصة معزولة منطقيًا داخل AWS Region، تقوم بتعريفها والتحكم فيها. يأتي كل حساب AWS مزودًا بـ VPC افتراضية (CIDR 172.31.0.0/16) في كل Region، لكن بنيات الإنتاج تستخدم دائمًا VPCs مخصصة. تمتد VPC عبر جميع مناطق التوافر في Region الخاصة بها، وتمنحك تحكمًا كاملًا في عنونة IP والشبكات الفرعية وجداول التوجيه وبوابات الإنترنت والأمان. وتكون الموارد داخل VPC معزولة عن VPCs الأخرى وعن الإنترنت، ما لم تهيئ الاتصال بها صراحةً.
# Create a custom VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16 \
--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=production-vpc}]'كتل CIDR: نطاقات عناوين IP
تحدد CIDR (Classless Inter-Domain Routing) block نطاق عناوين IP الخاص بـ VPC أو الشبكة الفرعية باستخدام التنسيق x.x.x.x/prefix. ويحدد طول البادئة عدد عناوين IP في النطاق: /16 = 65,536 عنوانًا، و/24 = 256 عنوانًا، و/28 = 16 عنوانًا، وهو الحد الأدنى لحجم الشبكة الفرعية في AWS. وبالنسبة إلى VPCs، تسمح AWS بكتل CIDR من /16، وهي الأكبر، إلى /28، وهي الأصغر. اختر كتلة CIDR لـ VPC بحيث: (1) لا تتداخل مع شبكات المؤسسة المحلية، استعدادًا لاستخدام VPN/Direct Connect مستقبلًا، (2) تكون كبيرة بما يكفي للشبكات الفرعية المخطط لها، و(3) تستخدم مساحة العناوين الخاصة RFC 1918 (10.0.0.0/8 و172.16.0.0/12 و192.168.0.0/16).
# Common VPC CIDR choices:
# 10.0.0.0/16 -> 65,534 usable IPs (largest common choice)
# 10.0.0.0/20 -> 4,094 usable IPs
# 10.0.0.0/24 -> 254 usable IPs (too small for most VPCs)
# AWS reserves 5 IPs in each subnet:
# x.x.x.0 Network address
# x.x.x.1 VPC router
# x.x.x.2 DNS server
# x.x.x.3 Future use
# x.x.x.255 Broadcastالشبكات الفرعية: تقسيم VPC
الشبكة الفرعية هي جزء من نطاق عناوين IP الخاص بـ VPC، وتوجد في منطقة توافر واحدة. تُصنّف الشبكات الفرعية إلى عامة (تحتوي على مسار إلى بوابة إنترنت) أو خاصة (لا تحتوي على مسار مباشر إلى الإنترنت). ومن أفضل الممارسات في بنية نموذجية من ثلاث طبقات إنشاء ثلاث طبقات فرعية على الأقل: عامة (موازنات التحميل ومضيفات bastion)، وخاصة بالتطبيق (مثيلات EC2 ومهام ECS)، وخاصة بالبيانات (RDS وElastiCache)، مع تكرار كل طبقة عبر منطقتي توافر على الأقل لتحقيق التوافر العالي.
# Create a public subnet in AZ-a
aws ec2 create-subnet \
--vpc-id vpc-12345678 \
--cidr-block 10.0.1.0/24 \
--availability-zone us-east-1a \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-1a}]'
# Create a private subnet in AZ-a
aws ec2 create-subnet \
--vpc-id vpc-12345678 \
--cidr-block 10.0.10.0/24 \
--availability-zone us-east-1a \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-app-1a}]'تصميم مخطط CIDR لـ VPC متعددة المناطق
من تصميمات CIDR الشائعة لـ VPC بكتلة CIDR هي 10.0.0.0/16 موزعة عبر منطقتي توافر وثلاث طبقات: Public AZ-a: 10.0.1.0/24؛ Public AZ-b: 10.0.2.0/24؛ Private-App AZ-a: 10.0.10.0/24؛ Private-App AZ-b: 10.0.11.0/24؛ Private-Data AZ-a: 10.0.20.0/24؛ Private-Data AZ-b: 10.0.21.0/24. يترك هذا المخطط مساحة لإضافة شبكات فرعية لـ AZ-c (10.0.3.0/24 و10.0.12.0/24 و10.0.22.0/24) من دون إعادة تخطيط مخطط CIDR بالكامل. احرص دائمًا على التصميم مع مراعاة التوسع.
عناوين IP المحجوزة في كل شبكة فرعية
تحجز AWS عناوين IP الأربعة الأولى والعنوان الأخير في كل شبكة فرعية. ففي شبكة فرعية 10.0.1.0/24: 10.0.1.0 (الشبكة)، و10.0.1.1 (موجّه VPC)، و10.0.1.2 (DNS/DHCP)، و10.0.1.3 (للاستخدام المستقبلي)، و10.0.1.255 (البث). تحتوي شبكة فرعية /24 على 256 عنوان IP إجمالًا، يُطرح منها 5 عناوين محجوزة، فيتبقى 251 عنوانًا قابلًا للاستخدام. أما شبكة /28 الفرعية، وهي الحد الأدنى، فتحتوي على 16 عنوانًا، يُطرح منها 5، فيتبقى 11 عنوانًا قابلًا للاستخدام. ويهم ذلك عند تحديد حجم الشبكات الفرعية وفق عدد الموارد التي تخطط لنشرها، مثل مثيلات EC2 ووظائف Lambda مع VPC وغيرها.
كتل CIDR الثانوية لـ VPC
يمكنك إضافة ما يصل إلى أربعة نطاقات CIDR ثانوية إلى VPC موجودة من دون إعادة إنشائها. يكون ذلك مفيدًا عند استنفاد CIDR الأساسي (امتلاء جميع الشبكات الفرعية)، أو عند الحاجة إلى إضافة مساحة عناوين من نطاق مختلف من نطاقات RFC 1918 لحالة استخدام محددة، مثل شبكات Pods الخاصة بـ Kubernetes. تخضع نطاقات CIDR الثانوية لقيود معينة؛ فعلى سبيل المثال، لا يمكنك إضافة نطاق CIDR متداخل، ولا يمكن استخدام بعض النطاقات العامة غير التابعة لـ RFC 1918. خطط بعناية لحجم CIDR الخاص بـ VPC مسبقًا لتقليل الحاجة إلى استخدام نطاقات CIDR ثانوية.
# Add a secondary CIDR to an existing VPC
aws ec2 associate-vpc-cidr-block \
--vpc-id vpc-12345678 \
--cidr-block 10.1.0.0/16توصيل VPCs باستخدام VPC Peering
تنشئ VPC Peering اتصالًا خاصًا بالشبكة بين VPCs اثنتين، بحيث يمكن لمواردهما التواصل باستخدام عناوين IP خاصة. يمكن أن تكون VPCs المتصلة عبر Peering ضمن الحساب نفسه أو حسابات مختلفة، أو حتى ضمن Regions مختلفة (Inter-Region Peering). المتطلبات: يجب ألا تتداخل نطاقات CIDR الخاصة بـ VPCs الاثنتين. القيود: إن Peering غير انتقالي؛ فإذا كانت VPC-A متصلة عبر Peering بـ VPC-B، وكانت VPC-B متصلة عبر Peering بـ VPC-C، فلا يمكن لـ VPC-A التواصل مع VPC-C من خلال VPC-B. للحصول على اتصال شبكي كامل بين عدد كبير من VPCs، استخدم AWS Transit Gateway بدلًا من ذلك.
AWS Transit Gateway
يعمل AWS Transit Gateway (TGW) كمحور مركزي للشبكة—أي كموجّه سحابي—يربط عدة VPCs وVPNs واتصالات Direct Connect. وبدلًا من إنشاء N*(N-1)/2 من اتصالات VPC Peering لتكوين شبكة كاملة من N من VPCs، تقوم بإرفاق كل VPC وكل اتصال بـ Transit Gateway، الذي يوجّه حركة المرور بينها. يدعم TGW جداول توجيه تتيح لك التحكم في المرفقات التي يمكنها التواصل مع بعضها، مما يتيح تقسيم الشبكة (مثل عزل VPCs الخاصة بالإنتاج عن VPCs الخاصة بالتطوير على TGW نفسه).
تمكين DNS في VPC
يتحكم إعدادان لـ DNS في تحليل الأسماء داخل VPC. enableDnsSupport: عندما تكون قيمته true (وهو الإعداد الافتراضي)، تستخدم VPC محلل DNS الذي توفره AWS على العنوان 169.254.169.253 أو على عنوان IP الثاني من CIDR الخاص بـ VPC (مثل 10.0.0.2 للنطاق 10.0.0.0/16). enableDnsHostnames: عندما تكون قيمته true (ويجب تمكينه لـ VPCs المخصصة، بينما يكون مفعّلًا افتراضيًا لـ VPC الافتراضية)، تحصل مثيلات EC2 في VPC على أسماء مضيفين لـ DNS مثل ip-10-0-1-15.ec2.internal. يجب تمكين الإعدادين معًا حتى تعمل Route 53 Private Hosted Zones داخل VPC.
# Enable DNS support and DNS hostnames in a VPC
aws ec2 modify-vpc-attribute \
--vpc-id vpc-12345678 \
--enable-dns-support '{"Value": true}'
aws ec2 modify-vpc-attribute \
--vpc-id vpc-12345678 \
--enable-dns-hostnames '{"Value": true}'سجلات تدفق VPC
تلتقط VPC Flow Logs بيانات وصفية حول حركة مرور الشبكة التي تمر عبر VPC، مثل عنوان IP المصدر والوجهة، والمنفذ، والبروتوكول، وعدد البايتات المنقولة، وما إذا تم قبول حركة المرور أو رفضها. يمكن نشر سجلات التدفق إلى CloudWatch Logs (للاستعلام باستخدام Logs Insights) أو إلى S3 (للتحليل باستخدام Athena). وتُعد هذه السجلات ذات قيمة كبيرة للتحقيقات الجنائية الأمنية (من اتصل بماذا)، وتحليل حركة المرور (لتحديد التدفقات ذات النطاق الترددي المرتفع)، واستكشاف الأخطاء وإصلاحها (لماذا رُفض الاتصال؟). تعمل سجلات التدفق على مستوى VPC أو الشبكة الفرعية أو ENI الفردية.
# Enable flow logs for a VPC, deliver to CloudWatch
aws ec2 create-flow-logs \
--resource-type VPC \
--resource-ids vpc-12345678 \
--traffic-type ALL \
--log-destination-type cloud-watch-logs \
--log-group-name /aws/vpc/flowlogs \
--deliver-logs-permission-arn arn:aws:iam::123456789012:role/FlowLogsRoleالتخطيط للاتصال
قبل إنشاء VPC، خطط لجميع احتياجات الاتصال المستقبلية: الاتصال بالشبكات المحلية (VPN أو Direct Connect)—تأكد من عدم تداخل CIDR الخاص بـ VPC مع الشبكات الفرعية المحلية؛ الاتصال بين VPCs (Peering أو Transit Gateway)—خطط لاستخدام نطاقات CIDR غير متداخلة عبر جميع VPCs في مؤسستك؛ الوصول إلى خدمات AWS (نقاط VPC الطرفية لخدمات S3 وDynamoDB وSSM لتجنب مرور حركة المرور عبر الإنترنت)؛ وتحديد أحجام الشبكات الفرعية—اترك مساحة كافية في كل شبكة فرعية لاستهلاك عناوين IP من Pods الخاصة بـ EKS ووظائف Lambda وElastic Network Interfaces.
تحقق سريع
اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.
مراجعة الدرس
تعلمت في هذا الدرس أن: VPC هي شبكة معزولة منطقيًا داخل Region، ويحددها نطاق CIDR تقسّمه إلى شبكات فرعية عامة وخاصة عبر AZs، وأن AWS تحجز 5 عناوين IP في كل شبكة فرعية، لذلك يجب دائمًا تحديد حجم الشبكات الفرعية مع مراعاة هذا النقص، وأن VPC Peering وTransit Gateway يربطان VPCs بشكل خاص، لكن يجب ألا تتداخل نطاقات CIDR. في الجزء التالي سنستكشف Internet Gateways وجداول التوجيه.
الأسئلة الشائعة
هل درس «بنية VPC وكتل CIDR» مجاني؟
نعم — نص درس «بنية VPC وكتل CIDR» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.
ماذا ستتعلم في «بنية VPC وكتل CIDR»؟
صمّموا VPC بنطاق CIDR مناسب، وقسّموه إلى شبكات فرعية عامة وخاصة عبر مناطق التوافر. تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟
لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «بنية VPC وكتل CIDR»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟
نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بنية VPC وكتل CIDR
- بوابة الإنترنت وجداول التوجيه
- بوابة NAT والشبكات الفرعية الخاصة
- قوائم ACL للشبكة مقابل مجموعات الأمان