Как я могу поделиться инфраструктурой в Terragrunt в разных средах?
Я новичок в terraform/terragrunt, и мы используем terragrunt для управления нашей инфраструктурой.
Сценарий заключается в том, что я пытаюсь создать инфраструктуру, как это:
APIGateway - Resource - Method - Authorizer(Lambda) - Stage(Deployment) - Backend
Для другой среды (тест, постановка, прод) я хочу поделиться тем же APIGateway
, Resource
, Method
(если вы посмотрите на интерфейс AWS, они не отличаются для каждого этапа). А в остальном я хотел бы создать три авторизатора, лямбда-функции, этапы и соответствующие политики (т. Е. Созданное имя будет добавлено с помощью переменных environement).
Моя структура terraform выглядит так:
module
auth
auth.tf
provider
test
terraform.tfvars
staging
....
Когда я подаю заявку на тестирование, это нормально. Тем не менее, когда я пытаюсь применить к организации, ресурсы, которые должны быть разделены между envs (например, APIGateway, Ресурс под ним) пытается создать снова.
Я думаю, что это потому, что terragrunt копирует интерполированные TF-файлы в каждую папку среды и отслеживает состояние каждой среды env отдельно. Тем не менее, в этой ситуации я хочу разделить некоторые инфраструктуры между различными envs и не хочу, чтобы они создавались более одного раза. Есть ли способ добиться этого?