العقد والتجمعات في Azure Batch
في سير عمل Azure Batch، عقدة الحساب (أو العقدة) عبارة عن جهاز ظاهري يعالج جزءاً من حمل عمل تطبيقك. التجمع عبارة عن مجموعة من هذه العقد لتشغيل تطبيقك عليها. توضح هذه المقالة المزيد حول العقد والتجمعات، بالإضافة إلى الاعتبارات عند إنشائها واستخدامها في سير عمل Azure Batch.
العُقد
العقدة عبارة عن جهاز ظاهري Azure (VM) أو جهاز ظاهري للخدمة السحابية مخصص لمعالجة جزء من حمل عمل التطبيق الخاص بك. يحدد حجم عقدة عدد الذواكر الأساسية للمعالج وسعة الذاكرة وحجم نظام الملفات المحلية التي يتم تخصيصها للعقدة.
يمكنك إنشاء تجمعات من عقد Windows أو لينكس باستخدام خدمات السحابة Azure أو الصور من سوق الأجهزة الظاهرية Azure أو الصور المخصصة التي تُعدها.
يمكن للعقد تشغيل أي ملف قابل للتنفيذ أو برنامج نصي مدعوم من قبِل بيئة نظام التشغيل للعقدة. تتضمن الملفات التنفيذية أو البرامج النصية البرامج النصية *.exe و *.cmd و *.bat و PowerShell (على سبيل Windows) والبرامج النصية الثنائيات و shell و Python (لنظام التشغيل Linux).
تشمل جميع عقد الحساب في الدُفعة أيضاً:
- بنية مجلد قياسية ومتغيرات البيئة ذات الصلة التي تتوافر للرجوع إليها حسب المهام.
- إعدادات جدار الحماية التي تم تكوينها للتحكم في الوصول.
- الوصول عن بعد إلى كل من Windows (بروتوكول سطح مكتب بعيد) وعقد Linux (Shell آمن) (إلا إذا قمت بإنشاء تجمع مع تعطيل الوصول عن بعد).
بشكل افتراضي، يمكن اتصال العقد مع بعضها البعض، ولكن لا يمكنها الاتصال مع الأجهزة الظاهرية التي ليست جزءاً من نفس التجمع. للسماح للعقد بالاتصال بأمان مع الأجهزة الظاهرية الأخرى، أو مع شبكة محلية؛ يمكنك توفير التجمع في شبكة فرعية من Azure virtual network (VNet). عند القيام بذلك، يمكن الوصول إلى العقد الخاصة بك من خلال عناوين IP العامة. يتم إنشاء عناوين IP العامة هذه عبر الدُفعة وقد تتغير خلال عمر التجمع. يمكنك أيضا إنشاء تجمع يحتوي على عناوين IP عامة ثابتة تتحكم فيها، مما يضمن عدم تغييرها بشكل غير متوقع.
التجمعات
التجمع عبارة عن مجموعة العقد التي يعمل عليها التطبيق الخاص بك.
يتم إنشاء تجمعات Azure Batch أعلى النظام الأساسي للذاكرة الأساسية لحساب Azure. أنها توفر تخصيصاً على نطاق واسع، وتثبيت التطبيق، وتوزيع البيانات، ورصد الصحة، والتعديل المرن (التحجيم) لعدد عقد الحساب داخل تجمع.
يتم تعيين اسم فريد وعنوان IP لكل عقدة يتم إضافتها إلى تجمع. عند إزالة عقدة من تجمع، يتم فقدان أي تغييرات يتم إجراؤها على نظام التشغيل أو الملفات، ويتم إصدار الاسم وعنوان IP للاستخدام في المستقبل. عندما تترك عقدة تجمعاً، يكون عمرها قد انتهى.
يمكن استخدام تجمع فقط من قبِل حساب الدفعة الذي تم إنشاؤه فيه. يمكن لحساب الدُفعة إنشاء تجمعات متعددة لتلبية متطلبات الموارد للتطبيقات التي سوف يشغّلها.
يمكن إنشاء التجمع يدوياً أو تلقائياً عبر خدمة الدُفعة عندما تحدد العمل الذي سيتم القيام به. عند إنشاء تجمع، يمكنك تحديد السمات التالية:
- العقد والتجمعات في Azure Batch
هام
تحتوي حسابات الدفعات على حصة نسبية افتراضية تقيد عدد الذواكر الأساسية في حساب الدفعة. يتوافق عدد الذواكر الأساسية مع عدد عقد الحساب. يمكنك العثور على الحصص النسبية الافتراضية والإرشادات حول كيفية زيادة الحصة النسبية في الحصص النسبية والحدود لخدمة Azure Batch. إذا لم يحقق التجمع رقم العقد المستهدف، فقد تكون الحصة النسبية الأساسية هي السبب.
نظام التشغيل وإصداره
عند إنشاء تجمع دُفعة، يمكنك تحديد تكوين الجهاز الظاهري Azure ونوع نظام التشغيل الذي تريد تشغيله على كل عقدة حساب في التجمع.
التكوينات
هناك نوعان من تكوينات التجمع متوفران في الدُفعة.
هام
بينما يمكنك حالياً إنشاء تجمعات باستخدام أي من التكوينين، يجب تكوين تجمعات جديدة باستخدام تكوين الجهاز الظاهري وليس تكوين الخدمات السحابية. سيتم دعم جميع ميزات الدُفعات الحالية والجديدة عبر تجمعات تكوين الجهاز الظاهري. لا تدعم تجمعات تكوين الخدمات السحابية جميع الميزات ولا يتم التخطيط لإمكانيات جديدة. لن تتمكن من إنشاء تجمعات "cloudServiceConfiguration" جديدة أو إضافة عقد جديدة إلى التجمعات الحالية بعد 29 فبراير 2024.
تكوين الجهاز الظاهري
يحدد تكوين الجهاز الظاهري أن التجمع يتكون من أجهزة Azure الظاهرية. يمكن إنشاء هذه الأجهزة الظاهرية من Linux أو صور Windows.
عامل عقدة الدُفعة هو برنامج يعمل على كل عقدة في التجمع ويوفر واجهة الأمر والتحكم بين العقدة وخدمة الدُفعة. هناك تطبيقات مختلفة لعامل العقدة، والمعروفة باسم وحدة حفظ المخزون، لأنظمة تشغيل مختلفة. عند إنشاء تجمع استناداً إلى تكوين الجهاز الظاهري، يجب عليك تحديد ليس فقط حجم العقد ومصدر الصور المُستخدمة في إنشائها، ولكن أيضاً مرجع صورة الجهاز الظاهريووحدة حفظ المخزون لعامل عقدة الدُفعة ليتم تثبيتها على العقد. لمزيد من المعلومات حول تحديد خصائص التجمع، راجع توفير Linux لعقد الحساب في تجمعات Azure Batch. يمكنك إرفاق قرص بيانات فارغ أو أكثر بشكل اختياري لتجميع الأجهزة الظاهرية التي تم إنشاؤها من صور Marketplace، أو تضمين أقراص البيانات في الصور المخصصة المُستخدمة لإنشاء الأجهزة الظاهرية. عند تضمين أقراص البيانات، تحتاج إلى إدخال وتنسيق الأقراص داخل الجهاز الظاهري لاستخدامها.
تكوين الخدمات السحابية
تحذير
تجمعات تكوين الخدمات السحابية مهملة. الرجاء استخدام تجمعات تكوين الجهاز الظاهري بدلاً من ذلك. لمزيد من المعلومات، راجع ترحيل تكوين تجمع الدُفعة من الخدمات السحابية إلى الجهاز الظاهري.
يحدد تكوين الخدمات السحابية أن التجمع يتكون من عقد خدمات سحابة Azure. توفر الخدمات السحابية عقد حساب Windows فقط.
يتم سرد أنظمة التشغيل المتوفرة لتجمعات تكوين الخدمات السحابية في إصدارات نظام التشغيل الضيف Azure ومصفوفة توافق عدة تطوير البرامج، ويتم سرد أحجام عقدة الحساب المتوفرة في أحجام الخدمات السحابية. عند إنشاء تجمع يحتوي على عقد الخدمات السحابية، يمكنك تحديد حجم العقدة ومجموعة نظام التشغيل الخاصة بها (التي تحدد أي إصدارات .NET مثبتة مع نظام التشغيل). يتم توزيع الخدمات السحابية في Azure بسرعة أكبر من الأجهزة الظاهرية التي تعمل على Windows. إذا كنت تريد تجمعات عقد حساب Windows، فقد تجد أن الخدمات السحابية توفر ميزة أداء من حيث وقت التوزيع.
كما هو الحال مع أدوار العاملين داخل الخدمات السحابية، يمكنك تحديد إصدار نظام التشغيل. نوصي بتحديد Latest (*) إصدار نظام التشغيل بحيث تتم ترقية العقد تلقائياً، ولا يوجد أي عمل مطلوب لتلبية احتياجات الإصدارات التي تم إصدارها حديثاً. حالة الاستخدام الأساسي لتحديد إصدار نظام تشغيل معين هي ضمان توافق التطبيق، والذي يسمح بإجراء اختبار توافق الإصدارات السابقة قبل السماح بتحديث الإصدار. بعد التحقق من الصحة، يمكن تحديث إصدار نظام التشغيل للتجمع ويمكن تثبيت صورة نظام التشغيل الجديد. ستتم مقاطعة أي مهام قيد التشغيل وإعادة تشغيلها.
وحدة حفظ المخزون لعامل العقدة
عند إنشاء تجمع، تحتاج إلى تحديد nodeAgentSkuId المناسبة اعتماداً على نظام التشغيل للصورة الأساسية لوسيط VHD الخاص بك. يمكنك الحصول على تعيين معرفات SKU عامل عقدة متوفرة إلى مراجع صورة نظام التشغيل الخاصة بهم عن طريق استدعاء عملية "قائمة معتمدة لـ SKU عامل العقدة".
صور مخصصة لتجمعات الجهاز الظاهري
لمعرفة كيفية إنشاء تجمع مع الصور المخصصة، راجع استخدام Azure Compute Gallery لإنشاء تجمع مخصص.
بدلاً من ذلك، يمكنك إنشاء تجمع مخصص من الأجهزة الظاهرية باستخدام مورد صورة مدارة. للحصول على معلومات حول إعداد صور Linux مخصصة من أجهزة Azure الظاهرية، راجع كيفية إنشاء صورة لجهاز ظاهري أو VHD. للحصول على معلومات حول إعداد صور Windows مخصصة من أجهزة Azure الظاهرية، راجع إنشاء صورة مدارة لجهاز ظاهري معمم في Azure.
دعم الحاوية في تجمعات الجهاز الظاهري
عند إنشاء تجمع تكوين الجهاز الظاهري باستخدام واجهات برمجة التطبيقات الدفعية، يمكنك إعداد التجمع لتشغيل المهام في حاويات Docker. حالياً، يجب إنشاء تجمع باستخدام صورة تدعم حاويات Docker. استخدم مركز بيانات Windows Server 2016 مع صورة الحاويات من سوق Azure، أو قم بتوفير صورة جهاز ظاهري مخصصة تتضمن إصدار مجتمع Docker أو إصدار المؤسسة وأي برامج تشغيل مطلوبة. يجب أن تتضمن إعدادات التجمع تكوين حاوية ينسخ صور حاوية إلى الأجهزة الظاهرية عند إنشاء التجمع. يمكن للمهام التي تعمل على التجمع الإشارة إلى صور الحاوية وخيارات تشغيل الحاوية.
لمزيد من المعلومات، راجع تشغيل تطبيقات حاوية Docker على Azure Batch.
نوع العقدة والهدف
عند إنشاء تجمع، يمكنك تحديد أنواع العقد التي تريدها والرقم المستهدف لكل منها. نوعان العقد هما:
- العقد المخصصة. يتم حجز عقد حساب مخصصة لأحمال العمل الخاصة بك. إنها أغلى من العقد الفورية ، ولكن من المؤكد أنها لن يتم استباقها أبدا.
- العقد الموضعية. تستفيد العقد الفورية من السعة الفائضة في Azure لتشغيل أحمال عمل الدفعات. العقد الفورية أقل تكلفة في الساعة من العقد المخصصة ، وتمكن أعباء العمل التي تتطلب طاقة حوسبة كبيرة. لمزيد من المعلومات، راجع استخدام الأجهزة الظاهرية الفورية مع الدفعة.
قد يتم استباق العقد الفورية عندما يكون لدى Azure سعة فائضة غير كافية. إذا تم استباق عقدة أثناء تشغيل المهام، تتم إعادة تنشيط المهام وتشغيلها مرة أخرى بمجرد توفر عقدة حساب مرة أخرى. تعد العقد الفورية خيارا جيدا لأحمال العمل حيث يكون وقت إكمال المهمة مرنا ويتم توزيع العمل عبر العديد من العقد. قبل أن تقرر استخدام عقد Spot للسيناريو الخاص بك ، تأكد من أن أي عمل مفقود بسبب الاستباقية سيكون ضئيلا وسهل إعادة إنشائه.
يمكنك الحصول على كل من Spot وعقد الحوسبة المخصصة في نفس المجموعة. لكل نوع من العقدة إعداد الهدف الخاص به، والذي يمكنك تحديد العدد المطلوب من العقد له.
يشار إلى عدد العقد المحسوبة كهدف لأنه في بعض الحالات، قد لا يصل التجمع إلى العدد المطلوب من العقد. على سبيل المثال، قد لا يحقق التجمع الهدف إذا وصل إلى الحصة النسبية الأساسية لحساب الدُفعة أولاً. أو، قد لا يحقق التجمع الهدف إذا طبقت صيغة التحجيم التلقائي إلى التجمع الذي يحد من الحد الأقصى لعدد العقد.
للحصول على معلومات التسعير لكل من Spot والعقد المخصصة، راجع تسعير الدفعات.
حجم العقدة
عند إنشاء تجمع Azure Batch، يمكنك الاختيار من بين جميع مجموعات الأجهزة الظاهرية والأحجام المتوفرة في Azure. تقدم Azure مجموعة من أحجام الأجهزة الظاهرية لأحمال العمل المختلفة، بما في ذلك أحجام الأجهزة الظاهرية المُمكنة بـ HPC أو GPU. لاحظ أنه يمكن اختيار أحجام العقد فقط في وقت إنشاء التجمع. بمعنى آخر، بمجرد إنشاء تجمع، يتعذر تغيير حجم عقده.
لمزيد من المعلومات، راجع اختر حجم جهاز ظاهري لعقد الحساب في تجمع Azure Batch.
نهج التحجيم التلقائي
بالنسبة لأحمال العمل الديناميكية، يمكنك تطبيق نهج التحجيم التلقائي على تجمع. ستقوم خدمة الدُفعات بتقييم الصيغة بشكل دوري، كما تقوم بتعديل عدد العقد داخل التجمع بشكل ديناميكي وفقا لحمل العمل الحالي واستخدام الموارد الخاصين بالسيناريو الخاص بك. يسمح لك هذا بخفض التكلفة الإجمالية لتشغيل التطبيق باستخدام الموارد التي تحتاجها فقط، والإفراج عن الموارد التي لا تحتاج إليها.
تُمكّن التحجيم التلقائي عن طريق كتابة صيغة التحجيم التلقائي وربط هذه الصيغة بتجمع. تستخدم خدمة الدُفعة الصيغة لتحديد عدد العقد المستهدف في التجمع للفاصل الزمني التالي للتحجيم (فاصل زمني يمكنك تكوينه). يمكنك تحديد إعدادات التحجيم التلقائية لتجمع عند إنشائه، أو تمكين التحجيم على تجمع لاحقاً. يمكنك أيضاً تحديث إعدادات التحجيم على تجمع مُمكَّن به التحجيم.
على سبيل المثال، ربما تتطلب وظيفة إرسال عدد كبير من المهام لتنفيذها. يمكنك تعيين صيغة تحجيم للتجمع الذي يضبط عدد العقد في التجمع استناداً إلى العدد الحالي للمهام المدرجة في قائمة الانتظار ومعدل إكمال المهام في الوظيفة. تقوم خدمة الدفعة بتقييم الصيغة بشكل دوري، وتعيد تحديد حجم التجمع، استناداً إلى حمل العمل وإعدادات الصيغة الأخرى. تضيف الخدمة العقد حسب الحاجة عند وجود عدد كبير من المهام في قائمة الانتظار، وتزيل العقد عندما لا تكون هناك مهام بقائمة الانتظار أو قيد التشغيل.
يمكن أن تستند صيغة التحجيم إلى المقاييس التالية:
- تستند مقاييس الوقت إلى الإحصائيات التي يتم جمعها كل خمس دقائق في عدد الساعات المحدد.
- تستند مقاييس الموارد إلى استخدام CPU واستخدام النطاق الترددي واستخدام الذاكرة وعدد العقد.
- تستند مقاييس المهام إلى حالة المهمة، مثل نشط (في قائمة الانتظار) أو قيد التشغيل أو مكتملة.
عند تقليل التحجيم التلقائي لعدد عقد الحساب في تجمع، يجب مراعاة كيفية معالجة المهام التي يتم تشغيلها في وقت عملية التقليل. لاستيعاب هذا، توفر الدُفعة خيار إلغاء تخصيص عقدة الذي يمكنك تضمينه في الصيغ الخاصة بك. على سبيل المثال، يمكنك تحديد إيقاف المهام قيد التشغيل مباشرة ثم وضعها بقائمة الانتظار للتنفيذ على عقدة أخرى أو السماح بالإنهاء قبل إزالة العقدة من التجمع. لاحظ أن تعيين خيار إلغاء تخصيص العقدة كما taskcompletion أو retaineddata سيمنع عمليات تغيير حجم التجمع حتى يتم إكمال جميع المهام أو انتهاء صلاحية جميع فترات الاحتفاظ بالمهمة على التوالي.
لمزيد من المعلومات حول تحجيم تطبيق تلقائيا، راجع قياس عقد الحساب تلقائياً في تجمع Azure Batch.
تلميح
لتعظيم استخدام موارد الحساب، قم بتعيين العدد المستهدف للعقد إلى الصفر في نهاية الوظيفة مع السماح بإنهاء المهام قيد التشغيل.
نهج جدولة المهام
يحدد خيار الحد الأقصى للمهام لكل تكوين عقدة الحد الأقصى لعدد المهام التي يمكن تشغيلها بالتوازي على كل عقدة حساب داخل التجمع.
يحدد التكوين الافتراضي تشغيل مهمة واحدة في كل مرة على عقدة، ولكن هناك سيناريوهات حيث يكون من المفيد تنفيذ مهمتين أو أكثر على عقدة في وقت واحد. راجع مثال السيناريو في مقالة مهام العقد المتزامنة لمعرفة كيف يمكنك الاستفادة من مهام متعددة لكل عقدة.
يمكنك أيضاً تحديد نوع تعبئة، الذي يحدد ما إذا كانت الدُفعة تنشر المهام بالتساوي عبر جميع العقد في تجمع، أو حزم كل عقدة مع الحد الأقصى لعدد المهام قبل تعيين المهام إلى عقدة أخرى.
حالة الاتصال
في معظم السيناريوهات، تعمل المهام بشكل مستقل ولا تحتاج إلى التواصل مع بعضها البعض. ومع ذلك، هناك بعض التطبيقات التي يجب أن تتصل المهام مع بعضها، مثل سيناريوهات MPI.
يمكنك تكوين تجمع للسماح بالاتصال الداخلي بحيث يمكن اتصال العقد داخل تجمع في وقت التشغيل. عند تمكين الاتصال الداخلي، يمكن للعقد في تجمعات تكوين الخدمات السحابية الاتصال مع بعضها البعض على منافذ أكبر من 1100، ولا تقيد تجمعات تكوين الجهاز الظاهري حركة المرور على أي منفذ.
يؤثر تمكين الاتصال الداخلي أيضاً على موضع العقد داخل المجموعات وقد يحد من الحد الأقصى لعدد العقد في تجمع بسبب قيود النشر. إذا كان تطبيقك لا يتطلب الاتصال بين العقد، يمكن أن تخصص خدمة الدفعة عدداً كبيراً من العقد إلى التجمع من العديد من المجموعات ومراكز البيانات المختلفة لتمكين زيادة قوة المعالجة المتوازية.
بدء المهام
إذا رغبت في ذلك، يمكنك إضافة مهمة بدء التي سيتم تنفيذها على كل عقدة كما أن العقدة تنضم إلى التجمع، وفي كل مرة تتم إعادة تشغيل عقدة أو إعادة تصورها. مهمة البدء مفيدة بشكل خاص لإعداد عقد الحساب لتنفيذ المهام، مثل تثبيت التطبيقات التي تشغلها المهام الخاصة بك على عقد الحساب.
حزم التطبيق
يمكنك تحديد حزم التطبيقات لنشرها على عقد الحساب في التجمع. توفر حزم التطبيقات نشراً مبسطاً وتعيين إصدارات للتطبيقات التي تقوم مهامك بتشغيلها. يتم تثبيت حزم التطبيقات التي تحددها لتجمع على كل عقدة تنضم إلى هذا التجمع، وفي كل مرة تتم إعادة تمهيد العقدة أو تصورها.
لمزيد من المعلومات حول استخدام حزم التطبيقات لنشر التطبيقات الخاصة بك إلى العقد الدفعية، راجع نشر التطبيقات لعقد الحساب مع حزم التطبيقات الدفعية.
تكوين الشبكة الظاهرية (VNet) وجدار الحماية
عند توفير تجمع من عقد الحساب في دُفعة، يمكنك إقران التجمع مع شبكة فرعية من Azure virtual network (VNet). لاستخدام Azure VNet؛ يجب أن تستخدم واجهة برمجة تطبيقات عميل الدُفعة مصادقة AAD (دليل Azure النشط). تم توثيق دعم Azure Batch لـ Microsoft Azure Active Directory في مصادقة حلول الخدمة المجمعة باستخدام Active Directory.
متطلبات VNet
المتطلبات العامة
يجب أن تكون الشبكة الظاهرية في نفس الاشتراك والمنطقة مثل حساب الدفعة التي تستخدمها لإنشاء تجمع الخاص بك.
يجب أن تكون لدى الشبكة الفرعية المحددة للتجمع عناوين IP غير معينة كافية لاستيعاب عدد VMs المستهدفة للتجمع؛ أي مجموع خصائص
targetDedicatedNodesوtargetLowPriorityNodesللتجمع. إذا لم تكن لدى الشبكة الفرعية عناوين IP غير معينة كافية، فإن التجمع يخصص عقد الحساب جزئيًا، ويحدث خطأ في تغيير الحجم.يجب حل نقطة نهاية تخزين Azure بواسطة أي خوادم DNS مخصصة تخدم VNet. على وجه التحديد ، عناوين URL للنموذج
<account>.table.core.windows.net،<account>.queue.core.windows.net<account>.blob.core.windows.netويجب أن تكون قابلة للحل.يمكن إنشاء تجمعات متعددة في نفس VNet أو في نفس الشبكة الفرعية (طالما أنها تحتوي على مساحة عنوان كافية). لا يمكن أن توجد مجموعة واحدة عبر العديد من VNets أو الشبكات الفرعية.
تختلف متطلبات VNet الإضافية، اعتمادا على ما إذا كان تجمع الدفعات في تكوين الجهاز الظاهري أو تكوين الخدمات السحابية. لعمليات نشر التجمع الجديدة في VNet، يوصى بتكوين الجهاز الظاهري.
التجمعات في تكوين الجهاز الظاهري
VNets المدعومة - مجموعات VNets المستندة إلى Resource Manager Azure فقط
معرف الشبكة الفرعية - عند تحديد الشبكة الفرعية باستخدام واجهات برمجة التطبيقات الدفعية، استخدم معرف المورد الخاص بالشبكة الفرعية. معرف الشبكة الفرعية هو من النموذج:
/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/virtualNetworks/{network}/subnets/{subnet}
الأذونات - تحقق مما إذا كانت سياسات الأمان أو الأقفال على اشتراك VNet أو مجموعة الموارد تقيد أذونات المستخدم لإدارة VNet.
موارد الشبكات الإضافية - يقوم Batch تلقائيا بإنشاء موارد شبكات إضافية في مجموعة الموارد التي تحتوي على VNet.
هام
لكل 100 عقد مخصصة أو منخفضة الأولوية ، تقوم Batch بإنشاء ما يلي: مجموعة أمان شبكة واحدة (NSG) ، وعنوان IP عام واحد ، وموازن تحميل واحد. تعد هذه الموارد مقيدة بـ الحصص النسبية للموارد للاشتراك. بالنسبة إلى التجمعات الكبيرة، ربما تحتاج إلىطلب زيادة الحصة النسبية لواحد أو أكثر من هذه الموارد.
مجموعات أمان الشبكة: افتراضي دفعي
يجب أن تسمح الشبكة الفرعية بالاتصال الوارد من خدمة Batch لتتمكن من جدولة المهام على عقد الحوسبة والاتصالات الصادرة للاتصال ب Azure Storage أو الموارد الأخرى حسب حاجة عبء العمل الخاص بك. بالنسبة للتجمعات في تكوين الجهاز الظاهري، يضيف Batch NSGs على مستوى واجهات الشبكة (NICs) المرفقة بعقد الحوسبة. يتم تكوين مجموعات موردي المواد النووية هذه وفقا للقواعد الإضافية التالية:
- حركة مرور TCP الواردة على المنفذين 29876 و 29877 من عناوين IP لخدمة الدفعات التي تتوافق
BatchNodeManagementمع علامة الخدمة. - حركة مرور TCP الواردة على المنفذ 22 (عقد Linux) أو المنفذ 3389 (عقد Windows) للسماح بالوصول عن بعد. بالنسبة لأنواع معينة من المهام متعددة المثيلات على Linux (مثل MPI) ، ستحتاج أيضا إلى السماح بحركة مرور منفذ SSH 22 لعناوين IP في الشبكة الفرعية التي تحتوي على عقد الحوسبة الدفعية. قد يتم حظر هذا وفقا لقواعد NSG على مستوى الشبكة الفرعية (انظر أدناه).
- حركة المرور الصادرة على أي منفذ إلى الشبكة الظاهرية. ويمكن تعديل ذلك وفقا لقواعد مجموعة موردي المواد النووية على مستوى الشبكة الفرعية (انظر أدناه).
- حركة المرور الصادرة على أي منفذ إلى الإنترنت. ويمكن تعديل ذلك وفقا لقواعد مجموعة موردي المواد النووية على مستوى الشبكة الفرعية (انظر أدناه).
هام
توخ الحذر إذا قمت بتعديل أو إضافة قواعد واردة أو صادرة في NSGs التي تم تكوينها دفعة واحدة. إذا تم رفض الاتصال بعقد الحوسبة في الشبكة الفرعية المحددة بواسطة NSG، فستقوم خدمة الدفعات بتعيين حالة عقد الحوسبة إلى غير قابلة للاستخدام. بالإضافة إلى ذلك، لا ينبغي تطبيق أي تأمين للموارد على أي مورد تم إنشاؤه بواسطة الدفعة، لأن هذا يمكن أن يمنع تنظيف الموارد نتيجة للإجراءات التي بدأها المستخدم مثل حذف تجمع.
مجموعات أمان الشبكة: تحديد قواعد على مستوى الشبكة الفرعية
إذا كان لديك NSG مقترن بالشبكة الفرعية حيث يتم نشر عقد الحوسبة الدفعية، أو إذا كنت ترغب في تطبيق قواعد NSG مخصصة لتجاوز الإعدادات الافتراضية المطبقة، فيجب عليك تكوين NSG هذا باستخدام قواعد الأمان الواردة والصادرة الموضحة في الجداول التالية على الأقل.
قم بتكوين حركة المرور الواردة على المنفذ 3389 (Windows) أو 22 (Linux) فقط إذا كنت بحاجة إلى السماح بالوصول عن بعد إلى عقد الحوسبة من مصادر خارجية. قد تحتاج إلى تمكين قواعد المنفذ 22 على Linux إذا كنت بحاجة إلى دعم للمهام متعددة المثيلات مع أوقات تشغيل MPI معينة. إن السماح بحركة المرور على هذه المنافذ ليس مطلوبا بشكل صارم حتى تكون عقد حوسبة التجمع قابلة للاستخدام.
تحذير
يمكن أن تتغير عناوين IP للخدمة الدفعية بمرور الوقت. لذلك، نوصي بشدة باستخدام BatchNodeManagement علامة الخدمة (أو متغير إقليمي) لقواعد NSG المشار إليها في الجداول التالية. تجنب ملء قواعد NSG بعناوين IP محددة لخدمة الدفعات.
قواعد الأمان الواردة
| عناوين IP المصدر | علامة خدمة المصدر | منافذ المصدر | الوجهة | منافذ الوجهة | البروتوكول | إجراء |
|---|---|---|---|---|---|---|
| غير متوفر | BatchNodeManagementعلامة الخدمة (في حالة استخدام متغير إقليمي، في نفس المنطقة مثل حساب الدفعة) |
* | أي | 29876-29877 | بروتوكول تحكم الإرسال | السماح |
| عناوين IP لمصدر المستخدم للوصول عن بعد إلى عقد الحوسبة و/أو الشبكة الفرعية لعقدة الحوسبة لمهام Linux متعددة المثيلات، إذا لزم الأمر. | غير متوفر | * | أي | 3389 (Windows)، 22 (لينكس) | بروتوكول تحكم الإرسال | السماح |
قواعد الأمان الصادرة
| المصدر | منافذ المصدر | الوجهة | علامة خدمة الوجهة | منافذ الوجهة | البروتوكول | إجراء |
|---|---|---|---|---|---|---|
| أي | * | علامة الخدمة | Storage (في حالة استخدام متغير إقليمي، في نفس المنطقة مثل حساب الدفعة) |
443 | بروتوكول تحكم الإرسال | السماح |
| أي | * | علامة الخدمة | BatchNodeManagement (في حالة استخدام متغير إقليمي، في نفس المنطقة مثل حساب الدفعة) |
443 | بروتوكول تحكم الإرسال | السماح |
مطلوب الصادر إلى BatchNodeManagement للاتصال بخدمة الدفعات من عقد الحوسبة مثل مهام مدير الوظائف.
التجمعات في تكوين الخدمات السحابية
تحذير
تجمعات تكوين الخدمات السحابية مهملة. الرجاء استخدام تجمعات تكوين الجهاز الظاهري بدلاً من ذلك.
VNets المدعومة - VNets الكلاسيكية فقط
معرف الشبكة الفرعية - عند تحديد الشبكة الفرعية باستخدام واجهات برمجة التطبيقات الدفعية، استخدم معرف المورد الخاص بالشبكة الفرعية. معرف الشبكة الفرعية هو من النموذج:
/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.ClassicNetwork /virtualNetworks/{network}/subnets/{subnet}
الأذونات - Microsoft Azure Batch يجب أن يكون Classic Virtual Machine Contributor لأصل الخدمة دور Azure ل VNet المحدد.
مجموعات أمان الشبكة
يجب أن تسمح الشبكة الفرعية بالاتصال الوارد من خدمة Batch لتتمكن من جدولة المهام على عقد الحوسبة والاتصالات الصادرة للاتصال ب Azure Storage أو الموارد الأخرى.
لا تحتاج إلى تحديد NSG ، لأن Batch يقوم بتكوين الاتصال الوارد فقط من عناوين IP الدفعية إلى عقد التجمع. ومع ذلك، إذا كانت الشبكة الفرعية المحددة مرتبطة بمجموعات موردي المواد النووية و/أو جدار حماية، فقم بتكوين قواعد الأمان الواردة والصادرة كما هو موضح في الجداول التالية. إذا تم رفض الاتصال بعقد الحوسبة في الشبكة الفرعية المحددة بواسطة NSG، تقوم خدمة Batch بتعيين حالة عقد الحوسبة إلى غير قابلة للاستخدام.
قم بتكوين حركة المرور الواردة على المنفذ 3389 Windows إذا كنت بحاجة إلى السماح بوصول RDP إلى عقد التجمع. هذا غير مطلوب لكي تكون عقد التجمع قابلة للاستخدام.
قواعد الأمان الواردة
| عناوين IP المصدر | منافذ المصدر | الوجهة | منافذ الوجهة | البروتوكول | إجراء |
|---|---|---|---|---|---|
| أي على الرغم من أن هذا يتطلب "السماح للجميع" بشكل فعال، تطبق خدمة الدفعات قاعدة ACL على مستوى كل عقدة تقوم بتصفية جميع عناوين IP للخدمة غير الدفعية. |
* | أي | 10100, 20100, 30100 | بروتوكول تحكم الإرسال | السماح |
| اختياري، للسماح ل RDP بالوصول إلى عقد الحوسبة. | * | أي | 3389 | بروتوكول تحكم الإرسال | السماح |
قواعد الأمان الصادرة
| المصدر | منافذ المصدر | الوجهة | منافذ الوجهة | البروتوكول | إجراء |
|---|---|---|---|---|---|
| أي | * | أي | 443 | أي | السماح |
لمزيد من المعلومات حول إعداد تجمع دفعي في VNet، راجع إنشاء تجمع من الأجهزة الظاهرية باستخدام الشبكة الظاهرية.
تلميح
للتأكد من عدم تغيير عناوين IP العامة المستخدمة للوصول إلى العقد، يمكنك إنشاء تجمع بعناوين IP عامة محددة تتحكم فيها.
مدة عمر عقدة الحساب والتجمع
عند تصميم الحل Azure Batch، يجب تحديد كيفية وتوقيت إنشاء التجمعات، ومدة الحفاظ على توفر عقد الحساب في تلك التجمعات.
على أحد طرفي الطيف، يمكنك إنشاء تجمع لكل مهمة ترسلها، وحذف التجمع بمجرد انتهاء تنفيذ مهامه. يؤدي هذا إلى زيادة الاستفادة لأن العقد يتم تخصيصها فقط عند الحاجة، ويتم إيقافها بمجرد أن تكون خاملة. في حين يعني هذا أن المهمة يجب أن تنتظر العقد المقرر تخصيصها، من المهم ملاحظة جدولة المهام للتنفيذ بمجرد تخصيص العقد بشكل فردي وإكمال مهمة البدء. لا تنتظر الدفعة حتى تتوفر جميع العقد داخل تجمع قبل تعيين المهام إلى العقد. وهذا يضمن أقصى قدر من الاستخدام لجميع العقد المتاحة.
في الطرف الآخر من الطيف، إذا كان بدء الوظائف على الفور هو الأولوية القصوى، يمكنك إنشاء تجمع في وقت مبكر وجعل العقد الخاصة به متاحة قبل إرسال الوظائف. في هذا السيناريو، يمكن بدء المهام مباشرة، ولكن العقد قد تظل خاملة أثناء انتظار تعيينها.
عادة ما يتم استخدام نهج مشترك لمعالجة تحميل متغير ومستمر في آن واحد. يمكنك الحصول على تجمع يتم فيه إرسال وظائف متعددة، ويمكنك تغيير حجم عدد العقد لأكثر أو لأقل وفقاً لتحميل الوظيفة. يمكنك القيام بذلك بشكل تفاعلي، استناداً إلى الحمل الحالي، أو بشكل استباقي، إذا كان يمكن التنبؤ بالحمل. لمزيد من المعلومات، راجع نهج التحجيم التلقائي.
التجمع التلقائي
التجمع التلقائي هو تجمع يتم إنشاؤه بواسطة خدمة الدفعة عند إرسال وظيفة، بدلاً من إنشائه قبل الوظائف التي سيتم تشغيلها في التجمع. سوف تدير خدمة الدفعة عمر التجمع التلقائي وفقاً للخصائص التي تحددها. في أغلب الأحيان، يتم تعيين هذه التجمعات أيضاً للحذف تلقائياً بعد إكمال وظائفها.
الأمان والشهادات
تحتاج عادة إلى استخدام الشهادات عند تشفير أو فك تشفير المعلومات الحساسة للمهام، مثل مفتاح حساب تخزين Azure. لدعم هذا، يمكنك تثبيت الشهادات على العقد. يتم تمرير الأسرار المشفرة إلى المهام عبر معلمات سطر الأوامر أو تضمينها في أحد موارد المهمة، ويمكن استخدام الشهادات المثبتة لفك تشفيرها.
يمكنك استخدام عملية إضافة شهادة (دفعة REST) أو أسلوب CertificateOperations.CreateCertificate (دفعة .NET) لإضافة شهادة إلى حساب دفعي. يمكنك بعد ذلك إقران الشهادة بتجمع جديد أو قائم.
عند اقتران شهادة بتجمع، تثبت خدمة الدفعة الشهادة على كل عقدة في التجمع. تثبت خدمة الدفعة الشهادات المناسبة عند بدء تشغيل العقدة، قبل بدء تشغيل أي مهام (بما في ذلك مهمة البدء ومهمة job manager).
إذا قمت بإضافة شهادة إلى تجمع قائم، يجب إعادة تمهيد عقد الحساب كي يتم تطبيق الشهادة على العقد.
الخطوات التالية
- تعرف على الوظائف والمهام.
- تعرف على كيفية اكتشاف وتجنب الإخفاقات في عمليات خلفية التجمع والعقد.