Как я могу поделиться инфраструктурой в 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 и не хочу, чтобы они создавались более одного раза. Есть ли способ добиться этого?

0 ответов

Другие вопросы по тегам