Как удалить записи DNS с помощью шаблона ARM для зоны Azure DNS

У меня есть шаблон ARM для зоны Azure DNS, в которой есть много Microsoft.Network/dnszones/* ресурсов для A, CNAME, TXT записей и т. Д. Я смог успешно развернуть новые записи и изменить записи с помощью развертываний.

Однако я только заметил, что когда я удалил ресурсы, соответствующие некоторым записям DNS в шаблоне ARM, развертывание этого шаблона фактически не удаляло записи в зоне Azure DNS, хотя развертывание прошло успешно.

Похоже, что это нарушает декларативную природу шаблонов ARM, если я удалил ресурс в шаблоне, и он все еще существует после развертывания без ошибок.

Или я что-то неправильно понимаю в том, как работает поставщик ресурсов?


person Adi Unnithan    schedule 16.02.2021    source источник
comment
У вас была возможность проверить предоставленное решение?   -  person Bhargavi Annadevara    schedule 23.02.2021
comment
спасибо @BhargaviAnnadevara, что отвечает на него!   -  person Adi Unnithan    schedule 23.02.2021


Ответы (1)


Шаблоны ARM могут быть развернуты в двух режимах:

  • Инкрементный: в инкрементном режиме Resource Manager оставляет неизменными ресурсы, которые существуют в группе ресурсов, но не указаны в шаблоне. Ресурсы в шаблоне добавляются в группу ресурсов.

  • Завершено: в полном режиме диспетчер ресурсов удаляет ресурсы, которые существуют в группе ресурсов, но не указаны в шаблоне.

Режим по умолчанию - инкрементный, поэтому вы не видите, что удаленные ресурсы удаляются.

Чтобы установить режим развертывания на Complete явно при развертывании с помощью PowerShell, используйте параметр Mode как:

New-AzResourceGroupDeployment `
  -Mode Complete `
  -Name ExampleDeployment `
  -ResourceGroupName ExampleResourceGroup `
  -TemplateFile c:\MyTemplates\storage.json

Совет: всегда используйте вкладки операция" что если " перед развертыванием шаблона в полном режиме. Что, если показывает, какие ресурсы будут созданы, удалены или изменены. Используйте «что, если», чтобы избежать непреднамеренного удаления ресурсов.

person Bhargavi Annadevara    schedule 16.02.2021