الغوص العميق في هندسة وخدمات AWS
شبكات AWS: VPC، Route 53 و CloudFront
أسئلة الشبكات تظهر في كل مقابلة مهندس سحابة تقريباً. إتقان تصميم VPC، DNS، وأنماط CDN أمر ضروري.
الغوص العميق في هندسة VPC
المكونات الأساسية
| المكون | الغرض | الاعتبارات الرئيسية |
|---|---|---|
| VPC | شبكة معزولة | تحديد حجم CIDR (لا يمكن تغييره لاحقاً) |
| Subnet | جزء خاص بـ AZ | عام مقابل خاص |
| Route Table | توجيه حركة المرور | واحد لكل subnet |
| Internet Gateway | الوصول للإنترنت العام | واحد لكل VPC |
| NAT Gateway | الخروج من subnet الخاص | لكل AZ للتوافر العالي |
| Security Group | جدار حماية مستوى المثيل | حالة مُحتفَظ بها |
| NACL | جدار حماية مستوى Subnet | بدون حالة |
سؤال المقابلة: تصميم CIDR لـ VPC
س: "صمم استراتيجية CIDR لـ VPC لشركة لديها 3 مناطق AWS وإمكانية لـ 100+ VPC."
ج: استخدم تخصيص CIDR هرمي:
الشركة: 10.0.0.0/8 (16M عنوان إجمالي)
تخصيص المنطقة (/16 لكل منها = 65K عنوان):
- us-east-1: 10.0.0.0/16
- us-west-2: 10.1.0.0/16
- eu-west-1: 10.2.0.0/16
تخصيص VPC (/20 لكل منها = 4K عنوان):
- us-east-1-prod: 10.0.0.0/20
- us-east-1-dev: 10.0.16.0/20
- us-east-1-staging: 10.0.32.0/20
تخصيص Subnet (/24 لكل منها = 256 عنوان):
- public-1a: 10.0.0.0/24
- public-1b: 10.0.1.0/24
- private-1a: 10.0.2.0/24
- private-1b: 10.0.3.0/24
المبادئ الرئيسية:
- احجز /16 لكل منطقة للنمو
- استخدم /20 لـ VPCs (تدعم ~4,000 مضيف)
- اترك فجوات للتوسع المستقبلي
- وثّق التخصيصات في IPAM
خيارات اتصال VPC
| الخيار | حالة الاستخدام | التأخير | التكلفة |
|---|---|---|---|
| VPC Peering | VPC إلى VPC، نفس/عبر المناطق | منخفض | $0.01/GB |
| Transit Gateway | hub-and-spoke، 5K+ VPCs | منخفض | $0.05/ساعة + $0.02/GB |
| PrivateLink | كشف الخدمة، بدون VPC peering | الأدنى | $0.01/ساعة + $0.01/GB |
| VPN | مشفر، اتصال محلي | متغير | $0.05/ساعة |
| Direct Connect | مخصص، اتصال محلي | الأدنى | رسوم المنفذ + $0.02/GB |
سؤال المقابلة: Transit Gateway مقابل VPC Peering
س: "لديك 15 VPC تحتاج للتواصل. هل ستستخدم VPC Peering أو Transit Gateway؟"
ج: مع 15 VPC:
- VPC Peering: 15 × 14 / 2 = 105 اتصال peering (n×(n-1)/2)
- Transit Gateway: 15 ربط بمحور واحد
التوصية: Transit Gateway لأن:
- إدارة أبسط (15 مقابل 105 اتصال)
- تحكم مركزي في التوجيه
- أسهل لإضافة VPCs جديدة
- يدعم التوجيه العابر
VPC Peering لا يزال يفوز عندما:
- فقط 2-3 VPCs تحتاج الاتصال
- عبر المناطق مع أدنى تأخير مطلوب
- التكلفة حرجة (لا رسوم بالساعة)
Route 53: DNS والتوجيه
سياسات التوجيه
| السياسة | حالة الاستخدام | مثال |
|---|---|---|
| Simple | مورد واحد | نقطة نهاية ALB واحدة |
| Weighted | تقسيم حركة المرور | 90% v1، 10% v2 |
| Latency | الأداء العالمي | توجيه لأقرب منطقة |
| Failover | HA نشط-سلبي | الأساسي → DR |
| Geolocation | الامتثال/التوطين | مستخدمو EU → منطقة EU |
| Geoproximity | جغرافي دقيق | انحياز نحو مناطق محددة |
| Multivalue Answer | موازنة حمل بسيطة | حتى 8 سجلات صحية |
سؤال المقابلة: Blue-Green مع Route 53
س: "صف كيف ستنفذ نشرات blue-green باستخدام Route 53."
ج: نهج التوجيه المرجح:
- انشر البيئة الخضراء (v2) بجانب الزرقاء (v1)
- اضبط سياسة الترجيح:
- Blue: 100%، Green: 0% (ابتدائي)
- انقل حركة المرور تدريجياً:
- Blue: 90%، Green: 10% (canary)
- Blue: 50%، Green: 50% (التحقق)
- Blue: 0%، Green: 100% (اكتمال)
- احتفظ بـ blue للتراجع الفوري
- احذف blue بعد فترة الثقة
اعتبار TTL: اضبط TTL منخفض (60 ثانية) قبل النشر لتمكين التجاوز السريع.
CloudFront: CDN والحافة
تكوين التوزيع
| الإعداد | الخيارات | التأثير |
|---|---|---|
| Price Class | All / 200 / 100 | التكلفة مقابل التغطية العالمية |
| Origin | S3 / ALB / Custom | مصدر المحتوى |
| Cache Policy | Managed / Custom | سلوك التخزين المؤقت |
| Edge Functions | CloudFront Functions / Lambda@Edge | التلاعب بالطلبات |
سؤال المقابلة: استراتيجية التخزين المؤقت لـ CloudFront
س: "تطبيقك يقدم محتوى ديناميكي مع بعض العناصر القابلة للتخزين المؤقت. كيف تضبط CloudFront؟"
ج: استراتيجية تخزين مؤقت متعددة المستويات:
أنماط المسار:
/static/* → تخزين مؤقت لسنة (أصول ثابتة)
/api/* → بدون تخزين مؤقت، إعادة توجيه كل الرؤوس
/images/* → تخزين مؤقت 24 ساعة، تختلف حسب رأس Accept
الافتراضي → تخزين مؤقت ساعة، رؤوس ذاكرة التخزين المؤقت للأصل
مفاتيح التخزين المؤقت:
- تضمين سلاسل الاستعلام للمحتوى الديناميكي
- القائمة البيضاء للرؤوس الضرورية فقط
- استخدام سياسات التخزين المؤقت للاتساق
ميزات أمان CloudFront
- OAC (Origin Access Control): وصول آمن لـ S3 (يحل محل OAI)
- Field-Level Encryption: تشفير حقول النموذج الحساسة عند الحافة
- تكامل AWS WAF: حماية الطبقة 7 عند الحافة
- URLs/Cookies الموقعة: التحكم في الوصول للمحتوى الخاص
سؤال المقابلة: الهندسة المعمارية العالمية
س: "صمم تطبيقاً موزعاً عالمياً بتأخير منخفض للمستخدمين في US، EU، و APAC."
ج: هندسة معمارية متعددة المناطق نشطة-نشطة:
DNS: Route 53 التوجيه القائم على التأخير
└── US: us-east-1
└── EU: eu-west-1
└── APAC: ap-southeast-1
كل منطقة:
CloudFront → ALB → ECS/EKS
↓
DynamoDB Global Table الإقليمي
↓
ElastiCache (لكل منطقة)
عبر المناطق:
- DynamoDB Global Tables لمزامنة البيانات
- S3 Cross-Region Replication للأصول
- Aurora Global Database للبيانات العلائقية
النمط الرئيسي: احتفظ بالبيانات قريبة من المستخدمين. استخدم النسخ غير المتزامن بين المناطق وصمم للاتساق النهائي.
بعد ذلك، سنستكشف خدمات قواعد بيانات AWS ومعايير الاختيار. :::