デプロイ モードを理解する

完了

Azure Resource Manager では、2 つの deployment modes (増分と完全) がサポートされています。

増分モード

既定のデプロイ モードは "増分" です。 このモードでは、Resource Manager は何も削除しません。 リソース グループに存在するが、テンプレートで指定されていないリソースは、Resource Manager によって変更されず、そのまま残されます。 テンプレート内のリソースは、まだ存在しない場合、リソース グループに "追加" されます。存在している場合は、Resource Manager によって、テンプレート内の構成に更新されます。

完全モード

デプロイを "完全" モードで実行するには、明示的に要求する必要があります。 このモードを使用する場合、Azure 内に存在するが、テンプレートで指定されていないリソースは削除されます。 完全モードでは、リソース グループ内のすべてのリソースが削除されるわけではありません。 一部のリソースの種類は除外されます

注意事項

コマンドを完全モードで実行すると、テンプレート ファイルで定義されていないリソースはすべて削除されます。

Bicep では、existing キーワードを使用して既存のリソースを参照できます。 この方法でリソースを参照しても、完全モードでのデプロイ中にリソースが削除されるのを防ぐことはできません。 これを、本格的なリソースとして定義する必要があります。

完全モードを使用する必要がある状況

Azure でこのようなリソースを削除できるようにするのは、奇妙な考えのように思えるかもしれません。 しかし、これを検討することには十分な理由があります。 すべてのインフラストラクチャがテンプレートで定義されている場合、デプロイする際に必ず完全モードを使用すると、誤ったリソースが後に残らないようにすることができます。 つまり、環境内の "構成のドリフト" を回避するのに役立ちます。

テンプレート ファイルの内容によってデプロイの完全な状態が構成されることが明確にわかっている場合は、このモードを使用します。 Azure CLI や PowerShell などのツールを使用して状態を段階的に更新する場合は、増分モードを使用します。

デプロイのスコープ

完全モードは、リソース グループにデプロイする場合に使用できます。 テンプレートを使用してリソースをサブスクリプション、管理グループ、またはテナントにデプロイする場合は、完全モードを使用できません。