次の方法で共有


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 で実行されていることを確認します。

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": [
                                    "northeurope",
                                    "westeurope"
                                ]
                            }
                        }'

許可される場所を表示するには、次のコマンドを使用します。

az policy assignment show --name locationAssignment --scope $managedGroup --query parameters.listofallowedLocations.value

ポリシーの割り当てがポータルに表示されます。

ポリシーの割り当ての表示

次のステップ