تأمين بيئة تدريب التعلم الآلي من Microsoft Azure مع الشبكات الظاهرية

ينطبق على: Python SDK azure-ai-ml v2 (الحالي)

تلميح

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

يمكن استخدام مثيل حساب Azure التعلم الآلي والحوسبة بلا خادم والمجموعة الحسابية لتدريب النماذج بأمان في شبكة Azure الظاهرية. عند تخطيط بيئتك، يمكنك تكوين مثيل الحساب/نظام المجموعة أو الحوسبة بلا خادم مع عنوان IP عام أو بدونه. الاختلافات العامة بين الاثنين هي:

  • لا يوجد IP عام: يقلل من التكاليف لأنه لا يحتوي على نفس متطلبات موارد الشبكات. يحسن الأمان عن طريق إزالة متطلبات حركة المرور الواردة من الإنترنت. ومع ذلك، هناك تغييرات تكوين إضافية مطلوبة لتمكين الوصول الصادر إلى الموارد المطلوبة (معرف Microsoft Entra، Azure Resource Manager، وما إلى ذلك).
  • IP العام: يعمل بشكل افتراضي، ولكنه يكلف أكثر بسبب موارد شبكة Azure الإضافية. يتطلب اتصالا واردا من خدمة Azure التعلم الآلي عبر الإنترنت العام.

يحتوي الجدول التالي على الاختلافات بين هذه التكوينات:

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

يمكنك أيضا استخدام Azure Databricks أو HDInsight لتدريب النماذج في شبكة ظاهرية.

هام

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

هذه المقالة هي جزء من سلسلة حول تأمين سير عمل التعلم الآلي من Azure. يرجى مراجعة المقالات الأخرى في هذه السلسلة:

للحصول على برنامج تعليمي حول إنشاء مساحة عمل آمنة، راجع البرنامج التعليمي: إنشاء مساحة عمل آمنة أو البرنامج التعليمي: إنشاء مساحة عمل آمنة باستخدام قالب.

في هذه المقالة، ستتعلم كيفية تأمين موارد حساب التدريب التالية في شبكة ظاهرية:

  • نظام مجموعة حساب التعلم الآلي من Azure
  • مثيل حساب التعلم الآلي من Azure
  • حساب Azure التعلم الآلي بلا خادم
  • Azure Databricks
  • الجهاز الظاهري
  • مجموعة HDInsight

المتطلبات الأساسية

  • اقرأ مقالة نظرة عامة على أمان الشبكة للتعرّف على سيناريوهات الشبكة الظاهرية الشائعة وبنية الشبكة الظاهرية الشاملة.

  • شبكة ظاهرية وشبكة فرعية موجودة لاستخدامها مع موارد الحوسبة الخاصة بك. يجب أن تكون الشبكة الظاهرية هذه في نفس الاشتراك مثل مساحة عمل Azure التعلم الآلي.

    • نوصي بوضع حسابات التخزين المستخدمة من قبل مساحة العمل ووظائف التدريب في نفس منطقة Azure التي تخطط لاستخدامها لمثيلات الحوسبة والحوسبة بلا خادم والمجموعات. إذا لم تكن في نفس منطقة Azure، فقد تتحمل تكاليف نقل البيانات وزيادة زمن انتقال الشبكة.
    • تأكد من أن اتصال WebSocket مسموح به إلى *.instances.azureml.net الشبكة الظاهرية الخاصة بك وفيها *.instances.azureml.ms . يتم استخدام WebSockets بواسطة Jupyter على مثيلات الحساب.
  • شبكة فرعية موجودة في الشبكة الظاهرية. يتم استخدام هذه الشبكة الفرعية عند إنشاء مثيلات الحوسبة والمجموعات والعقد للحوسبة بلا خادم.

    • تأكد من أن الشبكة الفرعية غير مفوضة إلى خدمات Azure الأخرى.
    • تأكد من أن الشبكة الفرعية تحتوي على عناوين IP مجانية كافية. يتطلب كل مثيل حساب عنوان IP واحد. تتطلب كل عقدة داخل مجموعة حساب وكل عقدة حساب بلا خادم عنوان IP واحد.
  • إذا كان لديك خادم DNS الخاص بك، نوصي باستخدام إعادة توجيه DNS لحل أسماء المجالات المؤهلة بالكامل (FQDN) لمثيلات الحوسبة والمجموعات. لمزيد من المعلومات، راجع استخدام DNS مخصص مع Azure التعلم الآلي.

  • لتوزيع الموارد في شبكة ظاهرية أو شبكة فرعية، يجب أن يكون لحساب المستخدم الخاص بك أذونات للإجراءات التالية في التحكم في الوصول استناداً إلى الدور في Azure (Azure RBAC):

    • "Microsoft.Network/*/read" على مورد الشبكة الظاهرية. هذا الإذن غير مطلوب لنشر قالب Azure Resource Manager (ARM).
    • "Microsoft.Network/virtualNetworks/join/action" على مورد الشبكة الافتراضية.
    • "Microsoft.Network/virtualNetworks/subnets/join/action" على مورد الشبكة الفرعية.

    لمزيد من المعلومات حول Azure RBAC مع الشبكات، راجع الأدوار المضمنة في الشبكات

القيود

  • لا يتم دعم حوسبة نظام المجموعة/المثيل ونشر الحوسبة بلا خادم في الشبكة الظاهرية مع Azure Lighthouse.

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

حساب نظام المجموعة في شبكة ظاهرية/منطقة مختلفة من مساحة العمل

هام

لا يمكنك إنشاء مثيل حساب في منطقة/شبكة ظاهرية مختلفة، فقط مجموعة حساب.

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

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

هام

بغض النظر عن الأسلوب المحدد، يجب أيضا إنشاء VNet لمجموعة الحوسبة؛ لن يقوم Azure التعلم الآلي بإنشائه نيابة عنك.

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

السيناريو: تناظر الشبكة الظاهرية

  1. تكوين مساحة العمل لاستخدام شبكة Azure الظاهرية. لمزيد من المعلومات، راجع تأمين موارد مساحة العمل.

  2. إنشاء شبكة Azure ظاهرية ثانية سيتم استخدامها لمجموعات الحوسبة الخاصة بك. يمكن أن يكون في منطقة Azure مختلفة عن تلك المستخدمة لمساحة العمل الخاصة بك.

  3. تكوين تناظر الشبكة الظاهرية بين شبكتي VNets.

    تلميح

    انتظر حتى يتم الاتصال حالة تناظر VNet قبل المتابعة.

  4. privatelink.api.azureml.ms تعديل منطقة DNS لإضافة ارتباط إلى VNet لمجموعة الحوسبة. يتم إنشاء هذه المنطقة بواسطة مساحة عمل Azure التعلم الآلي عندما تستخدم نقطة نهاية خاصة للمشاركة في VNet.

    1. إضافة ارتباط شبكة ظاهرية جديد إلى منطقة DNS. يمكنك القيام بذلك بطرق متعددة:

      • من مدخل Microsoft Azure، انتقل إلى منطقة DNS وحدد Virtual network links. ثم حدد + إضافة وحدد الشبكة الظاهرية التي قمت بإنشائها لمجموعات الحوسبة الخاصة بك.
      • من Azure CLI، استخدم az network private-dns link vnet create الأمر . لمزيد من المعلومات، راجع az network private-dns link vnet create.
      • من Azure PowerShell، استخدم New-AzPrivateDnsVirtualNetworkLink الأمر . لمزيد من المعلومات، راجع New-AzPrivateDnsVirtualNetworkLink.
  5. كرر الخطوة السابقة والخطوات الفرعية privatelink.notebooks.azure.net لمنطقة DNS.

  6. تكوين موارد Azure التالية للسماح بالوصول من كلا VNets.

    • حساب التخزين الافتراضي لمساحة العمل.
    • سجل حاوية Azure لمساحة العمل.
    • Azure Key Vault لمساحة العمل.

    تلميح

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

  7. قم بإنشاء نظام مجموعة حساب كما تفعل عادة عند استخدام VNet، ولكن حدد VNet التي قمت بإنشائها لمجموعة الحوسبة. إذا كانت الشبكة الظاهرية في منطقة مختلفة، فحدد تلك المنطقة عند إنشاء نظام مجموعة الحوسبة.

    تحذير

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

السيناريو: نقطة النهاية الخاصة

  1. تكوين مساحة العمل لاستخدام شبكة Azure الظاهرية. لمزيد من المعلومات، راجع تأمين موارد مساحة العمل.

  2. إنشاء شبكة Azure ظاهرية ثانية سيتم استخدامها لمجموعات الحوسبة الخاصة بك. يمكن أن يكون في منطقة Azure مختلفة عن تلك المستخدمة لمساحة العمل الخاصة بك.

  3. إنشاء نقطة نهاية خاصة جديدة لمساحة العمل الخاصة بك في VNet التي ستحتوي على نظام مجموعة الحوسبة.

    • لإضافة نقطة نهاية خاصة جديدة باستخدام مدخل Microsoft Azure، حدد مساحة العمل الخاصة بك ثم حدد Networking. حدد اتصالات نقطة النهاية الخاصة، + نقطة النهاية الخاصة واستخدم الحقول لإنشاء نقطة نهاية خاصة جديدة.

      • عند تحديد Region، حدد نفس المنطقة مثل شبكتك الظاهرية.
      • عند تحديد Resource type، استخدم Microsoft.MachineLearningServices/workspaces.
      • تعيين Resource إلى اسم مساحة العمل.
      • قم بتعيين الشبكة الظاهرية والشبكة الفرعية إلى الشبكة الظاهرية والشبكة الفرعية التي قمت بإنشائها لمجموعات الحوسبة الخاصة بك.

      انقر على Create لإنشاء نقطة النهاية الخاصة.

    • لإضافة نقطة نهاية خاصة جديدة باستخدام Azure CLI، استخدم az network private-endpoint create. للحصول على مثال لاستخدام هذا الأمر، راجع تكوين نقطة نهاية خاصة لمساحة عمل Azure التعلم الآلي.

  4. قم بإنشاء نظام مجموعة حساب كما تفعل عادة عند استخدام VNet، ولكن حدد VNet التي قمت بإنشائها لمجموعة الحوسبة. إذا كانت الشبكة الظاهرية في منطقة مختلفة، فحدد تلك المنطقة عند إنشاء نظام مجموعة الحوسبة.

    تحذير

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

حساب مثيل/مجموعة أو حساب بلا خادم بدون عنوان IP عام

تحذير

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

هام

إذا كنت تستخدم مثيلات الحوسبة أو مجموعات الحوسبة التي تم تكوينها بدون عنوان IP عام دون الاشتراك في المعاينة، فستحتاج إلى حذفها وإعادة إنشائها بعد 20 يناير 2023 (عندما تكون الميزة متاحة بشكل عام).

إذا كنت تستخدم سابقا معاينة أي IP عام، فقد تحتاج أيضا إلى تعديل نسبة استخدام الشبكة التي تسمح بها الواردة والصادرة، حيث تغيرت المتطلبات للتوفر العام:

  • المتطلبات الصادرة - اثنان من الصادرات الإضافية، والتي تستخدم فقط لإدارة مثيلات الحوسبة والمجموعات. وجهة علامات الخدمة هذه مملوكة من قبل Microsoft:
    • AzureMachineLearning علامة الخدمة على منفذ UDP 5831.
    • BatchNodeManagement علامة الخدمة على منفذ TCP 443.

التكوينات التالية بالإضافة إلى تلك المدرجة في قسم المتطلبات الأساسية ، وهي خاصة بإنشاء مثيلات/مجموعات حساب تم تكوينها بدون عنوان IP عام. كما أنها تنطبق على الحوسبة بلا خادم:

  • يجب استخدام نقطة نهاية خاصة لمساحة العمل لمورد الحساب للاتصال بخدمات Azure التعلم الآلي من VNet. لمزيد من المعلومات، راجع تكوين نقطة نهاية خاصة لمساحة عمل التعلم الآلي من Microsoft Azure.

  • في الشبكة الظاهرية الخاصة بك، اسمح بنسبة استخدام الشبكة الصادرة إلى علامات الخدمة التالية أو أسماء المجالات المؤهلة بالكامل (FQDN):

    علامة الخدمة البروتوكول المنفذ ملاحظات
    AzureMachineLearning TCP
    بروتوكول مخطط بيانات المستخدم
    443/8787/18881
    5831
    الاتصال بخدمة Azure التعلم الآلي.
    BatchNodeManagement.<region> ANY 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. الاتصال ب Azure Batch. يتم تنفيذ مثيل الحساب والمجموعة الحسابية باستخدام خدمة Azure Batch.
    Storage.<region> TCP 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. يتم استخدام علامة الخدمة هذه للاتصال بحساب Azure Storage المستخدم بواسطة Azure Batch.

    هام

    يمكن استخدام الوصول الصادر إلى Storage.<region> لتصفية البيانات من مساحة العمل الخاصة بك. باستخدام نهج نقطة تقديم الخدمة، يمكنك التخفيف من هذه الثغرة الأمنية. لمزيد من المعلومات، راجع مقالة منع النقل غير مصرّح لبيانات التعلم الآلي من Azure.

    FQDN البروتوكول المنفذ ملاحظات
    <region>.tundra.azureml.ms بروتوكول مخطط بيانات المستخدم 5831 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي.
    graph.windows.net TCP 443 الاتصال بواجهة برمجة تطبيقات Microsoft Graph.
    *.instances.azureml.ms TCP 443/8787/18881 الاتصال ب Azure التعلم الآلي.
    *.<region>.batch.azure.com ANY 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. الاتصال ب Azure Batch.
    *.<region>.service.batch.azure.com ANY 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. الاتصال ب Azure Batch.
    *.blob.core.windows.net TCP 443 الاتصال بتخزين Azure Blob.
    *.queue.core.windows.net TCP 443 الاتصال بتخزين Azure Queue.
    *.table.core.windows.net TCP 443 الاتصال ب Azure Table storage.
  • بشكل افتراضي، لا يتمتع مثيل الحساب/نظام المجموعة المكون لأي عنوان IP عام بالوصول الصادر إلى الإنترنت. إذا كان بإمكانكالوصول إلى الإنترنت منه، فهذا بسبب الوصول الصادر الافتراضي إلى Azure ولديك NSG يسمح بالوصول الصادر إلى الإنترنت. ومع ذلك، لا نوصي باستخدام الوصول الصادر الافتراضي. إذا كنت بحاجة إلى الوصول الصادر إلى الإنترنت، نوصي باستخدام جدار حماية وقواعد صادرة أو بوابة NAT ومجموعات خدمة الشبكة للسماح بنسبة استخدام الشبكة الصادرة بدلا من ذلك.

    لمزيد من المعلومات حول نسبة استخدام الشبكة الصادرة التي يستخدمها Azure التعلم الآلي، راجع المقالات التالية:

    لمزيد من المعلومات حول علامات الخدمة التي يمكن استخدامها مع Azure Firewall، راجع مقالة علامات خدمة الشبكة الظاهرية .

استخدم المعلومات التالية لإنشاء مثيل حساب أو نظام مجموعة بدون عنوان IP عام:

في az ml compute create الأمر ، استبدل القيم التالية:

  • rg: مجموعة الموارد التي سيتم إنشاء الحساب فيها.
  • ws: اسم مساحة عمل Azure التعلم الآلي.
  • yourvnet: شبكة Azure الظاهرية.
  • yoursubnet: الشبكة الفرعية المراد استخدامها للحساب.
  • AmlComputeأو ComputeInstance: يؤدي تحديد AmlCompute إلى إنشاء نظام مجموعة حساب. ComputeInstanceينشئ مثيل حساب.
# create a compute cluster with no public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute --set enable_node_public_ip=False

# create a compute instance with no public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance --set enable_node_public_ip=False

استخدم المعلومات التالية لتكوين عقد حساب بلا خادم بدون عنوان IP عام في VNet لمساحة عمل معينة:

إنشاء مساحة عمل:

az ml workspace create -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
name: testserverlesswithnpip
location: eastus
public_network_access: Disabled
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: true

تحديث مساحة العمل:

az ml workspace update -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: true

حساب مثيل/مجموعة أو حساب بلا خادم مع IP عام

هام

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

التكوينات التالية بالإضافة إلى تلك المدرجة في قسم المتطلبات الأساسية ، وهي خاصة بإنشاء مثيلات الحساب/المجموعات التي لها IP عام. كما أنها تنطبق على الحوسبة بلا خادم:

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

    • يتم إنشاء مجموعة أمان الشبكة (NSG) تلقائيا. تسمح مجموعة أمان الشبكة هذه بنسبة استخدام الشبكة TCP الواردة على المنفذ 44224 من AzureMachineLearning علامة الخدمة.

      هام

      يقوم مثيل الحساب ونظام مجموعة الحساب تلقائيًا بإنشاء NSG مع القواعد المطلوبة.

      إذا كان لديك NSG آخر على مستوى الشبكة الفرعية، يجب ألا تتعارض القواعد في مستوى الشبكة الفرعية NSG مع القواعد الموجودة في NSG التي تم إنشاؤها تلقائيًا.

      لمعرفة كيفية تصفية NSGs لنسبة استخدام الشبكة، راجع كيفية تصفية NSGs لنسبة استخدام الشبكة.

    • موازن تحميل واحد

    بالنسبة إلى مجموعات الحوسبة، يتم حذف هذه الموارد في كل مرة يتم فيها تحجيم نظام المجموعة إلى 0 عقدة ويتم إنشاؤها عند التوسع.

    بالنسبة لمثيل حساب، يتم الاحتفاظ بهذه الموارد حتى يتم حذف المثيل. لا يؤدي إيقاف المثيل إلى إزالة الموارد.

    هام

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

  • في الشبكة الظاهرية الخاصة بك، اسمح بنسبة استخدام الشبكة TCP الواردة على المنفذ 44224 من AzureMachineLearning علامة الخدمة.

    هام

    يتم تعيين مثيل الحساب/نظام المجموعة ديناميكيا لعنوان IP عند إنشائه. نظرا لأن العنوان غير معروف قبل الإنشاء، والوصول الوارد مطلوب كجزء من عملية الإنشاء، فلا يمكنك تعيينه بشكل ثابت على جدار الحماية الخاص بك. بدلا من ذلك، إذا كنت تستخدم جدار حماية مع VNet، فيجب عليك إنشاء مسار معرف من قبل المستخدم للسماح بنسبة استخدام الشبكة الواردة هذه.

  • في الشبكة الظاهرية الخاصة بك، اسمح بنسبة استخدام الشبكة الصادرة إلى علامات الخدمة التالية:

    علامة الخدمة البروتوكول المنفذ ملاحظات
    AzureMachineLearning TCP
    بروتوكول مخطط بيانات المستخدم
    443/8787/18881
    5831
    الاتصال بخدمة Azure التعلم الآلي.
    BatchNodeManagement.<region> ANY 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. الاتصال ب Azure Batch. يتم تنفيذ مثيل الحساب والمجموعة الحسابية باستخدام خدمة Azure Batch.
    Storage.<region> TCP 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. يتم استخدام علامة الخدمة هذه للاتصال بحساب Azure Storage المستخدم بواسطة Azure Batch.

    هام

    يمكن استخدام الوصول الصادر إلى Storage.<region> لتصفية البيانات من مساحة العمل الخاصة بك. باستخدام نهج نقطة تقديم الخدمة، يمكنك التخفيف من هذه الثغرة الأمنية. لمزيد من المعلومات، راجع مقالة منع النقل غير مصرّح لبيانات التعلم الآلي من Azure.

    FQDN البروتوكول المنفذ ملاحظات
    <region>.tundra.azureml.ms بروتوكول مخطط بيانات المستخدم 5831 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي.
    graph.windows.net TCP 443 الاتصال بواجهة برمجة تطبيقات Microsoft Graph.
    *.instances.azureml.ms TCP 443/8787/18881 الاتصال ب Azure التعلم الآلي.
    *.<region>.batch.azure.com ANY 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. الاتصال ب Azure Batch.
    *.<region>.service.batch.azure.com ANY 443 استبدل <region> بمنطقة Azure التي تحتوي على مساحة عمل Azure التعلم الآلي. الاتصال ب Azure Batch.
    *.blob.core.windows.net TCP 443 الاتصال بتخزين Azure Blob.
    *.queue.core.windows.net TCP 443 الاتصال بتخزين Azure Queue.
    *.table.core.windows.net TCP 443 الاتصال ب Azure Table storage.

استخدم المعلومات التالية لإنشاء مثيل حساب أو نظام مجموعة بعنوان IP عام في VNet:

في az ml compute create الأمر ، استبدل القيم التالية:

  • rg: مجموعة الموارد التي سيتم إنشاء الحساب فيها.
  • ws: اسم مساحة عمل Azure التعلم الآلي.
  • yourvnet: شبكة Azure الظاهرية.
  • yoursubnet: الشبكة الفرعية المراد استخدامها للحساب.
  • AmlComputeأو ComputeInstance: يؤدي تحديد AmlCompute إلى إنشاء نظام مجموعة حساب. ComputeInstanceينشئ مثيل حساب.
# create a compute cluster with a public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute

# create a compute instance with a public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance

استخدم المعلومات التالية لتكوين عقد حساب بلا خادم بعنوان IP عام في VNet لمساحة عمل معينة:

إنشاء مساحة عمل:

az ml workspace create -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
name: testserverlesswithvnet
location: eastus
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: false

تحديث مساحة العمل:

az ml workspace update -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: false

Azure Databricks

  • يجب أن تكون الشبكة الظاهرية في نفس الاشتراك والمنطقة مثل مساحة عمل التعلم الآلي من Microsoft Azure.
  • إذا تم تأمين حساب (حسابات) تخزين Azure لمساحة العمل أيضًا في شبكة ظاهرية، فيجب أن تكون في نفس الشبكة الظاهرية مثل نظام مجموعة Azure Databricks.
  • بالإضافة إلى الشبكات الفرعية databricks-privateوdatabricks-public المستخدمة من قبل Azure Databricks، فإن الشبكة الفرعية الافتراضية التي تم إنشاؤها للشبكة الظاهرية مطلوبة أيضًا.
  • لا يستخدم Azure Databricks نقطة نهاية خاصة للاتصال بالشبكة الظاهرية.

لمعلومات محددة حول استخدام Azure Databricks في شبكة ظاهرية، راجع نشر Azure Databricks في شبكة Azure الظاهرية.

الجهاز الظاهري أو مجموعة HDInsight

في هذا القسم، ستتعلم كيفية استخدام جهاز ظاهري أو مجموعة Azure HDInsight في شبكة ظاهرية مع مساحة العمل الخاصة بك.

إنشاء الجهاز الظاهري أو نظام مجموعة HDInsight

هام

يدعم التعلم الآلي من Microsoft Azure الأجهزة الظاهرية التي تقوم بتشغيل Ubuntu فقط.

إنشاء جهاز ظاهري أو نظام مجموعة HDInsight باستخدام مدخل Microsoft Azure أو Azure CLI، ووضع نظام المجموعة في شبكة Azure الظاهرية. لمزيد من المعلومات، راجع المقالات التالية:

تكوين مداخل الشبكة

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

  1. في القائمة المنسدلةالمصدر، قم بتحديدعلامة الخدمة.

  2. في القائمة المنسدلة علامة الخدمة المصدر، حدد AzureMachineLearning.

    لقطة شاشة للقواعد الواردة لإجراء التجريب على جهاز ظاهري أو مجموعة HDInsight داخل شبكة ظاهرية.

  3. في القائمة المنسدلة نطاقات منفذ المصدر، حدد *.

  4. في القائمة المنسدلة الوجهة، حدد أي.

  5. في القائمة المنسدلة نطاقات منفذ الوجهة، حدد 22.

  6. بالنسبة لـالبروتوكول، حددAny.

  7. في الإجراء، حدد Allow.

احتفظ بالقواعد الصادرة الافتراضية لمجموعة أمان الشبكة. لمزيد من المعلومات، راجع قواعد الأمان الافتراضية في مجموعات الأمان.

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

إرفاق الجهاز الظاهري أو نظام مجموعة HDInsight

قم بإرفاق الجهاز الظاهري أو مجموعة HDInsight إلى مساحة عمل التعلم الآلي من Microsoft Azure. لمزيد من المعلومات، راجع إدارة موارد الحساب لتدريب النموذج والتوزيع في الاستوديو.

مطلوب وصول عام إلى الإنترنت لتدريب النماذج

هام

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

يتطلب التعلم الآلي من Azure الوصول الوارد والصادر إلى الإنترنت العام. توفر الجداول التالية نظرة عامة على الوصول المطلوب والغرض الذي يخدمه. أما بالنسبة لعلامات الخدمة التي تنتهي بـ.region، استبدل region بمنطقة Azure التي تحتوي على مساحة العمل الخاصة بك. على سبيل المثال، Storage.westus:

تلميح

تسرد علامة التبويب المطلوبة التكوين الوارد والصادر المطلوب. تسرد علامة التبويب الظرفية التكوينات الاختيارية الواردة والصادرة المطلوبة بواسطة تكوينات معينة قد ترغب في تمكينها.

الاتجاه البروتوكول
منافذ
علامة الخدمة الغرض
صادر TCP: 80، 443 AzureActiveDirectory المصادقة باستخدام معرف Microsoft Entra.
صادر TCP: 443، 18881
UDP: 5831
AzureMachineLearning استخدام خدمات التعلم الآلي من Azure.
يستخدم Python intellisense في دفاتر الملاحظات المنفذ 18881.
يستخدم إنشاء مثيل حساب Azure التعلم الآلي وتحديثه وحذفه المنفذ 5831.
صادر أي: 443 BatchNodeManagement.region الاتصال بالواجهة الخلفية ل Azure Batch لمثيلات/مجموعات حساب Azure التعلم الآلي.
صادر TCP: 443 AzureResourceManager إنشاء موارد Azure باستخدام Azure التعلم الآلي وAzure CLI وAzure التعلم الآلي SDK.
صادر TCP: 443 Storage.region الوصول إلى البيانات المخزنة في حساب تخزين Azure لنظام مجموعة الحساب ومثيل الحساب. للحصول على معلومات حول منع تسرب البيانات عبر هذه الصادرة، راجع حماية النقل غير المصرح للبيانات.
صادر TCP: 443 AzureFrontDoor.FrontEnd
* غير مطلوب في Microsoft Azure التي تديرها 21Vianet.
نقطة الإدخال العمومية لـاستوديو Azure التعلم الآلي في. عملية تخزين الصور والبيئات لـ AutoML. للحصول على معلومات حول منع تسرب البيانات عبر هذه الصادرة، راجع حماية النقل غير المصرح للبيانات.
صادر TCP: 443 MicrosoftContainerRegistry.region
لاحظ أن هذه العلامة لها تبعية على العلامة AzureFrontDoor.FirstParty
قم بالوصول إلى صور عامل الإرساء المقدمة من Microsoft. قم بإعداد موجه التعلم الآلي من Azure لخدمة Azure Kubernetes.

تلميح

في حالة كنت بحاجة إلى عناوين IP بدلًا من علامات الخدمة، فيمكنك استخدام أحد الخيارات التالية:

من المحتمل أن تتغير عناوين IP بشكل دوري.

قد تحتاج أيضًا إلى السماح بنسبة استخدام الشبكة الصادرة إلى تعليمات Visual Studio البرمجية والمواقع غير التابعة لـMicrosoft لتثبيت الحزم المطلوبة من قبل مشروع التعلم الآلي الخاص بك. يسرد الجدول التالي المستودعات شائعة الاستخدام للتعلم الآلي:

اسم المضيف الغرض
anaconda.com
*.anaconda.com
تستخدم لتثبيت الحزم الافتراضية.
*.anaconda.org تستخدم للحصول على بيانات المستودع.
pypi.org يُستخدم لسرد التبعيات من الفهرس الافتراضي، إن وجد، ولا تتم الكتابة فوق الفهرس بواسطة إعدادات المستخدم. إذا تم الكتابة فوق الفهرس، فيجب عليك أيضا السماح .*.pythonhosted.org
cloud.r-project.org يتم استخدامه عند تثبيت حزم CRAN لتطوير R.
*.pytorch.org يتم استخدامه من قبل بعض الأمثلة استنادًا إلى PyTorch.
*.tensorflow.org يتم استخدامه من قبل بعض الأمثلة استنادًا إلى Tensorflow.
code.visualstudio.com مطلوب لتنزيل وتثبيت Visual Studio Code لسطح المكتب. هذا غير مطلوب ل Visual Studio Code Web.
update.code.visualstudio.com
*.vo.msecnd.net
يستخدم لاسترداد وحدات بت خادم Visual Studio Code المثبتة على مثيل الحساب من خلال برنامج نصي للإعداد.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
مطلوب لتنزيل وتثبيت ملحقات Visual Studio Code. يقوم هؤلاء المضيفون بتمكين الاتصال عن بعد بمثيلات الحوسبة التي يوفرها ملحق التعلم الآلي من Azure ل Visual Studio Code. لمزيد من المعلومات، راجع الاتصال إلى مثيل حساب Azure التعلم الآلي في Visual Studio Code.
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* يتم استخدامه لاسترداد بتات خادم websocket، والتي يتم تثبيتها على مثيل الحوسبة. يتم استخدام خادم websocket لإرسال الطلبات من عميل Visual Studio Code (تطبيق سطح المكتب) إلى خادم Visual Studio Code الذي يعمل على مثيل الحساب.

إشعار

عند استخدام ملحق Azure التعلم الآلي VS Code، سيتطلب مثيل الحساب البعيد وصولا إلى المستودعات العامة لتثبيت الحزم المطلوبة من قبل الملحق. إذا كان مثيل الحساب يتطلب وكيلا للوصول إلى هذه المستودعات العامة أو الإنترنت، فستحتاج إلى تعيين وتصدير متغيرات البيئة و HTTP_PROXYHTTPS_PROXY في ~/.bashrc ملف مثيل الحساب. يمكن أتمتة هذه العملية في وقت التوفير باستخدام برنامج نصي مخصص.

عند استخدام خدمة Azure Kubernetes (AKS) مع التعلم الآلي من Azure، قم بالسماح بنسبة استخدام الشبكة التالية إلى شبكة AKS الظاهرية:

للحصول على معلومات حول استخدام حل جدار حماية، راجع استخدام جدار حماية مع التعلم الآلي من Microsoft Azure.

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

هذه المقالة هي جزء من سلسلة حول تأمين سير عمل التعلم الآلي من Azure. يرجى مراجعة المقالات الأخرى في هذه السلسلة: