你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

从 Azure AI Foundry 托管网络访问本地资源

注释

必须使用基本中心的项目来实现此功能。 不支持 Azure AI Foundry 项目 。 请参阅如何知道我拥有哪种类型的项目?创建基于中心的项目

配置 Azure 应用程序网关,让 Azure AI Foundry 中的托管虚拟网络在另一个虚拟网络或本地访问非 Azure 资源。 网关为这些资源提供安全的专用端到端路径。

Azure 应用程序网关是一个负载均衡器,根据 HTTPS 请求的 URL 做出路由决策。 Azure 机器学习支持使用应用程序网关与非 Azure 资源进行安全通信。 有关应用程序网关的更多信息,请参阅什么是 Azure 应用程序网关

在 Azure 虚拟网络中设置应用程序网关,以便入站访问 Azure AI Foundry 中心。 配置网关后,请从中心的托管虚拟网络向该网关创建一个专用终结点。 专用终结点确保整个端到端路径保持私密,并不在互联网上公开。

此图显示了使用 Azure 应用程序网关和专用终结点安全地访问本地资源的托管虚拟网络。

先决条件

  • 阅读 应用程序网关的工作原理 ,了解应用程序网关如何保护与非 Azure 资源的连接。
  • 设置 Azure AI Foundry 中心的托管虚拟网络并选择隔离模式:允许 Internet 出站或仅允许批准的出站。 在 托管虚拟网络隔离中了解详细信息。
  • 获取资源的专用 HTTP(S) 终结点。

支持的资源

应用程序网关支持使用 HTTP 或 HTTPS 的任何后端资源。 应用程序网关验证从托管虚拟网络到以下资源的连接:

  • JFrog Artifactory
  • Snowflake
  • 私有 API

配置 Azure 应用程序网关

按照快速入门:使用门户定向 Web 流量中的说明操作。 若要正确设置应用程序网关以用于 Azure 机器学习,请在创建应用程序网关时使用以下指南:

  1. “基本信息 ”选项卡上,查看并应用以下设置。

    • 确保应用程序网关与所选 Azure 虚拟网络位于同一区域。
    • Azure AI Foundry 仅支持应用程序网关的 IPv4。
    • 在虚拟网络中,为应用程序网关选择一个专用子网。 不要在此子网中部署其他资源。
  2. “前端” 选项卡上,应用程序网关并不只支持专用前端 IP 地址,因此请选择或创建公共 IP 地址。 在“基本信息”选项卡上选择的子网范围内为后端资源添加专用 IP 地址。

  3. 在“ 后端 ”选项卡上,将后端目标添加到后端池进行路由。 根据需要创建不同的池(例如 Snowflake 数据库)。

  4. “配置 ”选项卡上,配置前端 IP 接收请求的方式,并将其路由到后端。

    • 在“侦听器”部分中:

      • 使用 HTTP 或 HTTPS 创建侦听器并指定侦听端口。 若要在同一前端 IP 上使用两个路由到不同后端池的侦听器,请使用不同的端口。 传入请求按端口进行区分。
      • 对于端到端 TLS 加密,请选择 HTTPS 侦听器并上传证书,以便应用程序网关可以解密侦听器收到的请求。 有关详细信息,请参阅在 Azure 应用程序网关上启用端到端 TLS
      • 对于没有公共网络访问的完全专用后端目标,请不要在公共前端 IP 地址或其路由规则上设置侦听器。 应用程序网关仅转发侦听器在指定端口上接收的请求。 若要避免错误添加公共前端 IP 侦听器,请参阅 网络安全规则 来锁定公共网络访问。
    • “后端目标 ”部分中,如果使用 HTTPS 且后端服务器的证书不是由已知 CA 颁发的,请上传根证书()。后端服务器的 CER。 有关详细信息,请参阅 使用门户配置端到端 TLS 加密

  5. 创建应用程序网关资源后,访问 Azure 门户中的该资源。 在 “设置”下,选择 “专用”链接 以通过专用终结点连接启用专用访问。 默认情况下,不会创建专用链接配置。

    • 选择“+ 添加”以添加专用链接配置,然后使用以下值创建配置:
      • 名称:为专用链接配置提供名称
      • 专用链接子网:在虚拟网络中选择子网
      • 前端 IP 配置:appGwPrivateFrontendIpIPv4
    • 若要验证是否已正确设置专用链接,请转到 “专用终结点连接 ”选项卡,然后选择“ + 专用终结点”。 在“资源”选项卡上,“目标”子资源应该是专用前端 IP 配置的名称。 appGwPrivateFrontendIpIPv4 如果未在 目标子资源中显示任何值,则未正确配置应用程序网关侦听器。 有关详细信息,请参阅 配置 Azure 应用程序网关专用链接
  1. 创建应用程序网关前端 IP 和后端池后,将专用终结点从托管虚拟网络配置为应用程序网关。 在 Azure 门户中,转到 Azure AI Foundry 中心,选择 “网络”,然后选择 “工作区托管的出站访问>+ 添加用户定义的出站规则”。

  2. “工作区出站规则 ”窗体中,设置以下值以创建专用终结点:

    • 规则名称:输入应用程序网关专用终结点的名称。
    • 目标类型:专用终结点
    • 订阅和资源组:选择在其中部署应用程序网关的订阅和资源组。
    • 资源类型:Microsoft.Network/applicationGateways
    • 资源名称:应用程序网关资源的名称。
    • 子资源: appGwPrivateFrontendIpIPv4
    • FQDN:输入在 Azure AI Foundry 门户中使用的 FQDN 别名。 它们解析为托管专用终结点的专用 IP 地址,该地址以应用程序网关为目标。 如果需要通过应用程序网关访问多个资源,请添加多个 FQDN。
      • 所有添加的 FQDN 都对目标应用程序网关使用相同的 IP 地址。
      • IP 地址位于托管虚拟网络范围内,而不是客户的 VNet 范围。

    注释

    • 如果将 HTTPS 侦听器与上传的证书一起使用,请确保 FQDN 别名与证书 CN(公用名)或 SAN(使用者可选名称)匹配,否则 HTTPS 调用会因为 SNI(服务器名称指示)而失败。
    • 每个 FQDN 必须至少有三个标签才能为应用程序网关的专用终结点创建专用 DNS 区域。
    • 使用 SDK 或 CLI 创建专用终结点后,可以编辑 FQDN 字段。 无法在 Azure 门户中对其进行编辑。
    • 专用前端 IP 配置不支持动态子资源命名。 前端 IP 名称必须是 appGwPrivateFrontendIpIPv4

使用 Python SDK 和 Azure CLI 进行配置

若要使用 Python SDK 创建应用程序网关的专用终结点,请参阅 用于 Python 的 Azure SDK

若要使用 Azure CLI 创建应用程序网关的专用终结点,请运行 az ml workspace outbound-rule set 命令。 根据需要为配置设置属性。 有关详细信息,请参阅配置托管网络

局限性

  • 应用程序网关仅支持后端池中的 HTTP(S) 终结点。 它不支持非 HTTP(S) 网络流量。 确保资源使用 HTTP(S) 协议。
  • 通过应用程序网关连接到 Snowflake 时,添加 FQDN 出站规则以启用包和驱动程序下载和 OCSP 验证。
    • Snowflake JDBC 驱动程序使用 HTTPS,但其他驱动程序可能有所不同。 验证资源是否使用 HTTP(S) 协议。
  • 应用程序网关不支持 Spark 场景,例如 Spark 计算或无服务器 Spark 计算。 从 Spark 计算解析 FQDN 时,DNS 解析(例如,使用 nslookup)会失败。
  • 有关应用程序网关的常见问题解答中了解详细信息。

应用程序网关错误

排查应用程序网关到后端资源的连接错误: