مشاركة عبر


تكوين الوصول عن بعد لحساب العقد في تجمع Azure Batch

إذا تم تكوينه، يمكنك السماح لمستخدم عقدة لديه اتصال بالشبكة بالاتصال خارجيا بعقدة حساب في تجمع Batch. على سبيل المثال، يمكن للمستخدم الاتصال عن طريق سطح المكتب البعيد (سطح المكتب البعيد) على المنفذ 3389 بعقدة حسابية في تجمع Windows. وبالمثل، افتراضياً، يمكن للمستخدم الاتصال عن طريق Secure Shell (SSH) على المنفذ 22 إلى عقدة حسابية في مجموعة Linux.

إشعار

اعتبارا من إصدار 2024-07-01 واجهة برمجة التطبيقات (وجميع التجمعات التي تم إنشاؤها بعد 30 نوفمبر 2025 بغض النظر عن إصدار واجهة برمجة التطبيقات)، لم يعد Batch يقوم تلقائيا بتعيين منافذ الوصول عن بعد الشائعة ل SSH وRDP. إذا كنت ترغب في السماح بالوصول عن بعد إلى عقد حساب الدفعات مع التجمعات التي تم إنشاؤها باستخدام إصدار واجهة برمجة التطبيقات أو إصدار 2024-07-01 أحدث (وبعد 30 نوفمبر 2025)، فيجب عليك تكوين تكوين نقطة نهاية التجمع يدويا لتمكين هذا الوصول.

في بيئتك، قد تحتاج إلى تمكين إعدادات الوصول الخارجي أو تقييدها أو تعطيلها أو أي منافذ أخرى تريدها في تجمع الدفعات. يمكنك تعديل هذه الإعدادات باستخدام واجهات برمجة تطبيقات Batch لتعيين خاصية PoolEndpointConfiguration .

تكوين نقطة نهاية تجمع الدفعات

يتكون تكوين نقطة النهاية من تجمع واحد أو أكثر من تجمعات ترجمة عناوين الشبكة (NAT) من منافذ الواجهة الأمامية. لا تخلط بين تجمع NAT وتجمع الدفعات لعقد الحوسبة. يمكنك إعداد كل تجمع NAT لتجاوز إعدادات الاتصال الافتراضية على عقد حساب التجمع.

يتضمن كل تكوين تجمع NAT قاعدة واحدة أو أكثر من قواعد مجموعة أمان الشبكة (NSG). تسمح كل قاعدة من قواعد مجموعة أمان الشبكة بنسبة استخدام معينة على الشبكة إلى نقطة النهاية أو ترفضها. يمكنك اختيار السماح أو رفض كل حركة المرور أو حركة المرور التي تم تحديدها بواسطة علامة خدمة (مثل "الإنترنت") أو حركة المرور من عناوين IP أو شبكات فرعية معينة.

الاعتبارات

  • تكوين نقطة نهاية التجمع هو جزء من تكوين شبكة التجمع. يمكن أن يتضمن تكوين الشبكة اختياريا إعدادات للانضمام إلى التجمع إلى شبكة Azure الظاهرية. إذا قمت بإعداد التجمع في شبكة افتراضية، يمكنك إنشاء قواعد مجموعة موردي المواد النووية التي تستخدم إعدادات العنوان في الشبكة الافتراضية.
  • يمكنك تكوين العديد من قواعد مجموعة أمان الشبكة عند تكوين تجمع ترجمة عناوين الشبكة. يتم فحص القواعد بترتيب الأولوية. بمجرد تطبيق القاعدة، لا يتم اختبار المزيد من القواعد للمطابقة.

مثال: السماح بنسبة استخدام سطح المكتب البعيد من عنوان IP محدد

يوضح مقتطف C# التالي كيفية تكوين نقطة نهاية RDP على عقد الحوسبة في تجمع Windows للسماح بوصول RDP فقط من عنوان IP 198.168.100.7. ترفض قاعدة NSG الثانية نسبة استخدام الشبكة التي لا تتطابق مع عنوان IP.

using Microsoft.Azure.Batch;
using Microsoft.Azure.Batch.Common;

namespace AzureBatch
{
    public void SetPortsPool()
    {
        pool.NetworkConfiguration = new NetworkConfiguration
        {
            EndpointConfiguration = new PoolEndpointConfiguration(new InboundNatPool[]
            {
                new InboundNatPool("RDP", InboundEndpointProtocol.Tcp, 3389, 7500, 8000, new NetworkSecurityGroupRule[]
                {
                    new NetworkSecurityGroupRule(179, NetworkSecurityGroupRuleAccess.Allow, "198.168.100.7"),
                    new NetworkSecurityGroupRule(180, NetworkSecurityGroupRuleAccess.Deny, "*")
                })
            })
        };
    }
}

مثال: السماح بنسبة استخدام SSH من شبكة فرعية محددة

يوضح مقتطف Python التالي كيفية تكوين نقطة نهاية SSH على عقد الحوسبة في تجمع Linux للسماح بالوصول فقط من الشبكة الفرعية 192.168.1.0/24. ترفض قاعدة NSG الثانية نسبة استخدام الشبكة التي لا تتطابق مع الشبكة الفرعية.

from azure.batch import models as batchmodels

class AzureBatch(object):
    def set_ports_pool(self, **kwargs):
        pool.network_configuration = batchmodels.NetworkConfiguration(
            endpoint_configuration=batchmodels.PoolEndpointConfiguration(
                inbound_nat_pools=[batchmodels.InboundNATPool(
                    name='SSH',
                    protocol='tcp',
                    backend_port=22,
                    frontend_port_range_start=4000,
                    frontend_port_range_end=4100,
                    network_security_group_rules=[
                        batchmodels.NetworkSecurityGroupRule(
                            priority=170,
                            access='allow',
                            source_address_prefix='192.168.1.0/24'
                        ),
                        batchmodels.NetworkSecurityGroupRule(
                            priority=175,
                            access='deny',
                            source_address_prefix='*'
                        )
                    ]
                )
                ]
            )
        )

مثال: رفض كل نسبة استخدام سطح المكتب البعيد

يوضح مقتطف C # التالي كيفية تكوين نقطة نهاية سطح المكتب البعيد على عقد الحساب في مجموعة Windows لرفض كل نسبة استخدام الشبكة. تستخدم نقطة النهاية تجمع الواجهة الأمامية من المنافذ في النطاق 60000 - 60099.

إشعار

اعتبارا من إصدار 2024-07-01Batch API، لم يعد المنفذ 3389 المقترن عادة ب RDP معينا بشكل افتراضي. لم يعد إنشاء قاعدة رفض صريحة مطلوبا إذا لم تكن هناك حاجة إلى الوصول من الإنترنت لتجمعات الدفعات التي تم إنشاؤها باستخدام إصدار واجهة برمجة التطبيقات هذا أو إصدار أحدث. قد لا تزال بحاجة إلى تحديد قواعد رفض صريحة لتقييد الوصول من مصادر أخرى.

using Microsoft.Azure.Batch;
using Microsoft.Azure.Batch.Common;

namespace AzureBatch
{
    public void SetPortsPool()
    {
        pool.NetworkConfiguration = new NetworkConfiguration
        {
            EndpointConfiguration = new PoolEndpointConfiguration(new InboundNatPool[]
            {
              new InboundNatPool("RDP", InboundEndpointProtocol.Tcp, 3389, 60000, 60099, new NetworkSecurityGroupRule[]
                {
                    new NetworkSecurityGroupRule(162, NetworkSecurityGroupRuleAccess.Deny, "*"),
                })
            })
        };
    }
}

مثال: رفض كل نسبة استخدام SSH من الإنترنت

يوضح مقتطف Python التالي كيفية تكوين نقطة نهاية SSH على عقد الحساب في مجموعة Linux لرفض كل نسبة استخدام الإنترنت. تستخدم نقطة النهاية تجمع الواجهة الأمامية من المنافذ في النطاق 4000 - 4100.

إشعار

اعتبارا من إصدار 2024-07-01Batch API ، لم يعد المنفذ 22 المقترن عادة ب SSH معينا بشكل افتراضي. لم يعد إنشاء قاعدة رفض صريحة مطلوبا إذا لم تكن هناك حاجة إلى الوصول من الإنترنت لتجمعات الدفعات التي تم إنشاؤها باستخدام إصدار واجهة برمجة التطبيقات هذا أو إصدار أحدث. قد لا تزال بحاجة إلى تحديد قواعد رفض صريحة لتقييد الوصول من مصادر أخرى.

from azure.batch import models as batchmodels

class AzureBatch(object):
    def set_ports_pool(self, **kwargs):
        pool.network_configuration = batchmodels.NetworkConfiguration(
            endpoint_configuration=batchmodels.PoolEndpointConfiguration(
                inbound_nat_pools=[batchmodels.InboundNATPool(
                    name='SSH',
                    protocol='tcp',
                    backend_port=22,
                    frontend_port_range_start=4000,
                    frontend_port_range_end=4100,
                    network_security_group_rules=[
                        batchmodels.NetworkSecurityGroupRule(
                            priority=170,
                            access=batchmodels.NetworkSecurityGroupRuleAccess.deny,
                            source_address_prefix='Internet'
                        )
                    ]
                )
                ]
            )
        )

الخطوات التالية