الحوسبة والشبكات في Azure
الحوسبة والشبكات في Azure
تتشابه مكوّنات الحوسبة والشبكات في Azure مع ما تعرفه من AWS، غير أن التسميات والإعدادات الافتراضية والنموذج الذهني تختلف بما يكفي لإيقاع المهندسين ذوي الخبرة في أخطاء. يغطّي هذا الدرس الركائز الأربع التي ستستخدمها في كل نشر Azure حقيقي: الأجهزة الافتراضية (VMs)، والشبكات الافتراضية (VNets)، ومجموعات أمان الشبكة (NSGs)، وموازنات الأحمال (Load Balancers). ونختتم بجدول مقارنة بين Azure وAWS يُمكّنك من الترجمة بين السحابتين بسهولة.
الأجهزة الافتراضية (VMs)
تعيش الأجهزة الافتراضية في Azure داخل مجموعة موارد (Resource Group) — وهي حاوية منطقية تحدد نطاق الفواتير وصلاحيات RBAC ودورة الحياة. كل مورد تُنشئه (جهاز افتراضي، قرص، بطاقة شبكة NIC، عنوان IP عام) هو كيان مستقل قابل للعنونة، خلافاً لـ AWS حيث تكون بعض الموارد ضمنية. هذه الصراحة ميزة: يمكنك حذف جهاز افتراضي مع الاحتفاظ بقرص نظام التشغيل، أو نقل بطاقة الشبكة إلى جهاز آخر.
تتبع أحجام الأجهزة الافتراضية نظام تسمية محدد: Standard_D4s_v5 — العائلة (D = متعددة الأغراض)، وعدد المعالجات الافتراضية (4)، ونوع التخزين (s = يدعم Premium SSD)، والجيل (v5). للأعباء الإنتاجية، اختر v5 أو أحدث؛ الأجيال الأقدم تعمل على عتاد متقادم بأداء مفرد أضعف.
خيارات جوهرية يجب استيعابها: --public-ip-address "" يُعطّل عنوان IP العام — أجهزة الإنتاج يجب ألا تكون مكشوفة على الإنترنت مباشرةً. --nsg "" يتخطى إنشاء NSG تلقائي لكل بطاقة شبكة حين تخطط لإدارة NSG على مستوى الشبكة الفرعية، وهو نهج أنظف في مقياس الإنتاج. --zone 1 يُثبّت الجهاز في منطقة التوفر 1؛ وزّع دائماً النسخ عبر المناطق 1 و2 و3 لتحقيق الاستمرارية العالية.
--storage-sku Premium_LRS). تتعامل تلقائياً مع التكرار، وتدعم اللقطات (Snapshots) كموارد من الدرجة الأولى، وهي شرط لمجموعات التوفر كي تمنحك اتفاقية مستوى الخدمة SLA. الأقراص غير المُدارة تراث قديم — لا تستخدمها في أي نشر جديد.
الشبكات الافتراضية (VNets)
VNet هو مقابل Azure لـ AWS VPC. تُعرّف نطاق CIDR (مثل 10.0.0.0/16) وتقسّمه إلى شبكات فرعية. خلافاً لـ AWS، الشبكات الفرعية في VNet ليست مرتبطة بمنطقة توفر بعينها — الشبكة الفرعية الواحدة تمتد على جميع مناطق التوفر في المنطقة. عزل المناطق يُفرض على مستوى المورد (الجهاز الافتراضي، وموازن الحمل، إلخ)، لا على مستوى الشبكة الفرعية.
يُوصى بتصميم إنتاجي يفصل المهام إلى ثلاث شبكات فرعية على الأقل: شبكة واجهة أمامية (لـ Application Gateways)، وشبكة تطبيق (للأجهزة الافتراضية)، وشبكة بيانات (لقواعد البيانات المُدارة). استخدم نطاقات /24 أو أكبر — يحجز Azure 5 عناوين IP في كل شبكة فرعية داخلياً.
مجموعات أمان الشبكة (NSGs)
NSG هو مرشح حزم ذو حالة (stateful) — مقابل Azure لمجموعات الأمان في AWS، لكن مع فارقين جوهريين. أولاً، يمكن ربط NSG بـالشبكات الفرعية إضافةً إلى بطاقات الشبكة الفردية. ثانياً، قواعد NSG لها أولوية صريحة (100–4096، الأقل يفوز) وتستطيع السماح أو الحجب معاً. يُمكّن هذا من بناء دفاع متعمق: NSG على مستوى الشبكة الفرعية يحجب فئات واسعة من الحركة، بينما يتعامل NSG على مستوى بطاقة الشبكة مع استثناءات الأجهزة الفردية.
az network watcher test-ip-flow لتشخيص المشكلة بسرعة.
--source-address-prefixes AzureLoadBalancer يسمح بحركة فحص الصحة من بنية Azure التحتية، وInternet تمثل جميع عناوين IP العامة. تحافظ Microsoft على هذه النطاقات تلقائياً — وهي مكافئ Azure لقوائم البادئات في AWS للخدمات المُدارة.
موازنات أحمال Azure
تقدم Azure منتجَين لموازنة الأحمال ستصادفهما باستمرار: Standard Load Balancer (الطبقة 4، TCP/UDP) وApplication Gateway (الطبقة 7، HTTP/HTTPS). يقابلان تقريباً AWS NLB وALB على التوالي.
Standard Load Balancer هو الحصان الأساسي لحركة المرور الداخلية وتوزيع الحمل بين الأجهزة الافتراضية. المفاهيم الرئيسية:
- تكوين IP الأمامي (Frontend IP) — عنوان IP خاص أو عام يستمع إليه موازن الحمل.
- مجموعة الخلفية (Backend Pool) — مجموعة الأجهزة الافتراضية أو بطاقات الشبكة التي تُوزَّع عليها الحركة.
- فحص الصحة (Health Probe) — فحص TCP أو HTTP؛ الأجهزة غير السليمة تُزال من التدوير.
- قاعدة موازنة الحمل — تربط منفذاً أمامياً بمنفذ خلفي مع خوارزمية توزيع (افتراضياً: تجزئة 5 عناصر للاستمرارية).
--enable-tcp-reset true في قواعد موازنة الحمل. بدونه، تنتهي مهلة الاتصالات الخاملة بصمت ويحصل تطبيقك على تعليق مقبس بلا RST. مع تفعيل TCP Reset، يُرسل موازن الحمل حزم RST لكلا الطرفين عند انتهاء المهلة، مما يُتيح للتطبيق الفشل بسرعة وإعادة الاتصال بنظافة.
مقارنة بين AWS وAzure
يُعيّن الجدول التالي المكوّنات التي تعرفها في AWS إلى مقابلاتها في Azure. المفاهيم متطابقة؛ الفارق في الواجهة البرمجية والإعدادات الافتراضية.
- AWS VPC → Azure VNet (الشبكات الفرعية على مستوى المنطقة، غير مرتبطة بمنطقة توفر)
- AWS Security Group → Azure NSG (يُربط بالشبكة الفرعية أو بطاقة الشبكة؛ يدعم قواعد الحجب الصريح)
- AWS EC2 instance → Azure VM (في مجموعة موارد؛ بطاقة الشبكة والقرص وIP العام موارد مستقلة)
- AWS ALB → Azure Application Gateway (الطبقة 7، يدعم WAF)
- AWS NLB → Azure Standard Load Balancer (الطبقة 4، مقاوم للمناطق مع SKU Standard)
- AWS Auto Scaling Group → Azure Virtual Machine Scale Sets (VMSS)
- AWS Subnet (مرتبطة بمنطقة توفر) → Azure Subnet (على مستوى المنطقة) — تثبيت المنطقة يكون على مستوى المورد