Устранение неполадок с общими закрытыми ссылками в службе Поиск с использованием ИИ Azure

Note

Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.

Общая приватная ссылка позволяет службе "Поиск ИИ Azure" обеспечить безопасные исходящие подключения через частную конечную точку при доступе к ресурсам клиентов в виртуальной сети. Эта статья поможет устранить ошибки, которые могут возникнуть.

Создание общей частной ссылки — это операция контрольной плоскости службы поиска. Вы можете создать общую частную ссылку с помощью либо порта́ла Azure, либо REST API управления. Во время подготовки состояние запроса равно Updating. После успешного завершения операции состояние равно Succeeded. Создается частная конечная точка ресурса, а также все зоны и сопоставления DNS. Эта конечная точка используется исключительно экземпляром службы поиска и управляется через Поиск с использованием ИИ Azure.

Действия, связанные с созданием ресурсов общего приватного подключения

Ниже приведены распространенные ошибки, возникающие на этапе создания.

Ошибки при проверке запроса

  • Неподдерживаемый SKU: частные ссылки с возможностью совместного доступа поддерживаются на уровне "Базовый" и выше. Для индексаторов с определёнными навыками минимальный уровень — Стандарт 1 (S1). Дополнительные сведения см. в разделе ограничения ресурсов общего приватного канала.

  • Недопустимое имя: Правила именования для частной общей ссылки:

    • Длина должна составлять от 1 до 60 символов.
    • Буквенно-цифровые символы
    • Имена могут включать символ подчеркивания _, период .и дефис - , если это не первый символ в имени
  • Недопустимый идентификатор группы: идентификаторы групп чувствительны к регистру и должны быть одним из следующих значений.

    Ресурс Azure Идентификатор группы Первая доступная версия API
    Хранилище Azure — BLOB, ADLS 2-го поколения blob 2020-08-01
    Хранилище Azure - Таблицы table 2020-08-01
    Azure Cosmos DB для NoSQL Sql 2020-08-01
    База данных SQL Azure sqlServer 2020-08-01
    База данных Azure для MySQL (предварительная версия) mysqlServer 2020-08-01-Preview
    Azure Key Vault vault 2020-08-01
    Функции Azure (предварительная версия) sites 2020-08-01-Preview

    Ресурсы, помеченные как "(предварительная версия)", должны создаваться с помощью предварительной версии версий REST API управления.

  • privateLinkResourceId Проверка типа: аналогично groupId, поиск ИИ Azure проверяет, указан ли в поле privateLinkResourceId"правильный" тип ресурса. Ниже перечислены допустимые типы ресурсов:

    Ресурс Azure Тип ресурса Первая доступная версия API
    Хранилище Azure Microsoft.Storage/storageAccounts 2020-08-01
    Azure Cosmos DB (облачная база данных) Microsoft.DocumentDb/databaseAccounts 2020-08-01
    База данных SQL Azure Microsoft.Sql/servers 2020-08-01
    Azure Key Vault Microsoft.KeyVault/vaults 2020-08-01
    База данных Azure для MySQL (предварительная версия) Microsoft.DBforMySQL/servers 2020-08-01-Preview
    Функции Azure (предварительная версия) Microsoft.Web/sites 2020-08-01-Preview
    Управляемый экземпляр SQL Azure (предварительная версия) Microsoft.Sql/managedInstance 2020-08-01-Preview

    Кроме того, указанное значение groupId должно быть допустимым для указанного типа ресурса. Например, groupId "blob" действителен для типа Microsoft.Storage/storageAccounts, его нельзя использовать ни с каким другим типом ресурса. Клиенты могут узнать о поддерживаемом groupId и деталях типов ресурсов для данной версии API управления поиском, используя Список поддерживаемых API.

  • Принудительное применение квот. Службы поиска имеют квоты, налагаемые на определенное количество общих ресурсов частных ссылок, которые могут быть созданы, а также на количество различных типов целевых ресурсов, которые используются (на основе groupId). Дополнительные сведения см. в разделе ограничения ресурсов общего приватного канала.

Сбои при развертывании

Служба поиска инициирует запрос на создание общего приватного канала, но Azure Resource Manager выполняет фактическую работу. Вы можете проверить состояние развертывания в портале Azure или с помощью запроса, и устранить любые возможные ошибки, которые могут возникнуть.

Ресурсы общей приватной ссылки, которые терпят неудачу при развертывании Azure Resource Manager, появляются в вызовах API для списка и получения, но имеют состояние подготовки Failed. После определения причины сбоя развертывания Azure Resource Manager удалите Failed ресурс и повторно создайте его после применения соответствующего решения из следующей таблицы.

Причина сбоя при развертывании Описание Решение
Ошибка связанной авторизации (LinkedAuthorizationFailed) Сообщение об ошибке указывает, что клиент имеет разрешение на создание общей приватной ссылки в службе поиска, но не имеет разрешения на выполнение действия privateEndpointConnectionApproval/action в связанной области. Проверьте идентификатор приватного канала в запросе, чтобы убедиться, что в URI отсутствуют ошибки или упущения. Если поиск ИИ Azure и ресурс Azure PaaS находятся в разных подписках, и если вы используете REST или интерфейс командной строки, убедитесь, что активная учетная запись Azure является ресурсом Azure PaaS. Для клиентов REST убедитесь, что вы не используете маркер носителя с истекшим сроком действия, и что маркер действителен для активной подписки.
Поставщик сетевых ресурсов не зарегистрирован в подписке целевого ресурса Частная конечная точка (и связанные сопоставления DNS) создается для целевого ресурса (учетная запись хранения, Azure Cosmos DB, Azure SQL) через Microsoft.Network поставщика ресурсов (RP). Если подписка, в которой размещается целевой ресурс (целевая подписка), не зарегистрирована в Microsoft.Network RP, развертывание Azure Resource Manager может завершиться неудачей. Необходимо зарегистрировать эту RP в целевой подписке. Вы можете зарегистрировать поставщика ресурсов с помощью портал Azure, PowerShell или CLI.
Недопустимый элемент groupId для целевого ресурса При создании учетных записей Azure Cosmos DB можно указать тип API для учетной записи базы данных. Хотя Azure Cosmos DB предлагает несколько различных типов API, Поиск с использованием ИИ Azure поддерживает только "Sql" в качестве groupId общих ресурсов защищенного частного канала. При создании приватной ссылки типа "Sql" на privateLinkResourceId, которая указывает на учетную запись базы данных, не связанную с Sql, развертывание Azure Resource Manager не удается из-за несоответствия groupId. Идентификатор ресурса Azure учетной записи Azure Cosmos DB недостаточен для обнаружения типа API, который используется. Azure Search пытается создать частную конечную точку, но Azure Cosmos DB затем отклоняет её. Необходимо убедиться, что privateLinkResourceId указанный ресурс Azure Cosmos DB предназначен для учетной записи базы данных типа API "Sql"
Целевой ресурс не найден Существование целевого ресурса, указанного в privateLinkResourceId, проверяется только во время начала развертывания Azure Resource Manager. Если целевой ресурс больше недоступен, развертывание завершается ошибкой. Необходимо убедиться, что целевой ресурс присутствует в указанной подписке и группе ресурсов и не перемещается или не удаляется.
Временные и другие ошибки Развертывание Azure Resource Manager может завершиться сбоем в случае сбоя инфраструктуры или из-за других непредвиденных причин. Такие случаи бывают редко и обычно указывают на промежуточное состояние. Повторите попытку создания этого ресурса позже. Если проблема сохранится, обратитесь в службу поддержки Azure.

Проблемы с утверждением резервной частной конечной точки

Частная конечная точка создается для целевого ресурса Azure, как указано в запросе на создание общей приватной связи. Это один из последних шагов в асинхронной операции развертывания Azure Resource Manager, но служба Поиск с использованием ИИ Azure должна связать частный IP-адрес частной конечной точки, что является частью её сетевой конфигурации. После завершения provisioningState этой ссылки общий ресурс приватного канала переходит в окончательное успешное состояние Succeeded. Клиенты должны утвердить или запретить (или в целом изменить конфигурацию поддерживающей частной конечной точки) после того, как состояние перейдет к Succeeded. Изменение частной конечной точки каким-либо образом до завершения операции развертывания может привести к неполной операции и вызвать ситуацию, в которой общий ресурс приватной ссылки окажется (либо немедленно, либо обычно в течение нескольких часов) в Failed состоянии.

Поисковая служба остановилась на изменении сетевого подключения в состоянии "Обновление".

Общие частные ссылки и частные конечные точки используются при отключении доступак общедоступной сети службы поиска. Как правило, изменение сетевого подключения должно завершиться через несколько минут после принятия запроса. В некоторых случаях поиск ИИ Azure может занять несколько часов, чтобы завершить операцию изменения подключения.

Снимок экрана: изменение доступа к общедоступной сети на отключенный.

Если вы видите, что операция изменения подключения занимает значительное время, подождите несколько часов. Операции изменения подключения включают такие операции, как обновление записей DNS, которые могут занять больше времени, чем ожидалось.

Если общедоступный сетевой доступ изменен, существующие общие частные каналы и частные конечные точки могут работать неправильно. Если существующие общие частные каналы и частные конечные точки перестают работать во время операции изменения подключения, подождите несколько часов, пока операция завершится. Если они по-прежнему не работают, попробуйте удалить и восстановить их.

Как правило, ресурс общей приватной ссылки должен перейти в конечное состояние (Succeeded или Failed) через несколько минут после того, как запрос будет принят.

В редких случаях служба поиска ИИ Azure может неправильно обозначить состояние общего ресурса частного соединения как конечное состояние (Succeeded или Failed). Обычно это происходит из-за неожиданного сбоя. Ресурсы общей приватной ссылки автоматически переходят в состояние Failed, если они "застряли" в неокончательном состоянии в течение более чем нескольких часов.

Если общий приватный ресурс не переходит в конечное состояние, подождите несколько часов, чтобы убедиться, что он стал Failed перед тем, как его удалить и создать заново. Кроме того, можно попытаться создать еще один ресурс общего приватного канала с другим именем (сохранив все остальные параметры).

Существующий общий ресурс приватной ссылки можно обновить с помощью Create или Update API. Поиск позволяет выполнять только узкие обновления для ресурса общей приватной ссылки. С помощью этого API можно изменить только сообщение запроса.

  • Невозможно обновить какие-либо из свойств "ядра" существующего ресурса общей частной связи (например privateLinkResourceId , или groupId) и это всегда будет неподдерживаемо. Если необходимо изменить какое-либо другое свойство, кроме сообщения запроса, мы советуем клиентам удалить и заново создать ресурс общего приватного подключения.

  • Обновление сообщения запроса ресурса общей приватной ссылки возможно только в том случае, если он достигает состояния предоставления Succeeded.

Клиенты могут удалить существующий ресурс общего приватного доступа с помощью API удаления. Подобно процессу создания (или обновления), это также асинхронная операция с четырьмя шагами:

  1. Вы запрашиваете поисковый сервис, чтобы удалить общую приватную ссылку.

  2. Служба поиска проверяет, существует ли ресурс и находится в состоянии, допустимом для удаления. Если это так, она инициирует операцию Azure Resource Manager по удалению ресурса.

  3. Поисковые запросы для завершения операции (обычно занимают несколько минут). На этом этапе общий ресурс приватного канала будет иметь состояние Deletingподготовки.

  4. После успешного выполнения операции резервная частная конечная точка и все связанные с ней сопоставления DNS удаляются. Ресурс не отображается в рамках операции List, а попытка выполнения операции Get с этим ресурсом заканчивается ошибкой 404 Not Found.

Этапы удаления ресурсов общего приватного доступа

Ниже приведены распространенные ошибки, возникающие на этапе удаления.

Тип сбоя Описание Решение
Ресурс находится в нетерминальном состоянии Общий ресурс приватной ссылки, который не находится в конечном состоянии (Succeeded или Failed), не может быть удален. Возможно (хотя и редко), что ресурс, доступный по частной ссылке, может находиться в нетерминальном состоянии до 8 часов. Подождите, пока ресурс не достигнет состояния терминала и повторите запрос на удаление.
Операция удаления завершилась с ошибкой "Конфликт" Операция Azure Resource Manager по удалению общего ресурса приватного канала обратится к поставщику целевого ресурса, указанного в privateLinkResourceId ("целевой поставщик ресурсов"), прежде чем он сможет удалить частную конечную точку и сопоставления DNS. Клиенты могут использовать блокировки ресурсов Azure, чтобы предотвратить любые изменения в своих ресурсах. Когда Azure Resource Manager обращается к целевому поставщику ресурсов, он требует, чтобы целевой поставщик ресурсов изменил состояние целевого ресурса (чтобы удалить сведения о частной конечной точке из ее метаданных). Если для целевого ресурса настроена блокировка (либо для его группы ресурсов или подписки), операция Azure Resource Manager завершается ошибкой "Конфликт" (с соответствующими сведениями). Совместно используемый ресурс приватной ссылки не будет удален. Перед повторным выполнением операции удаления клиенты должны снять блокировку с целевого ресурса. Примечание. Эта проблема также может возникнуть, когда клиенты пытаются удалить службу поиска с общими ресурсами приватного канала, которые указывают на "заблокированные" целевые ресурсы
Сбой операции удаления Асинхронная операция удаления Azure Resource Manager может завершиться сбоем в редких случаях. При сбое этой операции запрос состояния асинхронной операции представляет сообщение об ошибке и соответствующие сведения. Повторите операцию позже или обратитесь в Службу поддержки Azure, если проблема не будет разрешена.
Ресурс завис в состоянии "Удаление" В редких случаях общий приватный ресурс может застрять в состоянии "Удаление" на срок до 8 часов, вероятно, из-за катастрофического сбоя в службе поиска RP. Дождитесь, когда ресурс перейдет в состояние Failed (это займет 8 часов), а затем повторно отправьте запрос.

Следующие шаги

Узнайте больше об общих ресурсах приватного канала и о том, как их использовать для безопасного доступа к защищенному содержимому.