处理 Azure 托管应用程序的托管资源组中的资源
本文介绍如何更新已部署为托管应用程序的一部分的资源。 作为托管应用程序的发布者,您对客户 Azure 租户中的受管理资源组中的资源具有管理访问权限。 若要更新这些资源,您需要登录到客户订阅,找到与托管应用程序关联的受管理资源组,并访问受管理资源组中的资源。 有关权限的详细信息,请参阅发布者和客户权限。
本文假设你已部署包含 Azure 管理服务的托管 Web 应用程序 (IaaS) 示例项目中的托管应用程序。 该托管应用程序包含一个 Standard_D1_v2 虚拟机。 如果你尚未部署该托管应用程序,仍可以使用本文来熟悉更新受管理资源组的步骤。
下图显示了已部署的托管应用程序。
在本文中,我们使用 Azure CLI 来执行以下操作:
- 识别托管应用程序。
- 识别受管理资源组。
- 识别受管理资源组中的虚拟机资源。
- 更改虚拟机大小,如果未在使用,则更改为较小的大小,或者更改为较大的大小以支持更多的负载。
- 将用于指定允许位置的策略分配到受管理资源组。
获取托管应用程序和托管资源组
若要获取资源组中的托管应用程序,请使用以下命令。 使用资源组名替换 <resourceGroupName>
。
az managedapp list --query "[?contains(resourceGroup,'<resourceGroupName>')]"
若要获取托管资源组的 ID,请使用:
az managedapp list --query "[?contains(resourceGroup,'<resourceGroupName>')].{ managedResourceGroup:managedResourceGroupId }"
调整托管资源组中 VM 的大小
若要查看托管资源组中的虚拟机,请提供托管资源组的名称。 使用受管理资源组名替换 <mrgName>
。
az vm list -g <mrgName> --query "[].{VMName:name,OSType:storageProfile.osDisk.osType,VMSize:hardwareProfile.vmSize}"
若要更新 VM 的大小,请使用:
az vm resize --size Standard_D2_v2 --ids $(az vm list -g <mrgName> --query "[].id" -o tsv)
完成操作后,验证应用程序是否在 Standard D2 v2 大小的 VM 上运行。
将策略应用到托管资源组
获取受管理资源组并在该范围分配策略。 策略 e56962a6-4747-49cd-b67b-bf8b01975c4c 是用于指定允许位置的内置策略。
managedGroup=$(az managedapp show --name <app-name> --resource-group <resourceGroupName> --query managedResourceGroupId --output tsv)
az policy assignment create --name locationAssignment --policy e56962a6-4747-49cd-b67b-bf8b01975c4c --scope $managedGroup --params '{
"listofallowedLocations": {
"value": [
"chinaeast",
"chinanorth"
]
}
}'
若要查看允许的位置,请使用:
az policy assignment show --name locationAssignment --scope $managedGroup --query parameters.listofallowedLocations.value
策略分配显示在门户中。
后续步骤
- 有关托管应用程序的简介,请参阅 Azure 托管应用程序概述。
- 有关示例项目,请参阅 Azure 托管应用程序的示例项目。