#terraform #terraform-provider-aws #terragrunt
#терраформирование #terraform-provider-aws #terragrunt
Вопрос:
Мы используем Terraform с серверной частью S3 через Terragrunt. Недавно кто-то пытался использовать рабочее пространство Terraform и впоследствии удалил рабочее пространство, не наше удаленное состояние не может найти ни одного из выходных данных, которые находятся в правильном файле состояния.
Просмотрев журнал отладки, я вижу, что он, похоже, указывает на правильный файл, но он не использует ни одну из уже развернутых инфраструктур или выходных данных
Комментарии:
1. У вас не включено управление версиями в корзине S3, чтобы вы могли вернуть свое состояние к тому, что было?
2. Кроме того, убедитесь, что вы создали резервную копию и удалили все файлы terraform локально, чтобы было выбрано новое, загруженное состояние.
Ответ №1:
Terraform workspace и terragrunt используют другой путь к внутреннему ключу. И если вы работаете с terragrunt
, в корзине s3 по умолчанию включен контроль версий.
Например, используя terraform workspace
, реальный *.tfstate
файл будет создан для
s3://<nominated_backend_bucket>/env:/<workspace_name>/<tfstate_path>
Но terragrunt создаст путь к tfstate как
s3://<nominated_backup_bucket>/<source_code_directory>/<tfstate_path>
Таким образом, в большинстве случаев у них не будет возможности конфликтовать друг с другом.
Я рекомендую очистить вашу среду и запустить terragrunt plan/apply
снова. Существуют некоторые другие проблемы, которые вы не описали в своем первоначальном вопросе, и вам нужно выяснить это самостоятельно.
Комментарии:
1. Спасибо, я попробую ваши предложения