处理 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 上运行。

使用 Standard D2 v2 大小的托管应用程序

将策略应用到托管资源组

获取受管理资源组并在该范围分配策略。 策略 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

策略分配显示在门户中。

查看策略分配

后续步骤