استخدام نقاط النهاية الخاصة لخدمة Azure SignalR

يمكنك استخدام نقاط النهاية الخاصة لخدمة Azure SignalR للسماح للعملاء على شبكة ظاهرية (VNet) بالوصول إلى البيانات بأمان عبر ارتباط خاص. تستخدم نقطة النهاية الخاصة عنوان IP من مساحة عنوان VNet لخدمة Azure SignalR. تعبر نسبة استخدام الشبكة بين العملاء على VNet وAzure SignalR Service عبر رابط خاص على شبكة Microsoft الأساسية، مما يلغي التعرض من الإنترنت العام.

يتيح لك استخدام نقاط النهاية الخاصة لخدمة Azure SignalR ما يلي:

  • تأمين خدمة Azure SignalR باستخدام التحكم في الوصول إلى الشبكة لحظر جميع الاتصالات على نقطة النهاية العامة لخدمة Azure SignalR.
  • زيادة الأمان للشبكة الظاهرية (VNet) عن طريق تمكينك من حظر النقل غير المصرح للبيانات من VNet.
  • الاتصال بأمان بخدمات Azure SignalR من الشبكات المحلية التي تتصل بالشبكة الظاهرية باستخدام VPN أو ExpressRoutes مع نظير خاص.

توضح لك هذه المقالة كيفية استخدام نقاط النهاية الخاصة لخدمة Azure SignalR.

نظرة عامة منطقية

Overview of private endpoints for Azure SignalR Service

نقطة النهاية الخاصة هي واجهة شبكة خاصة لخدمة Azure في الشبكة الظاهرية (VNet). عند إنشاء نقطة نهاية خاصة لخدمة Azure SignalR، فإنها توفر اتصالا آمنا بين العملاء على VNet والخدمة الخاصة بك. يتم تعيين عنوان IP لنقطة النهاية الخاصة من نطاق عناوين IP الخاص بشبكة VNet لديك. يستخدم الاتصال بين نقطة النهاية الخاصة وخدمة Azure SignalR ارتباطا خاصا آمنا.

يمكن للتطبيقات في VNet الاتصال بخدمة Azure SignalR عبر نقطة النهاية الخاصة بسلاسة، باستخدام نفس سلسلة الاتصال وآليات التخويل التي ستستخدمها بخلاف ذلك. يمكن استخدام نقاط النهاية الخاصة مع جميع البروتوكولات التي تدعمها خدمة Azure SignalR، بما في ذلك REST API.

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

يمكن لمالكي خدمة Azure SignalR إدارة طلبات الموافقة ونقاط النهاية الخاصة، من خلال علامة التبويب "نقاط النهاية الخاصة" لخدمة Azure SignalR في مدخل Microsoft Azure.

تلميح

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

الاتصال بنقاط النهاية الخاصة

يجب على العملاء على VNet الذين يستخدمون نقطة النهاية الخاصة استخدام نفس سلسلة الاتصال لخدمة Azure SignalR، حيث يتصل العملاء بنقطة النهاية العامة. نعتمد على دقة DNS لتوجيه الاتصالات تلقائيا من VNet إلى خدمة Azure SignalR عبر ارتباط خاص.

هام

استخدم نفس سلسلة الاتصال للاتصال بخدمة Azure SignalR باستخدام نقاط النهاية الخاصة، كما ستستخدم خلاف ذلك. يرجى عدم الاتصال بخدمة Azure SignalR باستخدام عنوان URL للمجال الفرعي الخاص بها privatelink .

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

تغييرات DNS لنقاط النهاية الخاصة

عند إنشاء نقطة نهاية خاصة، يتم تحديث سجل مورد DNS CNAME لخدمة Azure SignalR إلى اسم مستعار في مجال فرعي بالبادئة privatelink. بشكل افتراضي، نقوم أيضا بإنشاء منطقة DNS خاصة، مطابقة للمجال privatelink الفرعي، مع سجلات موارد DNS A لنقاط النهاية الخاصة.

عند حل اسم مجال Azure SignalR Service من خارج VNet مع نقطة النهاية الخاصة، فإنه يحل إلى نقطة النهاية العامة لخدمة Azure SignalR. عند حلها من VNet التي تستضيف نقطة النهاية الخاصة، يتم حل اسم المجال إلى عنوان IP لنقطة النهاية الخاصة.

في المثال الموضح، ستكون سجلات موارد DNS لخدمة Azure SignalR 'foobar'، عند حلها من خارج الشبكة الظاهرية التي تستضيف نقطة النهاية الخاصة:

الاسم النوع القيمة‬
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net ش <عنوان IP العام لخدمة Azure SignalR>

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

ستكون سجلات موارد DNS ل "foobar"، عند حلها بواسطة عميل في الشبكة الظاهرية التي تستضيف نقطة النهاية الخاصة:

الاسم النوع القيمة‬
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net ش 10.1.1.5

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

إذا كنت تستخدم خادم DNS مخصصا على شبكتك، يجب أن يكون العملاء قادرين على حل FQDN لنقطة نهاية خدمة Azure SignalR إلى عنوان IP لنقطة النهاية الخاصة. يجب تكوين خادم DNS لتفويض المجال الفرعي للارتباط الخاص بك إلى منطقة DNS الخاصة للشبكة الظاهرية، أو تكوين سجلات A ل foobar.privatelink.service.signalr.net مع عنوان IP لنقطة النهاية الخاصة.

تلميح

عند استخدام خادم DNS مخصص أو محلي، يجب تكوين خادم DNS الخاص بك لحل اسم خدمة Azure SignalR في privatelink المجال الفرعي إلى عنوان IP لنقطة النهاية الخاصة. يمكنك القيام بذلك عن طريق تفويض النطاق الفرعي privatelink إلى منطقة DNS الخاصة في VNet أو عن طريق تكوين منطقة DNS على خادم DNS وإضافة سجلات DNS A.

اسم منطقة DNS الموصى به لنقاط النهاية الخاصة لخدمة Azure SignalR هو: privatelink.service.signalr.net.

لمزيد من المعلومات حول تكوين خادم DNS الخاص بك لدعم نقاط النهاية الخاصة، راجع المقالات التالية:

قم بإنشاء نقطة نهاية خاصة

إنشاء نقطة نهاية خاصة مع خدمة Azure SignalR جديدة في مدخل Microsoft Azure

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

    Create Azure SignalR Service - Networking tab

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

    Create Azure SignalR Service - Add private endpoint

  3. حدد "Review + create".

إنشاء نقطة نهاية خاصة لخدمة Azure SignalR موجودة في مدخل Microsoft Azure

  1. انتقل إلى Azure SignalR Service.

  2. حدد في قائمة الإعدادات التي تسمى اتصالات نقطة النهاية الخاصة.

  3. حدد الزر + نقطة النهاية الخاصة في الأعلى.

    Private endpoint connections blade

  4. أدخل الاشتراك ومجموعة الموارد واسم المورد والمنطقة لنقطة النهاية الخاصة الجديدة.

    Create private endpoint - Basics

  5. اختر مورد خدمة Azure SignalR الهدف.

    Create private endpoint - Resource

  6. اختيار الشبكة الظاهرية المستهدفة

    Create private endpoint - Configuration

  7. حدد "Review + create".

إنشاء نقطة نهاية خاصة باستخدام Azure CLI

  1. تسجيل الدخول إلى Azure CLI
    az login
    
  2. تعيين اشتراك Azure الخاص بك
    az account set --subscription {AZURE SUBSCRIPTION ID}
    
  3. إنشاء مجموعة موارد جديدة
    az group create -n {RG} -l {AZURE REGION}
    
  4. تسجيل Microsoft.SignalRService كموفر
    az provider register -n Microsoft.SignalRService
    
  5. إنشاء خدمة Azure SignalR جديدة
    az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
    
  6. إنشاء شبكة ظاهرية
    az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
    
  7. إضافة شبكة فرعية
    az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
    
  8. تعطيل نهج الشبكة الظاهرية
    az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
    
  9. إضافة منطقة DNS خاصة
    az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
    
  10. ربط منطقة DNS الخاصة بالشبكة الظاهرية
    az network private-dns link vnet create --resource-group {RG} --virtual-network {vNet NAME} --zone-name privatelink.service.signalr.net --name {dnsZoneLinkName} --registration-enabled true
    
  11. إنشاء نقطة نهاية خاصة (الموافقة تلقائيا)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION}
    
  12. إنشاء نقطة نهاية خاصة (طلب الموافقة يدويا)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION} --manual-request
    
  13. إظهار حالة الاتصال
    az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
    

التسعير

للحصول على تفاصيل التسعير، راجع تسعير Azure Private Link.

المشكلات المعروفة

ضع في اعتبارك المشكلات المعروفة التالية حول نقاط النهاية الخاصة لخدمة Azure SignalR

المستوى المجاني

لا يمكنك إنشاء أي نقطة نهاية خاصة لخدمة Azure SignalR من المستوى المجاني.

قيود الوصول للعملاء في VNets مع نقاط النهاية الخاصة

يواجه العملاء في VNets الذين لديهم نقاط نهاية خاصة موجودة قيودا عند الوصول إلى مثيلات Azure SignalR Service الأخرى التي تحتوي على نقاط نهاية خاصة. على سبيل المثال:

  • عندما يكون لدى VNet N1 نقطة نهاية خاصة لمثيل خدمة Azure SignalR S1
    • إذا كان لدى Azure SignalR Service S2 نقطة نهاية خاصة في VNet N2، يجب على العملاء في VNet N1 أيضا الوصول إلى Azure SignalR Service S2 باستخدام نقطة نهاية خاصة.
    • إذا لم يكن لدى Azure SignalR Service S2 أي نقاط نهاية خاصة، يمكن للعملاء في VNet N1 الوصول إلى خدمة Azure SignalR في هذا الحساب دون نقطة نهاية خاصة.

هذا القيد هو نتيجة لتغييرات DNS التي تم إجراؤها عندما تقوم خدمة Azure SignalR Service S2 بإنشاء نقطة نهاية خاصة.

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