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

应用服务环境的网络体系结构概述

重要

本文介绍应用服务环境 v1。 应用服务环境 v1 和 v2 于 2024 年 8 月 31 日停用。 应用服务环境有新版本,此版本更易于使用并在更强大的基础结构上运行。 若要详细了解该新版本,请先参阅应用服务环境简介。 如果你当前正在使用应用服务环境 v1,请按照本文中的步骤迁移到新版本。

从 2024 年 8 月 31 日开始,服务级别协议 (SLA) 和服务额度不再适用于继续投入生产的应用服务环境 v1 和 v2 工作负载,因为这些产品已经停用。 应用服务环境 v1 和 v2 硬件已开始停用,这可能会影响你的应用和数据的可用性和性能。

必须立即完成到应用服务环境 v3 的迁移,否则你的应用和资源可能会被删除。 我们将使用就地迁移功能在最大程度上努力尝试自动迁移任何剩余的应用服务环境 v1 和 v2,但 Microsoft 对自动迁移后的应用程序可用性不作任何声明或保证。 你可能需要执行手动配置来完成迁移,并优化应用服务计划 SKU 选项来满足需求。 如果无法进行自动迁移,你的资源和关联的应用数据会被删除。 我们强烈建议你立即采取行动,以避免发生这两种极端情况之一。

如果你需要更多时间,我们可以提供一次性的 30 天宽限期,以便你完成迁移。 如需了解更多信息并申请此宽限期,请查看宽限期概述,然后转到 Azure 门户并访问每个应用服务环境的“迁移”窗格。

有关应用服务环境 v1/v2 停用的最新信息,请参阅应用服务环境 v1 和 v2 停用更新

应用服务环境始终创建于虚拟网络的子网内,在应用服务环境中运行的应用可与相同虚拟网络拓扑中的专用终结点通信。 由于客户可能会锁定其虚拟网络基础结构的组件,因此请务必了解应用服务环境中出现的网络通信流类型。

常规网络流

当应用服务环境 (ASE) 将公共虚拟 IP 地址 (VIP) 用于应用时,所有入站流量都将到达该公共 VIP。 该流量包括应用的 HTTP 和 HTTPS 流量,以及 FTP、远程调试功能和 Azure 管理操作的其他流量。 有关公共 VIP 上可用特定端口(必需和可选)的完整列表,请参阅有关控制发往应用服务环境的入站流量的文章。

应用服务环境还支持运行只绑定到一个虚拟网络内部地址(也称为 ILB,即内部负载均衡器)地址的应用。 在启用 ILB 的 ASE 上,应用和远程调试调用的 HTTP 和 HTTPS 流量都会到达 ILB 地址。 对于最常见的 ILB-ASE 配置,FTP/FTPS 流量也会到达 ILB 地址。 但是,Azure 管理操作会流向启用 ILB 的 ASE 的公共 VIP 上的端口 454/455。

下图显示了一个应用服务环境的各种入站和出站网络流的概述,此环境中的应用绑定到公共虚拟 IP 地址:

常规网络流

应用服务环境可与专用客户终结点进行通信。 例如,在应用服务环境中运行的应用可以连接到在相同虚拟网络拓扑中的 IaaS 虚拟机上运行的数据库服务器。

重要

请查看网络图,“其他计算资源”部署在与应用服务环境不同的子网中。 将资源部署于和 ASE 相同的子网中,阻止从 ASE 连接到这些资源的连接(除了特定的内部 ASE 路由之外)。 请改为部署到(相同 VNET 中)不同的子网。 然后,应用服务环境将能够连接。 不需要任何其他配置。

应用服务环境还能与管理和操作应用服务环境所需的 Sql DB 与 Azure 存储资源进行通信。 与应用服务环境通信的一些 SQL 和存储资源位于与应用服务环境相同的区域中,有些则位于远程 Azure 区域中。 因此,只有与 Internet 建立了出站连接,应用服务环境才能正常工作。

由于应用服务环境是在子网中部署的,因此可以使用网络安全组来控制发往子网的入站流量。 有关如何控制发往应用服务环境的入站流量的详细信息,请参阅以下文章

有关如何允许来自应用服务环境的出站 Internet 连接的详细信息,请参阅以下有关使用 Express Route 的文章。 此文章所述的方法同样适用于使用站点到站点连接以及使用强制隧道的情况。

出站网络地址

应用服务环境执行出站调用时,IP 地址始终与出站调用相关联。 具体 IP 地址取决于所调用的终结点是位于虚拟网络拓扑内部还是外部。

如果调用的终结点在虚拟网络拓扑外部,则出站地址(也称为出站 NAT 地址)是应用服务环境的公共 VIP。 可以在应用服务环境的门户用户界面中的“属性”部分找到此地址。

出站 IP 地址

对于只有公共 VIP 的 ASE,也可以通过在应用服务环境中创建一个应用,并对该应用的地址执行 nslookup,来确定此地址。 最终的 IP 地址既是公共 VIP,也是应用服务环境的出站 NAT 地址。

如果调用的终结点在虚拟网络拓扑内部,则调用端应用的出站地址是运行应用的单个计算资源的内部 IP 地址。 但是,虚拟网络内部 IP 地址与应用之间不存在持久性的映射。 应用可以在不同的计算资源之间移动,并且可以基于缩放操作更改应用服务环境中的可用计算资源池。

但是,由于应用服务环境始终位在子网内,因此可以保证运行应用的计算资源的内部 IP 地址始终处于子网的 CIDR 范围内。 因此,使用精细 ACL 或网络安全组来保护虚拟网络中其他终结点的访问时,需要将访问权限授予包含应用服务环境的子网范围。

下图更详细地演示了这些概念:

出站网络地址

在上图中:

  • 由于应用服务环境的公共 VIP 是 192.23.1.2,因此这是调用“Internet”终结点时使用的出站 IP 地址。
  • 应用服务环境的包含子网的 CIDR 范围是 10.0.1.0/26。 同一虚拟网络基础结构中的其他终结点将看到源自此地址范围内某个应用的调用。

在应用服务环境之间调用

如果在相同的虚拟网络中部署多个应用服务环境,并从一个应用服务环境传出调用到另一个应用服务环境,则可能会出现更复杂的情景。 这些跨应用服务环境的调用也被视为“Internet”调用。

下图显示了分层体系结构的示例,其中,位于一个应用服务环境中的应用(例如,“Front door”Web 应用)调用另一个应用服务环境中的应用(例如,不应从 Internet 访问的内部后端 API 应用)。

在应用服务环境之间调用

在上述示例中,应用服务环境“ASE One”有一个出站 IP 地址 192.23.1.2。 如果应用服务环境中运行的应用,对位于同一虚拟网络中第二个应用服务环境(“ASE Two”)上运行的应用进行出站调用,则此出站调用将视为“Internet”调用。 因此,到达第二个应用服务环境的网络流量将来源显示为来自 192.23.1.2(即,不是第一个应用服务环境的子网地址范围)。

即使不同应用服务环境之间的调用被视为“Internet”调用,但当两个应用服务环境位于相同的 Azure 区域时,网络流量也会保留在区域性 Azure 网络上,实际上并不在公共 Internet 上流动。 因此,可以使用第二个应用服务环境的子网上的网络安全组,仅允许来自第一个应用服务环境(其出站 IP 地址为 192.23.1.2)的入站调用,从而确保应用服务环境之间的通信安全。

此处提供了有关应用服务环境使用的入站端口以及使用网络安全组控制入站流量的详细信息。

此文介绍了有关使用用户定义路由来授予对应用服务环境的出站 Internet 访问权限的详细信息。