Azure Resource Manager のリソース グループとリソースの削除
この記事では、リソース グループとリソースを削除する方法について示します。 ここでは、リソース グループを削除するときに、Azure Resource Manager によってリソースの削除がどのように並べ替えられるかについて説明します。
削除の順序が決定される方法
リソース グループを削除する際に、Resource Manager によってリソースを削除する順序が決定されます。 次の順序が使用されます。
すべての子 (入れ子) リソースが削除されます。
次に、他のリソースを管理するリソースが削除されます。 リソースには、別のリソースによって管理されていることを示す
managedBy
プロパティが設定されている場合があります。 このプロパティが設定されている場合、他のリソースを管理しているリソースは、その管理対象リソースより前に削除されます。残りのリソースは、前の 2 つのカテゴリより後に削除されます。
順序が決定された後、Resource Manager によって、各リソースに対して DELETE 操作が発行されます。 先に進む前に、すべての依存関係が完了するまで待ちます。
同期操作の場合、期待される正常な応答コードは次のとおりです。
- 200
- 204
- 404
非同期操作の場合、期待される正常な応答は 202 です。 Resource Manager では、location ヘッダーまたは azure-async 操作ヘッダーが追跡されて、非同期の削除操作の状態が確認されます。
削除エラー
削除操作からエラーが返された場合、Resource Manager によって DELETE 呼び出しが再試行されます。 再試行は、5xx、429、408 の状態コードに対して行われます。 既定では、再試行の間隔は 15 分です。
削除後
Resource Manager では、削除が試行されるリソースごとに GET 呼び出しが発行されます。 この GET 呼び出しの応答として、404 が期待されます。 Resource Manager が 404 を受け取った場合は、削除が正常に完了したと見なされます。 Resource Manager によって、そのキャッシュからリソースが削除されます。
一方、リソースに対する GET 呼び出しで 200 または 201 が返された場合は、Resource Manager によってリソースが再作成されます。
GET 操作からエラーが返された場合、次のエラー コードであれば Resource Manager によって GET が再試行されます。
- 100 未満
- 408
- 429
- 500 より大きい
その他のエラー コードの場合は、Resource Manager によるリソースの削除が失敗します。
重要
リソース グループの削除は元に戻すことができません。
リソース グループの削除
リソース グループを削除するには、次のいずれかのメソッドを使用します。
Remove-AzResourceGroup -Name ExampleResourceGroup
Delete resource
リソースを削除するには、次のいずれかのメソッドを使用します。
Remove-AzResource `
-ResourceGroupName ExampleResourceGroup `
-ResourceName ExampleVM `
-ResourceType Microsoft.Compute/virtualMachines
必要なアクセスと削除の失敗
リソース グループを削除するには、Microsoft.Resources/subscriptions/resourceGroups リソースの削除アクションにアクセスできる必要があります。
重要
リソース グループを削除するために必要なアクセス許可は、リソース グループを削除するための削除アクションへのアクセス許可のみです。 そのリソース グループ内の個々のリソースを削除するためのアクセス許可は必要ありません。 さらに、roleAssignment の notActions で指定された削除アクションは、リソース グループの削除アクションに置き換えられます。 これは、Azure ロールベースのアクセス制御モデルのスコープ階層と一致します。
操作の一覧については、「Azure リソース プロバイダーの操作」を参照してください。 組み込みロールの一覧については、Azure の組み込みロールに関するページを参照してください。
必要なアクセス権を持っていても、削除要求が失敗した場合は、リソースまたはリソース グループがロックされているおそれがあります。 リソース グループを手動でロックしなかった場合でも、関連するサービスによって自動的にロックされている可能性があります。 または、リソースが、削除されていない他のリソース グループ内のリソースに接続されている場合、削除が失敗する可能性があります。 たとえば、仮想マシンでまだ使用されているサブネットを含む仮想ネットワークを削除することはできません。
不注意による削除
リソース グループまたはリソースを誤って削除した場合は、状況によっては復旧できる可能性があります。
一部のリソースの種類では、"論理的な削除" がサポートされています。 論理的な削除を使用するには、事前に構成する必要がある場合があります。 論理的な削除を有効にする方法の詳細については、Azure Key Vault、Azure Backup、Azure Storage のドキュメントを参照してください。
Azure サポート ケースを開くこともできます。 リソース ID、種類、リソース名など、削除されたリソースに関するできるだけ詳細な情報を提供し、リソースを復元できるかどうかをサポート エンジニアに確認するよう依頼します。
注意
削除されたリソースの復旧は、すべての状況で実行できるわけではありません。 サポート エンジニアがシナリオを調査し、可能かどうかをアドバイスします。
次のステップ
- Resource Manager の概念を理解するには、「Azure Resource Manager の概要」をご覧ください。
- 削除コマンドについては、PowerShell、Azure CLI、REST API をご覧ください。