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 で実行されていることを確認します。
マネージド リソース グループにポリシーを適用する
マネージド リソース グループを取得し、そのスコープのポリシーを割り当てます。 ポリシー 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
ポリシーの割り当てがポータルに表示されます。
次のステップ
- マネージド アプリケーションの概要については、「Azure マネージド アプリケーションの概要」を参照してください。
- サンプル プロジェクトについては、Azure マネージド アプリケーションのサンプル プロジェクトに関する記事を参照してください。