Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Примечание
Содержание в новой документации Microsoft Foundry может открываться по ссылкам в этой статье вместо документации Foundry (классической версии), которую вы просматриваете сейчас.
Важно
Эта статья предоставляет устаревшую поддержку для проектов на основе концентраторов. Он не будет работать для проектов Foundry. Узнайте , какой у меня тип проекта?
примечание о совместимости SDK. Для примеров кода требуется определенная версия пакета SDK для Foundry Microsoft. При возникновении проблем совместимости рассмотрите возможность миграции из концентратора в проект Foundry.
Вы можете настроить Шлюз приложений Azure, чтобы разрешить управляемой виртуальной сети в Microsoft Foundry доступ к ресурсам, не Azure в другой виртуальной сети или локальной сети. Шлюз предоставляет безопасный, частный и сквозной доступ к этим ресурсам.
Шлюз приложений Azure — это подсистема балансировки нагрузки, которая принимает решения по маршрутизации на основе URL-адреса HTTPS-запроса. Для получения дополнительной информации см. Что такое Шлюз приложений Azure.
Настройте шлюз приложений в виртуальной сети Azure для входящего доступа к Центру Foundry. После настройки шлюза создайте частную конечную точку, соединяющую управляемую виртуальную сеть концентратора с шлюзом. Частная конечная точка сохраняет весь сквозный путь закрытым и вне Интернета.
Сведения о том, как шлюз приложений защищает подключения к ресурсам, не Azure, см. в статье Как работает шлюз приложений.
Необходимые условия
- Настройте управляемую виртуальную сеть Центра Foundry и выберите режим изоляции: разрешить исходящий интернет или разрешить только утвержденный исходящий трафик. Дополнительные сведения см. в разделе " Изоляция управляемой виртуальной сети".
- Получите частную конечную точку HTTP(S) ресурса.
- Чтобы использовать пример Azure CLI в этой статье, установите Azure CLI и расширение
ml(версия 2.15.0 или более поздней). - Чтобы использовать пример Python в этой статье, установите Azure SDK для пакетов Python:
pip install azure-ai-ml azure-identity
- Убедитесь, что управляемое удостоверение хаба может одобрить подключения к частной конечной точке на целевом шлюзе приложений. Назначьте роль Утверждающего подключения к корпоративной сети Azure AI (или пользовательскую роль с эквивалентными разрешениями) для ресурса шлюза приложений.
- Убедитесь, что учетная запись, используемая для создания правил частной конечной точки для исходящего трафика, имеет разрешения на создание подключений к частной конечной точке, включая такие действия RBAC в Azure:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/readMicrosoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Создание настройки исходящего трафика для частной конечной точки (Azure CLI или Python)
После создания Шлюз приложений Azure с частной конфигурацией ВНУТРЕННЕГО IP-адреса с именем appGwPrivateFrontendIpIPv4 добавьте правило исходящего трафика частной конечной точки из управляемой виртуальной сети Центра управления Foundry в шлюз приложений.
Azure CLI
В следующем примере добавляется или обновляется правило исходящего подключения для частной конечной точки в шлюзе приложений (Application Gateway). Замените значения заполнителей собственными значениями.
az ml workspace outbound-rule set \
--resource-group <resource-group> \
--workspace-name <hub-name> \
--rule <rule-name> \
--type private_endpoint \
--service-resource-id "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Network/applicationGateways/<APP_GW_NAME>" \
--subresource-target appGwPrivateFrontendIpIPv4 \
--spark-enabled false \
--fqdns "contoso.com,contoso2.com"
Эта команда создает или обновляет управляемое правило исходящего трафика и начинает создавать подключение к управляемой частной конечной точке.
Ссылки
Python
В следующем примере обновляется существующий концентратор и настраивается правило исходящего соединения для частной конечной точки в шлюзе приложений. Замените значения заполнителей собственными значениями.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import PrivateEndpointDestination
from azure.identity import DefaultAzureCredential
subscription_id = "<subscription-id>"
resource_group = "<resource-group>"
hub_name = "<hub-name>"
ml_client = MLClient(
DefaultAzureCredential(),
subscription_id=subscription_id,
resource_group_name=resource_group,
workspace_name=hub_name,
)
hub = ml_client.workspaces.get(name=hub_name)
hub.managed_network.outbound_rules = [
PrivateEndpointDestination(
name="<rule-name>",
service_resource_id="/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Network/applicationGateways/<APP_GW_NAME>",
subresource_target="appGwPrivateFrontendIpIPv4",
spark_enabled=False,
fqdns=["contoso.com", "contoso2.com"],
)
]
ml_client.workspaces.begin_update(hub).result()
Ссылки
Поддерживаемые ресурсы
Шлюз приложений поддерживает любой внутренний ресурс, использующий HTTP или HTTPS. Шлюз приложений проверяет подключения из управляемой виртуальной сети к следующим ресурсам:
- JFrog Artifactory
- Снежинка
- Частные API
Настройка Шлюз приложений Azure
Следуйте руководству "Быстрый старт": настройка веб-трафика с помощью портала. Чтобы правильно настроить шлюз приложений для использования с Foundry, используйте следующие рекомендации при создании шлюза приложений:
На вкладке "Основные сведения" просмотрите и примените следующие параметры.
- Убедитесь, что шлюз приложений находится в том же регионе, что и выбранная Azure Virtual Network.
- Foundry поддерживает только IPv4 для шлюза приложений.
- В виртуальной сети выберите одну выделенную подсеть для шлюза приложений. Не развертывайте другие ресурсы в этой подсети.
На вкладке Frontends шлюз приложений не поддерживает только частный внешний IP-адрес, поэтому выберите или создайте общедоступный IP-адрес. Добавьте частные IP-адреса для внутренних ресурсов в диапазоне подсети, выбранном на вкладке "Основные сведения".
На вкладке Backends добавьте целевые объекты серверной части в серверные пулы для маршрутизации. Создайте разные пулы по мере необходимости (например, базу данных Snowflake).
На вкладке "Конфигурация" настройте, как интерфейсные IP-адреса получают запросы и направляют их в серверную часть.
В разделе прослушивателя :
- Создайте прослушиватель с помощью HTTP или HTTPS и укажите порт прослушивания. Чтобы использовать два прослушивателя на одном интерфейсном IP-адресе, который направляется в разные серверные пулы, используйте разные порты. Входящие запросы различаются по порту.
- Для сквозного шифрования TLS выберите прослушиватель HTTPS и отправьте сертификат, чтобы шлюз приложений смог расшифровать запрос, полученный прослушивателем. Дополнительные сведения см. в разделе Enabling end to end TLS on Шлюз приложений Azure.
- Для полностью закрытого внутреннего целевого объекта без доступа к общедоступной сети не настраивайте прослушиватель на общедоступный внешний IP-адрес или его правило маршрутизации. Шлюз приложений перенаправит только запросы, которые прослушиватели получают на указанном порту. Чтобы избежать случайного добавления прослушивателя внешнего интерфейса IP, ознакомьтесь с правилами безопасности сети для блокировки доступа к публичной сети.
В разделе целевые серверы, если вы используете HTTPS и сертификат серверной части не выдан известным центром сертификации, загрузите корневой сертификат (.CER) серверной части. Дополнительные сведения см. в разделе "Настройка сквозного шифрования TLS" с помощью портала.
После создания ресурса шлюза приложений перейдите к нему на портале Azure. В разделе "Параметры" выберите "Приватный канал ", чтобы включить частный доступ через подключение к частной конечной точке. Конфигурация приватного канала не создается по умолчанию.
- Выберите + Добавить, чтобы добавить конфигурацию Приватный канал, а затем используйте следующие значения для создания конфигурации:
- Имя: укажите имя конфигурации приватного канала
- Подсеть частного канала: выберите подсеть в виртуальной сети
- Конфигурация ВНЕШНЕГО IP-адреса:
appGwPrivateFrontendIpIPv4
- Чтобы проверить правильность настройки приватного канала, перейдите на вкладку подключения к частной конечной точке и выберите +Частная конечная точка. На вкладке "Ресурс"целевой подресурс должен быть именем конфигурации IP-адреса частного фронтенда,
appGwPrivateFrontendIpIPv4. Если значение в целевом подресурсе не отображается, прослушиватель шлюза приложений настроен неправильно. Дополнительные сведения см. в разделе Configure Шлюз приложений Azure Приватный канал.
- Выберите + Добавить, чтобы добавить конфигурацию Приватный канал, а затем используйте следующие значения для создания конфигурации:
Настройка приватного канала
После создания интерфейсного IP-адреса и серверных пулов шлюза приложений настройте частную конечную точку из управляемой виртуальной сети в шлюз приложений. На портале Azure перейдите в центр Foundry, выберите Networking, а затем выберите Управляемый рабочей областью исходящий доступ>+ Добавить пользовательские правила исходящего трафика.
В форме правил исходящего трафика рабочей области задайте следующие значения, чтобы создать частную конечную точку:
- Имя правила: введите имя частной конечной точки для шлюза приложений.
- Тип назначения: частная конечная точка
- Подписка и группа ресурсов: выберите подписку и группу ресурсов, в которой развернут шлюз приложений.
- Тип ресурса:
Microsoft.Network/applicationGateways - Имя ресурса: имя ресурса шлюза приложений.
- Подресурс:
appGwPrivateFrontendIpIPv4 - Полные доменные имена (FQDN): введите FQDN-псевдонимы, которые будут использоваться на портале Foundry. Они разрешаются на частный IP-адрес управляемой частной конечной точки, предназначенный для шлюза приложений. Добавьте несколько FQDN, если необходимо связаться с несколькими ресурсами через шлюз приложений.
- Все добавленные полные доменные имена используют один и тот же IP-адрес для целевого шлюза приложений.
- IP-адрес находится в диапазоне управляемой виртуальной сети, а не в диапазоне виртуальной сети клиента.
Примечание
- Если вы используете прослушиватель HTTPS с отправленным сертификатом, убедитесь, что псевдоним FQDN соответствует сертификату CN (общее имя) или SAN (альтернативное имя субъекта), в противном случае вызов HTTPS завершается ошибкой из-за SNI (указание имени сервера).
- Каждое полное доменное имя должно иметь по крайней мере три метки, чтобы создать частную зону DNS для частной конечной точки в шлюзе приложений.
- После создания частной конечной точки вы можете изменить поле полных доменных имен с помощью пакета SDK или CLI. Его нельзя изменить на портале Azure.
- Динамическое именование подресурсов не поддерживается для конфигурации закрытого IP-адреса на фронтенде. Имя внешнего IP-адреса должно быть
appGwPrivateFrontendIpIPv4.
Настройка с помощью пакета SDK Python и Azure CLI
Чтобы создать правило исходящего трафика частной конечной точки с помощью Azure CLI или Python, см. статью Создание правила исходящего трафика частной конечной точки (Azure CLI или Python).
Ограничения
- Шлюз приложений поддерживает только конечные точки HTTP(S) в серверном пуле. Он не поддерживает сетевой трафик, отличный от HTTP(S). Убедитесь, что ресурсы используют протокол HTTP(S).
- При подключении к Snowflake через шлюз приложений, добавьте правила исходящего подключения для FQDN, чтобы можно было скачивать пакеты и драйверы и выполнять проверку OCSP.
- Драйвер Snowflake JDBC использует ПРОТОКОЛ HTTPS, но другие драйверы могут отличаться. Убедитесь, что ресурс использует протокол HTTP(S).
- Шлюз приложений не поддерживает сценарии использования Spark, такие как вычислительные задачи на Spark или бессерверные вычисления на Spark. Ошибка разрешения DNS (например, с nslookup) возникает при попытке разрешения FQDN в среде Spark.
- Дополнительные сведения см. в разделе часто задаваемые вопросы о шлюзе приложений.
Ошибки шлюза приложений
Устранение ошибок подключения шлюза приложений к ресурсам серверной части:
- Устранение неполадок с работоспособностью серверной части в шлюзе приложений
- Устранение ошибок неправильного шлюза в шлюзе приложений
- Коды ответов HTTP в шлюзе приложений
- Общие сведения об отключенных прослушивателях