Как я могу импортировать все существующее состояние инфраструктуры из aws и сравнить его со сгенерированными реверсивно-терраформированными ресурсами? - PullRequest
0 голосов
/ 03 августа 2020

В настоящее время я пытаюсь изменить терраформирование существующей инфраструктуры (на aws), используя Terraformer . Мне удалось импортировать некоторые ресурсы через:

terraformer import aws --resources=vpc,subnet,ec2_instance,s3 --connect=true --profile=default

Однако я хотел бы проверить, соответствуют ли эти ресурсы текущему состоянию терраформирования (существующей инфраструктуре). Я обнаружил, что могу использовать команду Terraform import , например:

terraform import module.foo.aws_instance.bar i-abcd1234

Насколько я понимаю, эта команда больше предназначена для последовательного импорта существующей инфраструктуры. Однако хотелось бы импортировать сразу всю существующую инфраструктуру. Другими словами, я хочу импортировать состояние всей существующей инфраструктуры и сравнить его со сгенерированными ресурсами из Terraformer, чтобы убедиться, что код terraform соответствует текущей инфраструктуре с 1 по 1.

1 Ответ

2 голосов
/ 04 августа 2020

Вы написали определения Terraform или вы просто используете определения, созданные Terraformer?

Если вы просто используете определения Terraformer (что, как я полагаю, является вашей ситуацией), вы можете запустить

terraform plan

в каталоге, куда Terraformer поместил эти определения, и Terraform покажет, что он хочет изменение. Если он показывает, что не хочет ничего менять, это означает, что определения соответствуют существующему состоянию.

Если у вас есть рукописные определения, вам придется использовать terraform import по одному, потому что у Terraform нет другого способа определить, какие фактические ресурсы соответствуют каким определенным ресурсам.

...