应用服务环境 v3 提供了一个完全隔离且专用的环境,用于运行 App Service 应用。 多租户应用服务在专用工作者上运行应用,同时与其他客户共享支持的平台基础设施。
这两种服务都支持无公开入站曝光的应用。 应用服务环境 v3 可以通过内部负载均衡器(ILB)提供私有入口。 多租户应用服务可以通过禁用公共网络访问的私有端点提供私有入侵。
本文比较了区分 应用服务环境 v3 与多租户 App Service 的能力和需求。
Hosting
| 功能 | 应用服务环境 v3 | 公共多租户应用服务 |
|---|---|---|
| 托管环境 | 完全隔离和专用的计算 | 共享环境。 运行您的应用程序的工作线程是专用的,但支持的基础设施与其他客户共享。 |
| 硬件 | 虚拟机规模集 | 虚拟机规模集 |
| 定价层 | 独立 V2 | 免费、基本、标准、高级 v2 |
| 专用主机组 | 可用 | 不可用 |
| 远程文件存储 | 完全致力于应用服务环境 | 应用程序的远程文件存储是专用的,但存储托管在共享文件服务器上。 |
| 专用入站配置 | 通过内部负载均衡器(ILB)、应用服务环境 或私有端点支持。 | 通过私有端点支持。 关闭公共网络访问以消除公共入站暴露。 |
| 计划内维护 | 手动升级首选项可用 | 平台处理维护 |
| 远程文件共享的聚合存储限制 | 所有应用在应用服务环境 v3 中可获得 1 TB的存储空间 | 250 GB(单个应用服务计划中的所有应用)。 500 GB(单个资源组中所有应用服务计划的所有应用)。 |
Scaling
应用服务环境 v3 和公共多租户产品/服务都在 虚拟机规模集上运行。 这两种产品/服务都受益于规模集提供的功能。
但是,应用服务环境 v3 是专用环境。 尽管它可以扩展到比公共多租户产品/服务更多的实例,但横向扩展到多个实例的速度可能比公共多租户产品/服务慢。
| 功能 | 应用服务环境 v3 | 公共多租户应用服务 |
|---|---|---|
| 最大实例计数 | 每个应用服务计划 100 个实例。 单个应用服务环境 v3 中所有计划最多 200 个实例。 | 每个应用服务计划 30 个实例。 无法提高这个限制。 |
| 缩放速度 | 由于环境的专用性质,缩放时间较慢 | 由于环境是共享的,扩展速度更快 |
证书和域
| 功能 | 应用服务环境 v3 | 公共多租户应用服务 |
|---|---|---|
| 自定义域 | 可将 自定义域后缀 添加到应用服务环境,并且所有应用都继承域后缀。 还可以将自定义域直接添加到应用中。 | 可以直接将自定义域添加到应用 |
| 专用 DNS 上的自定义域(无需域验证) | 支持 ILB 应用服务环境 | 不支持。 自定义域需要通过公共 DNS 解析。 |
| 入站 TLS(传输层安全协议) | 支持. 可以直接在环境中管理 SSL 证书,包括上传和绑定自定义 SSL 证书的功能。 | 支持. 可以自带证书或使用 Azure 提供的证书。 |
| 使用私有证书颁发机构颁发的证书的入站 TLS | 已支持 | 不支持 |
| 使用私有 CA 颁发的客户端证书进行的出站呼叫 | 支持 Windows 和 Linux 应用。 可以使用 根证书 API 添加环境范围内的根 CA 证书,或使用 专用客户端证书方法 在每个应用程序中添加根 CA 证书(仅限 Windows 代码应用)。 | 不支持基于源代码的部署。 如果使用 Windows 容器或 Linux 容器进行部署,则受支持。 (可以在两个平台变体的自定义容器中安装任意依赖项,包括专用 CA 颁发的客户端证书)。 |
| 跨应用共享的证书 | 是的。 | 否。 必须将证书上传到每个应用。 |
| 公共证书限制 | 每个应用服务计划 1,000 个公共证书 | 每个应用服务计划 1,000 个公共证书 |
| 入站调用的端到端 TLS 加密 | 已支持 | 适用于高级版 App Service 计划和现有的标准版 App Service 部署。 有关配置细节,请参见 端到端TLS加密。 |
| 更改 TLS 密码套件顺序 | Supported | 支持最低 TLS 密码套件功能 |
网络
| 功能 | 应用服务环境 v3 | 公共多租户应用服务 |
|---|---|---|
| 虚拟网络集成 | 支持. 默认情况下,应用服务环境 v3 部署到虚拟网络中的子网中。 | 支持,但 必须显式启用 |
| 专用终结点支持 | 支持,但 必须在应用服务环境中显式启用 | 支持,但 必须显式启用 |
| 入站流量的 IP 访问限制 | 支持,但 必须显式启用 | 支持,但 必须显式启用 |
| 网络安全组 (NSG) 集成 | 支持入站和出站流量控制 | 可以使用 NSG 通过指定了专用终结点 IP 来源的子网进行入站流量控制。 请注意,该功能需要专用终结点。支持在虚拟网络集成子网上使用 NSG 进行出站网络限制。 |
| 用户定义的路由 (UDR) 集成 | 支持出站流量路由,但 必须显式启用 | 支持出站流量路由,但 必须显式启用 |
| 通过虚拟网络路由出站流量 | 是的。 所有应用都位于同一子网中,默认情况下,所有出站流量都通过虚拟网络路由。 | 支持。 |
| 阻止非 HTTP 端口上托管的应用服务功能的入站流量 | 支持. NSG 可用于阻止发到非 HTTP 端口的入站流量。 | 不支持。 在某些情况下(FTP 和远程调试),可以按应用程序显式禁用功能。 但是,无法通过 NSG 阻止入站网络流量,因为托管基础结构的基础应用服务平台拥有列出的端口。 |
| 通过虚拟网络拉取 Docker 容器 | 支持. 使用应用服务环境的子网。 | Supported |
| 通过虚拟网络访问 Azure Functions 存储帐户 | 支持. 使用应用服务环境的子网。 | Supported |
| 通过虚拟网络备份/还原 | 支持. 使用应用服务环境的子网。 | Supported |
| 每个虚拟机实例的最大出站 TCP/IP 连接数 | 16,000 | 每个 P1V3 实例 1,920 个。 每个 P2V3 实例 3,968 个。 每个 P3V3 实例 8,064 个。 |
| 每个虚拟机实例的最大源网络地址转换(SNAT)端口数 | 动态:256 到 1,024,具体取决于实例总数 | 每个实例 128 个 |
注释
在多租户应用服务中,私有端点和虚拟网络集成分别服务不同的流量方向。 私有端点提供对应用的私密入站访问。 虚拟网络集成将应用发起的出站流量路由到虚拟网络,必须使用不同的子网。
虚拟网络集成子网上的路由表和网络安全组不适用于通过应用私有端点收到的请求回复。 更多信息请参见 虚拟网络集成路由。
如果发往私有端点的流量通过网络虚拟设备路由,确保前向和返回路径保持对称。 除非设备使用支持disableSnatOnPL的配置,否则专用链接通常建议对该拓扑采用源网络地址转换(SNAT)。 有关详细信息,请参阅专用终结点的限制。
定价
由于基础结构的专用性质,应用服务环境 v3 往往比公共多租户产品/服务更昂贵。 对于这两种产品/服务,只需为使用的资源付费。 两种产品/服务均提供预留实例和节省计划,以节省长期承诺的费用。
| 功能 | 应用服务环境 v3 | 公共多租户应用服务 |
|---|---|---|
| 定价 | 按实例付费 | 按实例付费 |
| 预留实例 | 可用 | 可用 |
| 节省计划 | 可用 | 可用 |
| 可用性区域定价 | 对于启用了可用性区域的应用服务计划,强制实施至少两个实例 | 每个应用服务计划要求至少两个实例 |
常见问题解答
- 如何知道哪个产品/服务适合我?
- 是否可以同时使用应用服务环境 v3 和公共多租户产品/服务?
- 是否可以从公共多租户产品/服务迁移到应用服务环境 v3?
- 是否可以将应用服务环境 v3 用于开发和测试环境?
- 如何开始使用应用服务环境 v3?
- 如何开始使用应用服务公共多租户产品/服务?
如何知道哪个产品/服务适合我?
仅实现专用入站访问或消除公共暴露,并不需要使用应用服务环境 v3。 这两种方案都支持私有应用访问。 在多租户应用服务中,配置一个私有端点并禁用公共网络访问。
当您需要专用支持基础设施或 应用服务环境 特定能力(如环境级网络、超越多租户计划限制、私有证书授权中心场景,或控制非 HTTP 平台端口的入站流量)时,选择 应用服务环境 v3。
在应用服务环境 v3 和公共多租户产品/服务之间做出选择取决于你的特定要求。 以下常见方案可帮助你决定:
如果需要完全隔离且专用的环境来运行应用,应用服务环境 v3 是适合你的选择。
如果你不需要完全隔离的环境,并且你可以与其他客户共享支持基础结构,则公共多租户产品/服务是适合你的选择。
如果您需要近乎即时的扩展时间,公共多租户产品/服务是您的最佳选择。
如果需要横向扩展到 30 多个实例,应用服务环境 v3 是适合你的选择。
如果需要使用由专用 CA 颁发的客户端证书,应用服务环境 v3 是适合你的选择。
如果需要使用专用 CA 颁发的客户端证书并使用 Windows 容器或 Linux 容器进行部署,则公共多租户产品/服务也是可能的。
如果要简化网络配置并让所有应用位于同一子网中,则应用服务环境 v3 是适合你的选择。
如果想要使用虚拟网络集成、专用终结点或 IP 访问限制,则这两个产品/服务都适合你。 但你需要为公共多租户服务按应用启用这些功能。
是否可以同时使用应用服务环境 v3 和公共多租户产品/服务?
是,可以同时使用应用服务环境 v3 和公共多租户产品/服务。 你可以使用 应用服务环境 v3 来处理需要专用支持基础设施或 应用服务环境 特定能力的应用。 对于隔离和网络要求可通过每应用功能(如私有终结点、公共网络访问控制、虚拟网络集成和访问限制)满足的应用,可以使用多租户应用服务。
是否可以从公共多租户产品/服务迁移到应用服务环境 v3?
是的。 你可以从多租户 App Service 迁移到 应用服务环境 v3,但这个过程不是原地转换。 你需要创建目标应用服务资源,并重新部署或恢复应用。
如果你使用应用服务的备份和恢复,请查看适用的限制。 恢复兼容性取决于备份类型和操作系统等因素,自动备份和自定义备份的目的地限制不同。 更多信息请参见 “备份并恢复您的应用”。
是否可以将应用服务环境 v3 用于开发和测试环境?
是,可以将应用服务环境 v3 用于开发和测试环境。 但是,应用服务环境 v3 比公共多租户产品/服务更昂贵。 你可能想要将公共多租户产品/服务用于开发和测试环境,以节省资金。
如何开始使用应用服务公共多租户产品/服务?
若要开始使用应用服务公共多租户产品/服务,请参阅 Azure 应用服务入门。