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

Azure 应用服务上的托管实例(预览版)

Azure 应用服务上的托管实例(预览版)是一个计划范围的托管选项,适用于需要作系统(OS)自定义、可选专用网络和安全与 Azure 资源的集成的 Windows Web 应用。 它专注于旧式或依赖基础设施的工作负载(如组件对象模型(COM)、注册表、Microsoft/Windows Installer(MSI)),同时确保继续保留应用服务的托管修补、扩展、诊断和身份识别功能。

重要

托管实例为预览版,适用于选定区域中的 Windows Web 应用,并仅限于 Pv4 和 Pmv4 定价计划。 更多地区将陆续推出。 不支持 Linux 和容器。

关键功能

下表总结了托管实例提供的主要功能:

类别 能力
网络隔离 计划级虚拟网络集成(可选),可以在创建后添加):
• 专用终结点和自定义路由
• 网络安全组(NSG)支持、NAT 网关和路由表
• 用于内部名称解析的专用域名服务器(DNS)
计算隔离 • 计划范围内的隔离,完全掌控网络边界
• 用于可预测性能的专用计算
自定义组件支持 PowerShell 安装脚本,适用于:
• COM 组件
• 注册表和持久性注册表值
• Internet Information Services (IIS Server) 配置和 ACL
• MSI 安装程序
• 非Microsoft组件和 Windows 服务
• 全局程序集缓存 (GAC) 安装
• Windows 功能(MSMQ 客户端、服务器角色)
• 自定义框架(客户自主管理的补丁)
注册表适配器 基于 Azure Key Vault 的注册表项用于安全配置
存储灵活性 • 使用 Key Vault 集成的 Azure 文件
• UNC 路径和网络共享访问
• 脚本化驱动器映射
• 本地临时存储(2 GB,非持久性)
托管标识 • 计划级别的系统分配标识和用户分配标识
• 对 Azure 资源的无密钥身份验证
运营效率 平台管理的负载均衡、修补和扩展:
• 水平自动缩放(所有实例)
• 垂直缩放(仅 Pv4/Pmv4)
远程桌面协议 • 通过 Azure Bastion 实时 RDP(需要虚拟网络)
• 访问日志、事件查看器和 IIS 管理器
安全性和身份验证 • 具有证书绑定的 TLS 和自定义域
• 使用 Microsoft Entra ID 的应用服务身份验证
运行时支持 • 预安装:.NET Framework 3.5、4.8 和 .NET 8
• 通过安装脚本自定义运行时
CI/CD 集成 GitHub Actions,Azure DevOps,zip 部署,包部署,从包运行

配置选项

托管实例通过以下方式提供计划级配置:

  • 配置(安装)脚本:将压缩的 PowerShell 脚本上传到 Azure 存储(通过托管标识访问)。 脚本在启动时为持久性配置运行。

    • RDP 会话更改是临时的,在重启或平台维护后丢失。
    • 脚本执行日志显示在应用服务控制台日志中,可以流式传输到 Azure Monitor。
  • Windows 注册表适配器:在计划级别定义注册表项,并将机密值存储在 Azure Key Vault 中。

  • 存储装载:通过 Azure 文件存储或自定义 UNC 路径使用自定义驱动器号映射存储。 本地存储也可用,但限制为 2 GB,在重启后不会保留。

  • RDP 访问:通过 Azure Bastion 实时远程桌面(需要虚拟网络集成)。

日志记录和故障排除

  • 托管实例的日志是在应用服务计划级别而不是应用级别创建的。
  • 存储装载和注册表适配器事件在应用服务平台日志中捕获。 这些日志可以通过 Logstream 流式传输,也可以与 Azure Monitor 集成。
  • 配置(install) 脚本日志在应用服务控制台日志和实例(例如 C:\InstallScripts<scriptName>\Install.log)中可用。 使用 Logstream 或 Azure Monitor 进行集中访问。
  • RDP 访问需要 Azure Bastion 和虚拟网络集成。 建议使用 IIS 管理器和事件查看器进行诊断。

选择正确的托管选项

如果需要,请使用托管实例:

旧版 Windows 兼容性

  • COM 组件、注册表修改和 MSI 安装程序
  • 用于诊断的 IIS 管理器访问和远程桌面协议 (RDP)
  • 通过 UNC 路径或驱动器映射共享网络

迁移且最大程度上减少重构工作

  • 旧版 .NET Framework 应用的“提升和改进”
  • 逐步现代化,无需完全重写
  • 合规性要求的计划级网络隔离

特定于 Windows 的自定义

  • 用于启动配置的 PowerShell 安装脚本
  • Windows 功能,例如 MSMQ 或服务器角色
  • GAC 中的自定义非Microsoft组件

如果需要,请使用标准应用服务:

新式云原生开发

  • 多语言应用支持(Python、Node.js、Java、PHP 等)
  • Linux 或容器化工作负荷
  • 无操作系统定制化的平台托管基础结构
  • 更广泛的运行时和框架选项

如果需要,请使用应用服务环境(ASE):

企业规模隔离

  • 完全隔离的专用基础结构
  • 支持 100 多个应用程序的部署
  • 完成网络边界控制

当前限制(预览版)

限度 详细信息
平台 • 仅限 Windows (无 Linux/容器)
• 在 ASE 中不可用
SKU 仅 Pv4 和 Pmv4
Regions 东亚、美国中西部、北欧、美国东部
身份验证 仅限 Entra ID 和托管标识(无域加入/NTLM/Kerberos)
工作负载 仅限 Web 应用(无 WebJobs、TCP/NetPipes)
配置 持久更改需要脚本(RDP 仅限于诊断)

最佳做法

  • 使用配置脚本(安装脚本)进行持久配置。
  • 使用 Key Vault 集中机密。
  • 在预览环境中验证日志记录设置。
  • 在正式发布之前,在预生产环境中测试配置(安装)脚本。
  • 将网络规则与依赖项清单保持一致。
  • 使用 Microsoft Defender for Cloud 进行监视,以便进行威胁检测。

后续步骤