Создание общей приватной ссылки для управляемого экземпляра SQL из поиска ИИ Azure
В этой статье объясняется, как настроить индексатор в службе "Поиск ИИ Azure" для частного подключения к управляемому экземпляру SQL, работающему в виртуальной сети. Частное подключение осуществляется через общую частную связь и Приватный канал Azure.
При частном подключении к управляемому экземпляру полное доменное имя экземпляра должно включать зону DNS. В настоящее время только REST API службы "Управление поиском ИИ Azure" предоставляет dnsZonePrefix
параметр для принятия спецификации зоны DNS.
Хотя вы можете напрямую вызвать REST API управления, проще использовать модуль Azure CLI az rest
для отправки вызовов REST API управления из командной строки. В этой статье используется Azure CLI с REST для настройки приватного канала.
Примечание.
В этой статье рассматриваются портал Azure для получения свойств и подтверждения действий. Однако при создании общей частной ссылки для Управляемый экземпляр SQL убедитесь, что вы используете REST API. Хотя вкладка "Сеть" отображается Microsoft.Sql/managedInstances
в качестве параметра, портал в настоящее время не поддерживает расширенный формат URL-адреса, используемый Управляемый экземпляр SQL.
Необходимые компоненты
Поиск ИИ Azure, базовый или более поздний. Если вы используете наборы навыков и обогащения ИИ, используйте стандарт 2 (S2) или более поздней версии. Дополнительные сведения см. в разделе "Ограничения службы".
Управляемый экземпляр SQL Azure, настроенный для запуска в виртуальной сети.
У вас должно быть минимальное разрешение участника на поиск и Управляемый экземпляр SQL службы "Поиск ИИ Azure".
Управляемый экземпляр SQL Azure строка подключения. Управляемое удостоверение в настоящее время не поддерживается с общим приватным каналом. Строка подключения должны содержать имя пользователя и пароль.
Примечание.
Общие частные ссылки оплачиваются с помощью Приватный канал Azure цены и расходы выставляются по счету на основе использования.
1. Получение сведений о подключении
Получите полное доменное имя управляемого экземпляра, включая зону DNS. Зона DNS является частью доменного имени Управляемый экземпляр SQL. Например, если полное доменное имя Управляемый экземпляр SQL имеет значениеmy-sql-managed-instance.00000000000.database.windows.net
, зона DNS — 00000000000
это.
В портал Azure найдите объект управляемого экземпляра SQL.
На вкладке "Обзор" найдите свойство Host. Скопируйте часть зоны DNS полного доменного имени для следующего шага.
На вкладке "Строки подключения" скопируйте ADO.NET строка подключения для последующего шага. Он необходим для подключения к источнику данных при тестировании частного подключения.
Дополнительные сведения о свойствах подключения см. в разделе "Создание Управляемый экземпляр SQL Azure".
2. Создание текста запроса
С помощью текстового редактора создайте JSON для общей приватной ссылки.
{ "name": "{{shared-private-link-name}}", "properties": { "privateLinkResourceId": "/subscriptions/{{target-resource-subscription-ID}}/resourceGroups/{{target-resource-rg}}/providers/Microsoft.Sql/managedInstances/{{target-resource-name}}", "dnsZonePrefix": "a1b22c333d44", "groupId": "managedInstance", "requestMessage": "please approve", } }
Укажите понятное имя для общей приватной ссылки. Общая приватная ссылка отображается вместе с другими частными конечными точками. Имя, например "shared-private-link-for-search", может напомнить вам, как оно используется.
Вставьте имя зоны DNS в элемент dnsZonePrefix, полученный на предыдущем шаге.
Измените значение privateLinkResourceId, чтобы отразить частную конечную точку управляемого экземпляра. Укажите идентификатор подписки, имя группы ресурсов и имя объекта управляемого экземпляра.
Сохраните файл локально как create-pe.json (или используйте другое имя, не забывая обновить синтаксис Azure CLI на следующем шаге).
В Azure CLI введите
dir
текущее расположение файла.
3. Создание общей приватной ссылки
В командной строке войдите в Azure с помощью
az login
.Если у вас несколько подписок, убедитесь, что вы используете тот, который вы планируете использовать:
az account show
Чтобы задать подписку, используйте
az account set --subscription {{subscription ID}}
az rest
Вызовите команду, чтобы использовать REST API управления поиска ИИ Azure.Так как поддержка общего приватного канала для управляемых экземпляров SQL по-прежнему находится в предварительной версии, вам нужна предварительная версия REST API. Используйте
2021-04-01-preview
или более позднюю версию API предварительной версии для этого шага. Рекомендуется использовать последнюю версию API предварительной версии.az rest --method put --uri https://management.azure.com/subscriptions/{{search-service-subscription-ID}}/resourceGroups/{{search service-resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}/sharedPrivateLinkResources/{{shared-private-link-name}}?api-version=2024-06-01-preview --body @create-pe.json
Укажите идентификатор подписки, имя группы ресурсов и имя службы ресурса поиска ИИ Azure.
Укажите то же общее имя приватного канала, которое вы указали в тексте JSON.
Укажите путь к файлу create-pe.json , если вы перейдете из расположения файла. Чтобы подтвердить, что файл находится в текущем каталоге, можно ввести
dir
в командной строке.Нажмите клавишу Ввод, чтобы выполнить команду.
После выполнения этих действий у вас должна быть общая частная ссылка, подготовленная в состоянии ожидания. Создание ссылки занимает несколько минут. После создания владелец ресурса должен утвердить запрос, прежде чем он работает.
4. Утверждение подключения к частной конечной точке
На стороне Управляемый экземпляр SQL владелец ресурса должен утвердить созданный вами запрос частного подключения.
В портал Azure откройте вкладку подключения к частной конечной точке управляемого экземпляра.
Найдите раздел, в который перечислены подключения к частной конечной точке.
Выберите подключение и нажмите кнопку "Утвердить". На портале может потребоваться несколько минут.
После утверждения частной конечной точки поиск Azure создает необходимые сопоставления зон DNS в зоне DNS, созданной для нее.
5. Проверка состояния общей приватной связи
На стороне поиска ИИ Azure вы можете подтвердить утверждение запроса, вернув вкладку "Общий частный доступ" на странице "Сеть службы поиска". Состояние подключения должно быть утверждено.
6. Настройка индексатора для запуска в частной среде
Теперь можно настроить индексатор и его источник данных для использования исходящего частного подключения к управляемому экземпляру.
Вы можете использовать мастер импорта данных для этого шага, но созданный индексатор не будет допустимым для этого сценария. Чтобы обеспечить соответствие этому сценарию, необходимо изменить свойство JSON индексатора, как описано на этом шаге. Затем необходимо сбросить и повторно запустить индексатор , чтобы полностью протестировать конвейер с помощью обновленного индексатора.
В этой статье предполагается , что клиент REST использует интерфейсы REST API, чтобы упростить просмотр всех свойств. Помните, что вызовы REST API для индексаторов и источников данных используют ИНТЕРФЕЙСы REST API поиска, а не ИНТЕРФЕЙСы REST API управления, используемые для создания общей приватной ссылки. Синтаксис и версии API отличаются между двумя REST API.
Создайте определение источника данных, как правило, для SQL Azure. Формат строка подключения немного отличается для управляемого экземпляра, но другие свойства аналогичны настройке подключения источника данных к базе данных SQL Azure.
Укажите строка подключения, скопированные ранее с указанным начальным каталогом.
POST https://myservice.search.windows.net/datasources?api-version=2024-07-01 Content-Type: application/json api-key: admin-key { "name" : "my-sql-datasource", "description" : "A database for testing Azure AI Search indexes.", "type" : "azuresql", "credentials" : { "connectionString" : "Server=tcp:contoso.public.0000000000.database.windows.net,1433;Persist Security Info=false; User ID=<your user name>; Password=<your password>;MultipleActiveResultsSets=False; Encrypt=True;Connection Timeout=30;Initial Catalog=<your database name>" }, "container" : { "name" : "Name of table or view to index", "query" : null (not supported in the Azure SQL indexer) }, "dataChangeDetectionPolicy": null, "dataDeletionDetectionPolicy": null, "encryptionKey": null }
Создайте определение индексатора, задав среду выполнения индексатора значение private.
Выполнение индексатора выполняется в частной среде, относящемся к службе поиска, или в мультитенантной среде, которая используется внутренне для разгрузки дорогостоящих наборов навыков для нескольких клиентов. При подключении через частную конечную точку выполнение индексатора должно быть частным.
POST https://myservice.search.windows.net/indexers?api-version=2024-07-01 Content-Type: application/json api-key: admin-key { "name": "indexer", "dataSourceName": "my-sql-datasource", "targetIndexName": "my-search-index", "parameters": { "configuration": { "executionEnvironment": "private" } }, "fieldMappings": [] }
Запустите индексатор. Если выполнение индексатора успешно выполнено, и индекс поиска заполняется, общая приватная ссылка работает.
Вы можете отслеживать состояние индексатора в портал Azure или с помощью API состояния индексатора.
Обозреватель поиска можно использовать в портал Azure для проверки содержимого индекса.
7. Проверка общей приватной ссылки
Если вы запустили индексатор на предыдущем шаге и успешно индексировали содержимое из управляемого экземпляра, то тест был успешно выполнен. Однако если индексатор завершается ошибкой или нет содержимого в индексе, можно изменить объекты и повторить тестирование, выбрав любой клиент, который может вызвать исходящий запрос от индексатора.
Простой выбор выполняет индексатор в портал Azure, но вы также можете попробовать клиент REST и REST API для повышения точности. Если служба поиска не настроена для частного подключения, подключение клиента REST к поиску может находиться через общедоступный Интернет.
Ниже приведены некоторые напоминания о тестировании:
Если вы используете клиент REST, используйте REST API управления и версию API 2021-04-01-Preview, чтобы создать общую приватную ссылку. Используйте REST API поиска и стабильную версию API для создания и вызова индексаторов и источников данных.
Мастер импорта данных можно использовать для создания индексатора, источника данных и индекса. Однако созданный индексатор не будет иметь правильный параметр среды выполнения.
Вы можете изменить источник данных и индексатор JSON в портал Azure, чтобы изменить свойства, включая среду выполнения и строка подключения.
Вы можете сбросить и повторно запустить индексатор в портал Azure. Сброс важен для этого сценария, так как он приводит к полной повторной обработке всех документов.
Обозреватель поиска можно использовать для проверки содержимого индекса.