При регулярном использовании изменения в инфраструктуру следует вносить путем изменения конфигурации, а не путем выполнения обязательных команд, таких как terraform taint
. Если вы что-то измените в конфигурации виртуальной машины, которая требует ее создания, то базовый поставщик должен составить план автоматической замены этого объекта, оставив другие без изменений.
Когда у вас есть другие объекты, которые необходимо изменить различные ритмы - особенно когда некоторые из них являются объектами с состоянием, такими как базы данных - хороший способ смоделировать это в Terraform - это разложить проблему на несколько отдельных конфигураций Terraform. Вы можете использовать источники данных в одной конфигурации для получения информации об объектах, созданных в другой.
Разделение по крайней мере на две отдельные конфигурации означает, что риск запуска terraform apply
в одной из них может быть уменьшен, поскольку область действия действий, которые он может предпринять, это только объекты, управляемые в этой конкретной конфигурации. Хотя в принципе вы можете внимательно изучить план Terraform, чтобы увидеть, когда он планирует внести изменения, которые могут быть вредными, разделение на несколько конфигураций является дополнительной гарантией, которую многие группы используют для уменьшения возможного воздействия человеческой ошибки.