У меня простое развертывание AWS с vpc, общедоступной подсетью, маршрутом и группой безопасности. Запуск terraform apply
запустит экземпляр AWS, и у меня этот экземпляр настроен для привязки общедоступного IP-адреса. После создания экземпляра я запускаю terraform plan
, и он правильно говорит, что все обновлено. Пока проблем нет.
У нас есть узел управления, который отключит этот экземпляр, если он не будет использоваться в течение определенного периода времени, в качестве меры экономии.
Вот проблема: когда этот экземпляр выключен, когда я запускаю terraform plan
, провайдер aws видит, что все настроено правильно, но, поскольку общедоступный IP-адрес был выпущен, значение associate_public_ip_address больше не соответствует тому, что настроено в конфигурациях terraform, поэтому terraform хочет удалить и воссоздать этот экземпляр:
associate_public_ip_address: "false" => "true" (forces new resource)
Есть ли способ заставить terraform игнорировать только этот параметр?
Этот вопрос незначительно связан с https://github.com/hashicorp/terraform/issues/7262 < / а>. Но в моем случае я не хочу устанавливать ожидаемое состояние, я просто хочу иметь возможность указать terraform игнорировать этот единственный параметр, потому что это нормально, что он не связан прямо сейчас, пока он настроен на связывание при запуске.
(Это пришло мне в голову при написании этого вопроса: я не экспериментировал с настройкой подсети для автоматического связывания общедоступного IP-адреса для экземпляров, запущенных в ней. Возможно, сделав это автоматически в подсети и удалив параметр из "aws_instance", я мог бы можно сделать так, чтобы terraform не обращал внимания на это значение ... но я в этом сомневаюсь.)