应用服务环境计划内维护的升级首选项
Azure 应用服务会定期更新,从而提供新功能、新运行时版本、性能改进和 bug 修复。 这也称为“计划内维护”。 自动进行升级。 升级将按照 Azure 安全部署做法在各个区域中逐步应用。 应用服务环境是一项 Azure 应用服务功能,可提供完全隔离和专用的环境,以便高度安全地运行应用服务应用。 由于应用服务环境的隔离性质,你可以影响升级进程。
如果没有应用服务环境,请参阅如何创建应用服务环境 v3。
备注
本文介绍了应用服务环境 v3 的特性、优点和用例,它与应用服务隔离 v2 计划一起使用。
借助应用服务环境 v3,可以指定应用计划内维护的时间和方式的首选项。 可以自动或手动应用升级。 即使将首选项设置为自动,也可以借助某些选项来影响计时。
自动升级首选项
使用自动升级首选项时,平台会在部署实例的区域提供升级时升级应用服务环境实例。 可以选择以下选项之一:
- “无”是默认选项。 此选项会在此区域的升级过程中自动应用升级。
- 提前会自动应用升级,但会优先将其作为区域中要升级的首批实例之一。
- 延迟会自动应用升级,但实例会是区域中最后要升级的实例之一。
在较小的区域中,提前和延迟升级首选项可能非常接近。
手动升级首选项
手动升级首选项会在升级可用时提供接收通知的选项。 Azure 门户中也会显示可用性。 提供升级后,你将有 15 天的时间启动升级进程。 如果未在 15 天内启动升级,升级会协同区域中剩余的自动升级一起进行处理。
升级通常不会影响应用的可用性。 升级增加了额外的实例,以确保在升级期间提供相同的容量。 修补和重启的实例会重新添加回轮换,如果工作负载对重启敏感,则应该计划在非营业时间启动维护。 完整升级过程通常在 18 小时内完成,但可能需要更长的时间。 升级启动后,升级会运行,直到升级完成,并且不会在标准营业时间内暂停。
注意
在极少数情况下,升级可用性可能会受到取代计划升级的安全性修补程序的影响,或者会在计划升级应用到实例之前在计划升级中找到回归。 在这些极少数情况下,可用升级将被删除并会转换为自动升级。
配置通知
升级可用时,Azure 会在 Azure Monitor 的服务运行状况仪表板中添加计划内维护事件。 若要在 Azure 门户中查看之前的通知,请导航到“主页 > 监视 > 服务运行状况 > 计划内维护”。 为了便于查找相关事件,请选择“服务”框并仅选中应用服务类型。 还可以按订阅和区域进行筛选。
可以配置警报,用于在 Azure Monitor 中生成事件时向电子邮件地址和/或短信电话号码发送消息。 还可以为自定义 Azure 函数或逻辑应用设置触发器,从而自动对资源执行操作。 此操作可能会自动将流量从某个要升级的区域中的应用服务环境转移到其他区域中的应用服务环境。 然后,可以在升级完成后自动将流量更改回正常状态。
若要为升级通知配置警报,请选择仪表板顶部的“添加服务运行状况警报”。 详细了解 Azure Monitor 警报。 本操作指南会指导你完成为服务运行状况事件配置警报。 最后,可以根据此操作指南了解如何创建基于警报触发的操作组。
发送测试通知
生成自动化和通知逻辑时,需要在实际升级可用之前对其进行测试,因为此升级可能超过一个月。Azure 门户能够发送特殊的测试升级可用通知,可用于验证自动化逻辑。 消息类似于真正的通知,但标题会以“[Test]”为前缀,且说明会有所不同。 将升级首选项配置为手动后,可以发送测试通知。
若要发送测试通知,请导航到应用服务环境的“配置”页面,然后选择“发送测试通知”链接。 每 15 分钟分批发送一次测试通知。
使用 Azure 门户配置升级首选项
- 在 Azure 门户中,导航到应用服务环境的“配置”页面。
- 选择升级首选项。
- 在页面顶部选择“保存”。
使用 Azure CLI 配置升级首选项
建议使用 Azure 门户体验升级功能。 如果决定使用 Azure CLI 配置和执行升级,应按顺序执行此处说明的步骤。 安装 Azure CLI 后,可以在本地运行命令。
将名称和资源组的占位符替换为要配置的应用服务环境的值。 若要查看当前的升级首选项:
ASE_NAME=<Your-App-Service-Environment-name>
ASE_RG=<Your-Resource-Group>
az resource show --name $ASE_NAME -g $ASE_RG --resource-type "Microsoft.Web/hostingEnvironments" --query properties.upgradePreference
若要将升级首选项更新为“手动”:
ASE_NAME=<Your-App-Service-Environment-name>
ASE_RG=<Your-Resource-Group>
az resource update --name $ASE_NAME -g $ASE_RG --resource-type "Microsoft.Web/hostingEnvironments" --set properties.upgradePreference=Manual
使用 Azure 门户升级应用服务环境
提供升级时,Azure 门户中会显示横幅。 请按照以下步骤启动升级:
使用 Azure CLI 升级应用服务环境
运行这些命令,获取应用服务环境 ID,并将其存储为环境变量。 将名称和资源组的占位符替换为要迁移的应用服务环境的值。
ASE_NAME=<Your-App-Service-Environment-name>
ASE_RG=<Your-Resource-Group>
ASE_ID=$(az appservice ase show --name $ASE_NAME --resource-group $ASE_RG --query id --output tsv)
运行此命令发送测试升级通知:
az rest --method POST --uri "${ASE_ID}/testUpgradeAvailableNotification?api-version=2022-03-01"
运行此命令启动升级进程:
az rest --method POST --uri "${ASE_ID}/upgrade?api-version=2022-03-01"