Назад | Перейти на главную страницу

План terraform хочет уничтожить группы безопасности после их импорта с помощью импорта terraform

Встречается у меня в версии 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_rules из-за этого.

Не уверен, что мне не хватает, любые рекомендации будут оценены.

Спасибо.

Таким образом, импорт для сетевого 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 Готов поспорить, все ваши правила перечислены там