إجراء اتصالات صادرة من خلال ارتباط خاص مشترك
توضح هذه المقالة كيفية تكوين المكالمات الخاصة والصادرة من Azure الذكاء الاصطناعي Search إلى مورد Azure PaaS الذي يعمل داخل شبكة ظاهرية.
يسمح إعداد اتصال خاص لخدمة بحث بالاتصال بعنوان IP لشبكة ظاهرية بدلا من منفذ مفتوح على الإنترنت. يسمى الكائن الذي تم إنشاؤه للاتصال ارتباطا خاصا مشتركا. في الاتصال، تستخدم خدمة البحث الارتباط الخاص المشترك داخليا للوصول إلى مورد Azure PaaS داخل حدود الشبكة.
الارتباط الخاص المشترك هو ميزة متميزة تتم فوترتها حسب الاستخدام. عند إعداد ارتباط خاص مشترك، تتم إضافة رسوم نقطة النهاية الخاصة إلى فاتورة Azure. أثناء استخدام الارتباط الخاص المشترك، تتم أيضا فوترة معدلات نقل البيانات للوصول الوارد والصادر. للحصول على التفاصيل، راجع تسعير Azure Private Link.
إشعار
إذا كنت تقوم بإعداد اتصال مفهرس خاص بمثيل SQL المدار، فشاهد هذه المقالة بدلا من ذلك.
متى يتم استخدام ارتباط خاص مشترك
يقوم Azure الذكاء الاصطناعي Search بإجراء استدعاءات صادرة إلى موارد Azure PaaS الأخرى في السيناريوهات التالية:
- يتصل المفهرس أو محرك البحث ب Azure OpenAI لتضمين النص إلى المتجه
- يتصل المفهرس بمصادر البيانات المدعومة
- اتصالات المفهرس (مجموعة المهارات) ب Azure Storage للتخزين المؤقت للإثراء أو تصحيح أخطاء جلسة العمل أو الكتابة إلى مخزن المعرفة
- طلبات مفتاح التشفير إلى Azure Key Vault
- طلبات مهارة مخصصة إلى Azure Functions أو مورد مشابه
تعمل الارتباطات الخاصة المشتركة فقط لاتصالات Azure إلى Azure. إذا كنت تتصل ب OpenAI أو نموذج خارجي آخر، فيجب أن يكون الاتصال عبر الإنترنت العام.
الروابط الخاصة المشتركة مخصصة للعمليات والبيانات التي يتم الوصول إليها من خلال نقطة نهاية خاصة لموارد Azure أو العملاء الذين يتم تشغيلها في شبكة Azure الظاهرية.
الارتباط الخاص المشترك هو:
- تم إنشاؤه باستخدام أدوات Azure الذكاء الاصطناعي Search أو واجهات برمجة التطبيقات أو SDKs
- تمت الموافقة عليه من قبل مالك مورد Azure PaaS
- يستخدم داخليا بواسطة Azure الذكاء الاصطناعي Search على اتصال خاص بمورد Azure معين
يمكن فقط لخدمة البحث استخدام الارتباطات الخاصة التي تقوم بإنشائها، ويمكن أن يكون هناك ارتباط خاص مشترك واحد فقط تم إنشاؤه على خدمتك لكل مورد ومجموعة موارد فرعية.
بمجرد إعداد الارتباط الخاص، يتم استخدامه تلقائيا كلما كانت خدمة البحث تتصل بمورد PaaS هذا. لا تحتاج إلى تعديل سلسلة الاتصال أو تغيير العميل الذي تستخدمه لإصدار الطلبات، على الرغم من أن الجهاز المستخدم للاتصال يجب أن يتصل باستخدام IP معتمد في جدار حماية مورد Azure PaaS.
هناك سيناريوهان لاستخدام Azure Private Link وAzure الذكاء الاصطناعي Search معا.
السيناريو الأول: إنشاء ارتباط خاص مشترك عندما يتطلب اتصال صادر (مفهرس) ب Azure PaaS اتصالا خاصا.
السيناريو الثاني: تكوين البحث عن اتصال وارد خاص من العملاء الذين يتم تشغيلها في شبكة ظاهرية.
السيناريو الأول مغطى في هذه المقالة.
في حين أن كلا السيناريوهين يعتمدان على Azure Private Link، فإنهما مستقلان. يمكنك إنشاء ارتباط خاص مشترك دون الحاجة إلى تكوين خدمة البحث الخاصة بك لنقطة نهاية خاصة.
القيود
عند تقييم الارتباطات الخاصة المشتركة للسيناريو الخاص بك، تذكر هذه القيود.
العديد من أنواع الموارد المستخدمة في ارتباط خاص مشترك قيد المعاينة. إذا كنت تتصل بمورد معاينة (قاعدة بيانات Azure ل MySQL أو Azure Functions أو مثيل Azure SQL المدار)، فاستخدم إصدار معاينة من Management REST API لإنشاء الارتباط الخاص المشترك. تتضمن
2020-08-01-preview
هذه الإصدارات و2021-04-01-preview
و.2024-03-01-preview
يجب أن يستخدم تنفيذ المفهرس بيئة التنفيذ الخاصة الخاصة بخدمة البحث. اتصالات نقطة النهاية الخاصة غير مدعومة من البيئة متعددة المستأجرين. يتم تغطية إعداد التكوين لهذا المطلب في هذه المقالة.
المتطلبات الأساسية
Azure الذكاء الاصطناعي Search في المستوى الأساسي أو أعلى. إذا كنت تستخدم الذكاء الاصطناعي الإثراء ومجموعات المهارات، فيجب أن يكون المستوى قياسي 2 (S2) أو أعلى. راجع حدود الخدمة للحصول على التفاصيل.
مورد Azure PaaS من القائمة التالية من أنواع الموارد المدعومة، التي تم تكوينها للتشغيل في شبكة ظاهرية.
الأذونات على كل من Azure الذكاء الاصطناعي Search ومصدر البيانات:
في مورد Azure PaaS، يجب أن يكون لديك الإذن للموافقة على اتصالات نقطة النهاية الخاصة. على سبيل المثال، إذا كنت تستخدم حساب تخزين Azure كمصدر بيانات (مثل حاوية Blob ومشاركة ملفات Azure وجدول Azure)، فأنت بحاجة إلى
Microsoft.Storage/storageAccounts/privateEndpointConnectionsApproval/action
.في خدمة البحث، يجب أن يكون لديك أذونات القراءة والكتابة على موارد الارتباط الخاص المشترك وحالات عملية القراءة:
Microsoft.Search/searchServices/sharedPrivateLinkResources/write
Microsoft.Search/searchServices/sharedPrivateLinkResources/read
Microsoft.Search/searchServices/sharedPrivateLinkResources/operationStatuses/read
أنواع الموارد المدعومة
يمكنك إنشاء ارتباط خاص مشترك للموارد التالية.
نوع المورد | المصدر الفرعي (أو معرف المجموعة) |
---|---|
Microsoft.Storage/storageAccounts 1 | blob ، ، table ، dfs file |
Microsoft.DocumentDB/databaseAccounts 2 | Sql |
Microsoft.Sql/ خوادم | sqlServer |
Microsoft.KeyVault/vaults | vault |
Microsoft.DBforMySQL/servers (معاينة) | mysqlServer |
Microsoft.Web/sites (معاينة) 3 | sites |
Microsoft.Sql/managedInstances (معاينة) 4 | managedInstance |
Microsoft.CognitiveServices/accounts (معاينة) 5 | openai_account |
1 إذا كان Azure Storage وAzure الذكاء الاصطناعي Search في نفس المنطقة، يتم إجراء الاتصال بالتخزين عبر شبكة Microsoft الأساسية، ما يعني أن الارتباط الخاص المشترك متكرر لهذا التكوين. ومع ذلك، إذا قمت بالفعل بإعداد نقطة نهاية خاصة ل Azure Storage، يجب عليك أيضا إعداد ارتباط خاص مشترك أو رفض الاتصال على جانب التخزين. أيضا، إذا كنت تستخدم تنسيقات تخزين متعددة لسيناريوهات مختلفة في البحث، فتأكد من إنشاء ارتباط خاص مشترك منفصل لكل مصدر فرعي.
2Microsoft.DocumentDB/databaseAccounts
يتم استخدام نوع المورد لاتصالات المفهرس ب Azure Cosmos DB ل NoSQL. اسم الموفر ومعرف المجموعة حساسان لحالة الأحرف.
3Microsoft.Web/sites
يتم استخدام نوع المورد لخدمة التطبيقات ووظائف Azure. في سياق Azure الذكاء الاصطناعي Search، فإن دالة Azure هي السيناريو الأكثر احتمالا. تستخدم دالة Azure بشكل شائع لاستضافة منطق مهارة مخصصة. تحتوي Azure Function على خطط استضافة Consumption وPremium وEdated App Service. بيئة خدمة التطبيقات (ASE) وخدمة Azure Kubernetes (AKS) غير مدعومة في الوقت الحالي.
4 راجع إنشاء ارتباط خاص مشترك لمثيل SQL المدار للحصول على الإرشادات.
5Microsoft.CognitiveServices/accounts
يتم استخدام نوع المورد لاتصالات المفهرس ب Azure OpenAI عند تنفيذ التوجيه المتكامل.
1 - إنشاء ارتباط خاص مشترك
استخدم مدخل Microsoft Azure أو Management REST API أو Azure CLI أو Azure PowerShell لإنشاء ارتباط خاص مشترك.
إليك بعض الأفكار:
- امنح الارتباط الخاص اسما ذا معنى. في مورد Azure PaaS، يظهر ارتباط خاص مشترك جنبا إلى جنب مع نقاط النهاية الخاصة الأخرى. يمكن أن يذكرك اسم مثل "shared-private-link-for-search" بكيفية استخدامه.
عند إكمال الخطوات الواردة في هذا القسم، يكون لديك ارتباط خاص مشترك يتم توفيره في حالة معلقة. يستغرق إنشاء الارتباط عدة دقائق. بمجرد إنشائه، يجب على مالك المورد الموافقة على الطلب قبل تشغيله.
سجل الدخول إلى مدخل Microsoft Azure وابحث عن خدمة البحث.
ضمن الإعدادات في جزء التنقل الأيمن، حدد Networking.
في صفحة الوصول الخاص المشترك، حدد + إضافة وصول خاص مشترك.
حدد إما الاتصال إلى مورد Azure في دليلي أو الاتصال إلى مورد Azure حسب معرف المورد.
إذا حددت الخيار الأول (مستحسن)، يساعدك المدخل على اختيار مورد Azure المناسب ويملأ خصائص أخرى، مثل معرف المجموعة للمورد ونوع المورد.
إذا حددت الخيار الثاني، أدخل معرف مورد Azure يدويا واختر معرف المجموعة المناسب من القائمة في بداية هذه المقالة.
تأكد من أن حالة التوفير هي "تحديث".
بمجرد إنشاء المورد بنجاح، تتغير حالة التوفير للمورد إلى "Succeeded".
سير عمل إنشاء ارتباط خاص مشترك
202 Accepted
يتم إرجاع الاستجابة عند النجاح. عملية إنشاء نقطة نهاية خاصة صادرة هي عملية طويلة الأمد (غير متزامنة). يتضمن توزيع الموارد التالية:
نقطة نهاية خاصة، مخصصة بعنوان IP خاص في حالة
"Pending"
. يتم الحصول على عنوان IP الخاص من مساحة العنوان المخصصة للشبكة الظاهرية لبيئة التنفيذ للمفهرس الخاص بخدمة البحث. عند الموافقة على نقطة النهاية الخاصة، ينشأ أي اتصال من Azure الذكاء الاصطناعي Search إلى مورد Azure من عنوان IP الخاص وقناة ارتباط خاصة آمنة.منطقة DNS خاصة لنوع المورد، استنادا إلى معرف المجموعة. من خلال نشر هذا المورد، تأكد من أن أي بحث DNS إلى المورد الخاص يستخدم عنوان IP المقترن بنقطة النهاية الخاصة.
2 - الموافقة على اتصال نقطة النهاية الخاصة
يتم منح الموافقة على اتصال نقطة النهاية الخاصة على جانب Azure PaaS. مطلوب موافقة صريحة من قبل مالك المورد. تغطي الخطوات التالية الموافقة باستخدام مدخل Microsoft Azure، ولكن فيما يلي بعض الارتباطات للموافقة على الاتصال برمجيا من جانب Azure PaaS:
- في Azure Storage، استخدم نقاط النهاية الخاصة الاتصال - وضع
- في Azure Cosmos DB، استخدم نقاط النهاية الخاصة الاتصال - إنشاء أو تحديث
باستخدام مدخل Microsoft Azure، قم بتنفيذ الخطوات التالية:
افتح صفحة Networking لمورد Azure PaaS.النص
ابحث عن المقطع الذي يسرد اتصالات نقطة النهاية الخاصة. المثال التالي لحساب تخزين.
حدد الاتصال، ثم حدد موافقة. قد يستغرق تحديث الحالة في المدخل بضع دقائق.
بعد الموافقة على نقطة النهاية الخاصة، يقوم Azure الذكاء الاصطناعي Search بإنشاء تعيينات منطقة DNS الضرورية في منطقة DNS التي تم إنشاؤها لها.
على الرغم من أن ارتباط نقطة النهاية الخاصة على صفحة Networking نشط، إلا أنه لن يتم حله.
يؤدي تحديد الارتباط إلى حدوث خطأ. تظهر رسالة "The access token is from the wrong issuer"
حالة ل و must match the tenant associated with this subscription
لأن مورد نقطة النهاية الخاصة للواجهة الخلفية يتم توفيره بواسطة Microsoft في مستأجر تديره Microsoft، بينما المورد المرتبط (Azure الذكاء الاصطناعي Search) موجود في المستأجر الخاص بك. حسب التصميم، لا يمكنك الوصول إلى مورد نقطة النهاية الخاصة عن طريق تحديد ارتباط اتصال نقطة النهاية الخاصة.
اتبع الإرشادات الموجودة في القسم التالي للتحقق من حالة الارتباط الخاص المشترك.
3 - التحقق من حالة الارتباط الخاص المشترك
على جانب Azure الذكاء الاصطناعي Search، يمكنك تأكيد الموافقة على الطلب عن طريق إعادة النظر في صفحة الوصول الخاص المشترك لصفحة شبكة خدمة البحث. يجب الموافقة على حالة الاتصال.
بدلا من ذلك، يمكنك أيضا الحصول على حالة الاتصال باستخدام واجهة برمجة تطبيقات GET Shared Private Link.
az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Search/searchServices/contoso-search/sharedPrivateLinkResources/blob-pe?api-version=2023-11-01
سيؤدي ذلك إلى إرجاع JSON، حيث تظهر حالة الاتصال ك "الحالة" ضمن قسم "الخصائص". فيما يلي مثال لحساب تخزين.
{
"name": "blob-pe",
"properties": {
"privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contoso-storage",
"groupId": "blob",
"requestMessage": "please approve",
"status": "Approved",
"resourceRegion": null,
"provisioningState": "Succeeded"
}
}
إذا كانت حالة التوفير (properties.provisioningState
) للمورد "ناجحة" وكانت حالة الاتصال (properties.status
) "معتمدة"، فهذا يعني أن مورد الارتباط الخاص المشترك يعمل ويمكن تكوين المفهرس للاتصال عبر نقطة النهاية الخاصة.
4 - تكوين المفهرس للتشغيل في البيئة الخاصة
يحدث تنفيذ المفهرس إما في بيئة خاصة خاصة بخدمة البحث، أو بيئة متعددة المستأجرين تستخدم داخليا لإلغاء تحميل معالجة مجموعة المهارات باهظة الثمن لعدة عملاء.
بيئة التنفيذ شفافة، ولكن بمجرد البدء في إنشاء قواعد جدار الحماية أو إنشاء اتصالات خاصة، يجب أن تأخذ تنفيذ المفهرس في الاعتبار. للاتصال الخاص، قم بتكوين تنفيذ المفهرس للتشغيل دائما في البيئة الخاصة.
توضح لك هذه الخطوة كيفية تكوين المفهرس للتشغيل في البيئة الخاصة باستخدام واجهة برمجة تطبيقات REST. يمكنك أيضا تعيين بيئة التنفيذ باستخدام محرر JSON في المدخل.
إشعار
يمكنك تنفيذ هذه الخطوة قبل الموافقة على اتصال نقطة النهاية الخاصة. ومع ذلك، حتى يظهر اتصال نقطة النهاية الخاصة كموافق عليه، سينتهي الأمر بأي مفهرس موجود يحاول الاتصال بمورد آمن (مثل حساب التخزين) في حالة فشل عابر وسيفشل إنشاء مفهرسات جديدة.
إنشاء تعريف مصدر البيانات والفهرس ومجموعة المهارات (إذا كنت تستخدم واحدة) كما تفعل عادة. لا توجد خصائص في أي من هذه التعريفات تختلف عند استخدام نقطة نهاية خاصة مشتركة.
إنشاء مفهرس يشير إلى مصدر البيانات والفهرس ومجموعة المهارات التي قمت بإنشائها في الخطوة السابقة. بالإضافة إلى ذلك، يجبر المفهرس على التشغيل في بيئة التنفيذ الخاصة عن طريق تعيين خاصية تكوين المفهرس
executionEnvironment
إلىprivate
.{ "name": "indexer", "dataSourceName": "blob-datasource", "targetIndexName": "index", "parameters": { "configuration": { "executionEnvironment": "private" } }, "fieldMappings": [] }
بعد إنشاء المفهرس بنجاح، يجب أن يتصل بمورد Azure عبر اتصال نقطة النهاية الخاصة. يمكنك مراقبة حالة المفهرس باستخدام واجهة برمجة تطبيقات حالة المفهرس.
إشعار
إذا كان لديك مفهرسات موجودة بالفعل، يمكنك تحديثها عبر PUT API عن طريق تعيين executionEnvironment
إلى private
أو باستخدام محرر JSON في المدخل.
5 - اختبار الارتباط الخاص المشترك
إذا لم تكن قد فعلت ذلك بالفعل، فتحقق من أن مورد Azure PaaS يرفض الاتصالات من الإنترنت العام. إذا تم قبول الاتصالات، فراجع إعدادات DNS في صفحة الشبكات لمورد Azure PaaS.
اختر أداة يمكنها استدعاء سيناريو طلب صادر، مثل اتصال المفهرس بنقطة نهاية خاصة. الخيار السهل هو استخدام معالج استيراد البيانات ، ولكن يمكنك أيضا تجربة عميل REST وواجهات برمجة تطبيقات REST لمزيد من الدقة. بافتراض أن خدمة البحث لم يتم تكوينها أيضا لاتصال خاص، يمكن أن يكون اتصال عميل REST للبحث عبر الإنترنت العام.
تعيين سلسلة الاتصال إلى مورد Azure PaaS الخاص. لا يتغير تنسيق سلسلة الاتصال للارتباط الخاص المشترك. تستدعي خدمة البحث الارتباط الخاص المشترك داخليا.
بالنسبة لأحمال عمل المفهرس، سلسلة الاتصال في تعريف مصدر البيانات. قد يبدو مثال مصدر البيانات كما يلي:
{ "name": "my-blob-ds", "type": "azureblob", "subtype": null, "credentials": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<YOUR-STORAGE-ACCOUNT>;AccountKey=..." }
بالنسبة لأحمال عمل المفهرس، تذكر تعيين بيئة التنفيذ في تعريف المفهرس. قد يبدو مثال تعريف المفهرس كما يلي:
"name": "indexer", "dataSourceName": "my-blob-ds", "targetIndexName": "my-index", "parameters": { "configuration": { "executionEnvironment": "private" } }, "fieldMappings": [] }
تشغيل المفهرس. إذا نجح تنفيذ المفهرس وتم ملء فهرس البحث، يعمل الارتباط الخاص المشترك.
استكشاف الأخطاء وإصلاحها
إذا فشل إنشاء المفهرس مع "بيانات اعتماد مصدر البيانات غير صالحة"، فتحقق من حالة الموافقة على الارتباط الخاص المشترك قبل تصحيح الاتصال. إذا كانت الحالة هي
Approved
، فتحقق من الخاصيةproperties.provisioningState
. إذا كان ،Incomplete
فقد تكون هناك مشكلة في التبعيات الأساسية. في هذه الحالة، أعد إصدارPUT
الطلب لإعادة إنشاء الارتباط الخاص المشترك. قد تحتاج أيضا إلى تكرار خطوة الموافقة.إذا فشلت المفهرسات باستمرار أو بشكل متقطع، فتحقق من الخاصية
executionEnvironment
على المفهرس. يجب تعيين القيمة إلىprivate
. إذا لم تقم بتعيين هذه الخاصية، ونجحت عمليات تشغيل المفهرس في الماضي، فهذا لأن خدمة البحث استخدمت بيئة خاصة من تلقاء نفسها. تنقل خدمة البحث المعالجة خارج البيئة القياسية إذا كان النظام قيد التحميل.إذا تلقيت خطأ عند إنشاء ارتباط خاص مشترك، فتحقق من حدود الخدمة للتحقق من أنك ضمن الحصة النسبية لمستويك.
الخطوات التالية
تعرف على المزيد حول نقاط النهاية الخاصة وطرق الاتصال الآمنة الأخرى: