Встречается у меня в версии 0.9.4 и 0.10.4
Я импортировал список групп безопасности AWS с помощью команды импорта Terraform следующим образом:
terraform import aws_security_group.production_servers sg-xxxxxxx
Когда я делаю:
terraform plan aws_security_group.production_servers
все нормально но когда делаю общий план:
terraform plan
- aws_security_group_rule.load_balancer_1
- aws_security_group_rule.load_balancer_1-1
- aws_security_group_rule.load_balancer_1-2
- aws_security_group_rule.load_balancer_1-3
- aws_security_group_rule.production_servers
- aws_security_group_rule.production_servers-1
- aws_security_group_rule.production_servers-2
- aws_security_group_rule.production_servers-3
- aws_security_group_rule.production_services_access
- aws_security_group_rule.production_services_access-1
- aws_security_group_rule.production_services_access-2
Некоторые aws_security_group_rule
(сохраняющиеся в моем файле .tfstate) будут удалены.
Я объявляю группы безопасности, использующие aws_security_group
с участием ingress
и egress
за правило. Не уверен, объявлять ли эти aws_security_group_rule
s из-за этого.
Не уверен, что мне не хватает, любые рекомендации будут оценены.
Спасибо.
Таким образом, импорт для сетевого ACL и группы безопасности ломает такие вещи, как
resource "aws_security_group" "production_servers" {}
resource "aws_security_group_rule" "production_servers-1" {}
resource "aws_security_group_rule" "production_servers" {}
Вы упомянули, что у вас были все правила в aws_security_group
что совершенно нормально. Я предпочитаю их снаружи, так как они более читабельны, если вы меняете правила и имеете примерно 10-15 правил в группе.
Итак, что происходит, Terraform написала пустой aws_security_group
без правил и имеет кучу внешних aws_security_group_rule
в файле состояния, который отличается от вашей конфигурации TF.
Так что в плане он скажет, что мне нужно их уничтожить, а затем создаст их в самом ресурсе.
Вы можете получить небольшую ошибку, связанную с отсутствием правил группы безопасности, но, в конце концов, это будет устранено при применении. Просто посмотрите на план вашего aws_security_group
Готов поспорить, все ваши правила перечислены там