Azure Resource Manager のリソース グループとリソースの削除

この記事では、リソース グループとリソースを削除する方法について示します。 ここでは、リソース グループを削除するときに、Azure Resource Manager によってリソースの削除がどのように並べ替えられるかについて説明します。

削除の順序が決定される方法

リソース グループを削除する際に、Resource Manager によってリソースを削除する順序が決定されます。 次の順序が使用されます。

  1. すべての子 (入れ子) リソースが削除されます。

  2. 次に、他のリソースを管理するリソースが削除されます。 リソースには、別のリソースによって管理されていることを示す managedBy プロパティが設定されている場合があります。 このプロパティが設定されている場合、他のリソースを管理しているリソースは、その管理対象リソースより前に削除されます。

  3. 残りのリソースは、前の 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 リソースの削除アクションにアクセスできる必要があります。 また、リソース グループ内のすべてのリソースに対して削除を行う必要もあります。

操作の一覧については、「Azure リソース プロバイダーの操作」を参照してください。 組み込みロールの一覧については、Azure の組み込みロールに関するページを参照してください。

必要なアクセス権を持っていても、削除要求が失敗した場合は、リソースまたはリソース グループがロックされているおそれがあります。 リソース グループを手動でロックしなかった場合でも、関連するサービスによって自動的にロックされている可能性があります。 または、リソースが、削除されていない他のリソース グループ内のリソースに接続されている場合、削除が失敗する可能性があります。 たとえば、仮想マシンでまだ使用されているサブネットを含む仮想ネットワークを削除することはできません。

次のステップ