Как я могу попросить Terraform использовать существующий ресурс, а не воссоздать его? - PullRequest
0 голосов
/ 24 сентября 2019

Я сталкиваюсь с проблемой при развертывании сервисов в AWS через Terraform.Я получил ошибку:

module.elasticsearch.aws_security_group.es: Still destroying... [id=sg-039f33d9b29a38c46, 9m39s elapsed]
module.elasticsearch.aws_security_group.es: Still destroying... [id=sg-039f33d9b29a38c46, 9m49s elapsed]
module.elasticsearch.aws_security_group.es: Still destroying... [id=sg-039f33d9b29a38c46, 9m59s elapsed]

Error: Error deleting security group: DependencyViolation: resource sg-039f33d9b29a38c46 has a dependent object
    status code: 400, request id: cd20a8e3-231f-444f-8479-b0575a98b390

Он пытается удалить группу безопасности, но обнаружил, что существует объект зависимости, который останавливает его удаление.Я проверил на консоли AWS, что у группы безопасности есть связанный сетевой интерфейс, который я не могу удалить.Ниже я обнаружил изменения на terraform plan:

~ name                   = "SecuritySearchElasticSearchtest" -> "SecuritySearchElasticSearch" # forces replacement

Он пытается переименовать группу безопасности во время развертывания.

Интересно, почему Терраформ пытается его развернуть.Почему бы просто не использовать существующие ресурсы?Могу ли я заставить Terraform не заменять?

1 Ответ

0 голосов
/ 24 сентября 2019

Вы можете попытаться вывести этот SG из состояния, выполнив команду типа

terraform state rm module.elasticsearch.aws_security_group.es

, а затем вы можете попытаться импортировать этот ресурс, выполнив команду

terraform import module.elasticsearch.aws_security_group.es <security_group_id>

пожалуйста, имейте в виду, что в вашем коде terraform имя группы безопасности должно быть SecuritySearchElasticSearchtest, если вы хотите, чтобы terraform избегал уничтожения этого SG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...