处理 Azure 托管应用程序的托管资源组中的资源
本文介绍如何更新已部署为托管应用程序的一部分的资源。 托管应用程序的发布者有权访问托管资源组中的资源。 若要更新这些资源,需要找到与托管应用程序关联的托管资源组,并访问该资源组中的资源。
本文假设已部署包含 Azure 管理服务的托管 Web 应用程序 (IaaS) 示例项目中的托管应用程序。 该托管应用程序包含一个 Standard_D1_v2 虚拟机。 如果尚未部署该托管应用程序,仍可以使用本文来熟悉更新托管资源组的步骤。
下图显示了已部署的托管应用程序。
在本文中,我们使用 Azure CLI 来执行以下操作:
- 识别托管应用程序
- 识别托管资源组
- 识别托管资源组中的虚拟机资源
- 更改 VM 大小(更改为未被使用的更小大小,或者更改为更大的大小以支持更多负载)
- 将用于指定允许位置的策略分配到托管资源组
获取托管应用程序和托管资源组
若要获取资源组中的托管应用程序,请使用:
az managedapp list --query "[?contains(resourceGroup,'DemoApp')]"
若要获取托管资源组的 ID,请使用:
az managedapp list --query "[?contains(resourceGroup,'DemoApp')].{ managedResourceGroup:managedResourceGroupId }"
调整托管资源组中 VM 的大小
若要查看托管资源组中的虚拟机,请提供托管资源组的名称。
az vm list -g DemoApp6zkevchqk7sfq --query "[].{VMName:name,OSType:storageProfile.osDisk.osType,VMSize:hardwareProfile.vmSize}"
若要更新 VM 的大小,请使用:
az vm resize --size Standard_D2_v2 --ids $(az vm list -g DemoApp6zkevchqk7sfq --query "[].id" -o tsv)
完成操作后,验证应用程序是否在 Standard D2 v2 大小的 VM 上运行。
将策略应用到托管资源组
获取托管资源组并在该范围分配策略。 策略 e56962a6-4747-49cd-b67b-bf8b01975c4c 是用于指定允许位置的内置策略。
managedGroup=$(az managedapp show --name <app-name> --resource-group DemoApp --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 托管应用程序的示例项目。