دمج Azure Relay مع Azure Private Link

تمكنك خدمة Azure Private Link من الوصول إلى خدمات Azure (على سبيل المثال، Azure Relay، ناقل خدمة Azure، ومراكز أحداث Azure، وتخزين Azure، وAzure Cosmos DB) وخدمات العملاء/الشركاء المستضافة من Azure عبر نقطة نهاية خاصة في شبكتك الظاهرية. لمزيد من المعلومات، راجع ما هو ارتباط Azure الخاص؟

نقطة النهاية الخاصة هي واجهة شبكة تسمح لأحمال العمل التي تعمل في شبكة ظاهرية بالاتصال بشكل خاص وآمن بخدمة تحتوي على مورد ارتباط خاص (على سبيل المثال، مساحة اسم Relay). تستخدم نقطة النهاية الخاصة عنوان IP خاصًّا من الشبكة الظاهرية الخاصة بك، مما يؤدي إلى جلب الخدمة بشكل فعال إلى الشبكة الظاهرية الخاصة بك. يمكن توجيه جميع نسبة استخدام الشبكة إلى الخدمة من خلال نقطة النهاية الخاصة، لذلك لا يلزم وجود بوابات أو أجهزة NAT أو ExpressRoute أو اتصالات VPN أو عناوين IP العامة. قم بنقل البيانات بين شبكتك الظاهرية وخدمات الاجتياز عبر شبكة Microsoft الأساسية، مما يلغي التعرض للإنترنت العام. يمكنك توفير مستوى من النقاوة في التحكم في الوصول عن طريق السماح بالاتصالات بمساحات أسماء Azure Relay معينة.

إشعار

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

أضف نقطة نهاية خاصة باستخدام بوابة Azure

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

لدمج مساحة اسم Azure Relay مع Azure Private Link، تحتاج إلى الكيانات أو الأذونات التالية:

  • مساحة اسم Azure Relay.
  • شبكة Azure الظاهرية.
  • شبكة فرعية في الشبكة الظاهرية.
  • أذونات المالك أو المساهم على الشبكة الظاهرية.

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

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

تكوين الوصول الخاص لمساحة اسم Relay

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

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في شريط البحث، اكتب في Relays.

  3. حدد namespace من القائمة التي تريد إضافة نقطة نهاية خاصة إليها.

  4. في القائمة اليسرى، حدد علامة التبويب Networking ضمن الإعدادات.

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

  6. للسماح خدمات Microsoft الموثوق بها بتجاوز جدار الحماية هذا، حدد نعم إذا كنت تريد السماح خدمات Microsoft الموثوق بها بتجاوز جدار الحماية هذا.

    لقطة شاشة لصفحة الشبكات مع الوصول إلى الشبكة العامة على أنها معطل.

  7. حدد علامة التبويب Private endpoint connections في أعلى الصفحة

  8. حدد الزر + Private Endpoint أعلى الصفحة.

    لقطة شاشة تعرض تحديد الزر Add private endpoint في علامة التبويب Private endpoint connections في صفحة Networking.

  9. في صفحة Basics، اتبع الخطوات التالية:

    1. حدد Azure subscription المراد إنشاء نقطة النهاية الخاصة فيه.

    2. حدد resource group لمورد نقطة النهاية الخاصة.

    3. أدخل اسما لنقطة النهاية الخاصة.

    4. أدخل اسما لواجهة الشبكة.

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

    6. اضغط زر Next: Resource > أسفل الصفحة.

      لقطة شاشة تعرض صفحة الأساسيات لمعالج إنشاء نقطة نهاية خاصة.

  10. راجع الإعدادات في صفحة Resource ، وحدد Next: Virtual Network.

    لقطة شاشة تعرض صفحة الموارد لمعالج إنشاء نقطة نهاية خاصة.

  11. في صفحة الشبكة الظاهرية، حدد الشبكة الظاهرية والشبكة الفرعية حيث تريد نشر نقطة النهاية الخاصة. يتم سرد الشبكات الافتراضية فقط الموجودة في الاشتراك والموقع المحددين حاليًا في القائمة المنسدلة.

    لقطة شاشة تعرض صفحة الشبكة الظاهرية لمعالج إنشاء نقطة نهاية خاصة.

    يمكنك تكوين ما إذا كنت تريد تخصيص عنوان IP ديناميكيا أو تخصيص عنوان IP بشكل ثابت إلى نقطة النهاية الخاصة

    يمكنك أيضا إقران مجموعة أمان تطبيق جديدة أو موجودة بنقطة النهاية الخاصة.

  12. حدد التالي: DNS للانتقال إلى صفحة DNS للمعالج. في صفحة DNS ، يتم تمكين إعداد التكامل مع منطقة DNZ الخاصة بشكل افتراضي (مستحسن). لديك خيار لتعطيله.

    لقطة شاشة تعرض صفحة DNS لمعالج إنشاء نقطة نهاية خاصة.

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

  13. حدد الزر Next: Tags > أسفل الصفحة.

  14. في صفحة Tags ، قم بإنشاء أي علامات (أسماء وقيم) تريد إقرانها بنقطة النهاية الخاصة ومنطقة DNS الخاصة (إذا قمت بتمكين الخيار). ثم حدد زر مراجعة + إنشاء أسفل الصفحة.

  15. في مراجعة + إنشاء ، راجع جميع الإعدادات وحدد إنشاء لإنشاء نقطة النهاية الخاصة.

  16. في صفحة نقطة النهاية الخاصة، يمكنك مشاهدة حالة اتصال نقطة النهاية الخاصة. إذا كنت مالك مساحة اسم Relay أو لديك حق الوصول إلى الإدارة عبرها وحددت الاتصال إلى مورد Azure في خيار الدليل الخاص بي لأسلوب الاتصال، يجب الموافقة التلقائية على اتصال نقطة النهاية. إذا كان في حالة pending، فراجع قسم إدارة نقاط النهاية الخاصة باستخدام مدخل Microsoft Azure.

    لقطة شاشة تعرض صفحة نقطة النهاية الخاصة في مدخل Microsoft Azure.

  17. انتقل مرة أخرى إلى صفحة Networking لمساحة الاسم، وقم بالتبديل إلى علامة التبويب Private endpoint connections. يجب أن تشاهد نقطة النهاية الخاصة التي قمت بإنشائها.

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

أضف نقطة نهاية خاصة باستخدام PowerShell

يوضح لك المثال التالي كيفية استخدام Azure PowerShell لإنشاء اتصال نقطة نهاية خاصة بمساحة اسم Azure Relay.

يجب أن تكون نقطة النهاية الخاصة والشبكة الظاهرية في نفس المنطقة. يمكن أن تكون مساحة اسم Azure Relay في منطقة مختلفة. وتستخدم نقطة النهاية الخاصة عنوان IP خاصاً في شبكتك الظاهرية.


$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VNET LOCATION>"
$vnetName = "<VIRTUAL NETWORK NAME>"
$subnetName = "<SUBNET NAME>"
$namespaceLocation = "<NAMESPACE LOCATION>"
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>"

# create resource group
New-AzResourceGroup -Name $rgName -Location $vnetLocation 

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $rgName `
                    -Location $vnetlocation `
                    -Name $vnetName `
                    -AddressPrefix 10.0.0.0/16

# create subnet with endpoint network policy disabled
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
                    -Name $subnetName `
                    -AddressPrefix 10.0.0.0/24 `
                    -PrivateEndpointNetworkPoliciesFlag "Disabled" `
                    -VirtualNetwork $virtualNetwork

# update virtual network
$virtualNetwork | Set-AzVirtualNetwork

# create a relay namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Properties @{} -ResourceType "Microsoft.Relay/namespaces" 

# create a private link service connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name $peConnectionName `
                                -PrivateLinkServiceId $namespaceResource.ResourceId `
                                -GroupId "namespace"

# get subnet object that you'll use in the next step                                
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# now, create private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties


إدارة نقاط النهاية الخاصة باستخدام بوابة Azure

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

يوجد أربع حالات توفير:

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

قبول اتصال نقطة نهاية خاصة أو رفضه أو إزالته

  1. قم بتسجيل الدخول إلى بوابة Azure.
  2. في شريط البحث، اكتب في Relay.
  3. حدد namespace المراد إدارتها.
  4. حدد علامة التبويب Networking
  5. انتقل إلى القسم المناسب أدناه بناءً على العملية التي تريدها: الموافقة أو الرفض أو الإزالة.

الموافقة على اتصال نقطة نهاية خاصة

  1. إذا كانت هناك أي اتصالات معلقة، فسترى اتصالا مدرجا مع Pending في حالة التوفير.

  2. حدد private endpoint التي ترغب في الموافقة عليها

  3. حدد الزر Approve.

    لقطة شاشة تعرض زر الموافقة على شريط الأوامر لنقطة النهاية الخاصة المحددة.

  4. في صفحة Approve connection، أدخل commentاختيارياً، وحدد Yes. إذا حددت No، فلن يحدث شيء.

    لقطة شاشة تعرض صفحة الموافقة على الاتصال التي تطلب تأكيدك.

  5. من المفترض أن ترى حالة الاتصال في القائمة قد تغيرت إلى Approved.

رفض اتصال نقطة نهاية خاصة

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

    لقطة شاشة تعرض الزر رفض على شريط الأوامر لنقطة النهاية الخاصة المحددة.

  2. في صفحة Reject connection، أدخل تعليقاً اختيارياً وحدد Yes. إذا حددت No، فلن يحدث شيء.

    لقطة شاشة تعرض صفحة رفض الاتصال التي تطلب تأكيدك.

  3. يجب أن تشاهد حالة الاتصال في القائمة المغيرة Rejected.

أزل اتصال نقطة نهاية خاصة

  1. لإزالة اتصال نقطة نهاية خاصة، حدده في القائمة، وحدد Remove من شريط الأدوات.

    لقطة شاشة تعرض الزر إزالة على شريط الأوامر لنقطة النهاية الخاصة المحددة.

  2. في صفحة Delete connection، حدد Yes لتأكيد حذف نقطة النهاية الخاصة. إذا حددت No، فلن يحدث شيء.

    لقطة شاشة تعرض صفحة حذف الاتصال تطلب منك التأكيد.

  3. من المفترض أن ترى الحالة قد تغيرت إلى Disconnected. بعد ذلك، لن ترى نقطة النهاية في القائمة.

يجب التحقق من أن الموارد داخل الشبكة الظاهرية لنقطة النهاية الخاصة تتصل بمساحة اسم Azure Relay عبر عنوان IP الخاص بها.

لهذا الاختبار، قم بإنشاء جهاز ظاهري باتباع الخطوات الواردة في إنشاء جهاز ظاهري Windows في مدخل Microsoft Azure

في علامة التبويب Networking :

  1. حدد Virtual network وSubnet. حدد الشبكة الظاهرية التي قمت بنشر نقطة النهاية الخاصة عليها.
  2. حدد مورد public IP.
  3. بالنسبة إلى NIC network security group، حدد None.
  4. بالنسبة إلى Load balancing، حدد No.

الاتصال إلى الجهاز الظاهري وافتح سطر الأوامر وقم بتشغيل الأمر التالي:

nslookup <your-relay-namespace-name>.servicebus.windows.net

يجب أن ترى نتيجة تشبه ما يلي.

Non-authoritative answer:
Name:    <namespace-name>.privatelink.servicebus.windows.net
Address:  10.0.0.4 (private IP address associated with the private endpoint)
Aliases:  <namespace-name>.servicebus.windows.net

القيود واعتبارات التصميم

اعتبارات التصميم

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

القيود

  • الحد الأقصى لعدد نقاط النهاية الخاصة لكل مساحة اسم Azure Relay: 64.
  • الحد الأقصى لعدد مساحات أسماء Azure Relay مع نقاط نهاية خاصة لكل اشتراك: 64.
  • لا تنطبق قواعد مجموعة أمان الشبكة (NSG) والمسارات المعرفة من قبل المستخدم على نقطة النهاية الخاصة. لمزيد من المعلومات، راجع خدمة Azure Private Link: القيود

خدمات Microsoft الموثوق بها

عند تمكين إعداد السماح خدمات Microsoft الموثوق به بتجاوز جدار الحماية هذا، يتم منح الخدمات التالية حق الوصول إلى موارد Azure Relay:

خدمة موثوق بها سيناريوهات الاستخدام المعتمدة
التعلم الآلي من Azure يستخدم AML Kubernetes Azure Relay لتسهيل الاتصال بين خدمات AML وكتلة Kubernetes. Azure Relay هي خدمة مدارة بالكامل توفر اتصالا آمنا ثنائي الاتجاه بين التطبيقات المستضافة على شبكات مختلفة. وهذا يجعلها مثالية للاستخدام في بيئات الارتباط الخاصة، حيث يتم تقييد الاتصال بين موارد Azure والموارد المحلية.
Azure Arc ستتمكن الخدمات التي تدعم Azure Arc المقترنة بموفري الموارد أعلاه من الاتصال بالاتصالات المختلطة في مساحة اسم Azure Relay كمرسل دون حظرها بواسطة قواعد جدار حماية IP المعينة على مساحة اسم Azure Relay. Microsoft.Hybridconnectivity تنشئ الخدمة الاتصالات المختلطة في مساحة اسم Azure Relay وتوفر معلومات الاتصال بخدمة Arc ذات الصلة استنادا إلى السيناريو. تتصل هذه الخدمات فقط بمساحة اسم Azure Relay إذا كنت تستخدم Azure Arc، مع خدمات Azure التالية:

- Azure Kubernetes
- Azure التعلم الآلي
- Microsoft Purview

يمكن العثور على الخدمات الموثوق بها الأخرى ل Azure Relay أدناه:

  • Azure Event Grid
  • Azure IoT Hub
  • Azure Stream Analytics
  • Azure Monitor
  • إدارة Azure API
  • Azure Synapse
  • Azure Data Explorer ‏(Kusto)
  • Azure IoT Central
  • Azure Healthcare Data Services
  • Azure Digital Twins

إشعار

في الإصدار 2021-11-01 أو أحدث من Microsoft Relay SDK، تتوفر الخاصية "trustedServiceAccessEnabled" في خصائص Microsoft.Relay/namespaces/networkRuleSets لتمكين الوصول الموثوق به إلى الخدمة.

للسماح بالخدمات الموثوق بها في قوالب Azure Resource Manager، قم بتضمين هذه الخاصية في القالب الخاص بك:

"trustedServiceAccessEnabled": "True"

على سبيل المثال، استنادا إلى قالب ARM المقدم أعلاه، يمكننا تعديله لتضمين خاصية مجموعة قواعد الشبكة هذه لتمكين الخدمات الموثوق بها:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "trustedServiceAccessEnabled": "True",
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

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