Как сделать стек Terraspace общим для нескольких сред?

Скажите, пожалуйста, есть ли способ сделать некоторый стек Terraspace общим для некоторых сред? Например, у меня есть одна учетная запись AWS для всех непроизводственных сред, и я хотел бы использовать один и тот же VPC для всех сред, все остальные ресурсы (например, EC2, RDS, SQS и т. Д.) Будут разными и специфичными для каждой среды. . Итак, есть ли способ поделиться состоянием (прежде всего, выводом) общего стека VPC с другими средами (разработкой, этапом, тестом и т. Д.) И как предотвратить применение стека VPC отдельно к каждой среде на terraspace build <environment> этапе?


person John    schedule 17.11.2020    source источник


Ответы (1)


Здравствуйте, вы можете создавать модули, каждый модуль будет представлять стек и использовать во всех ваших средах. Модуль - это контейнер для нескольких ресурсов, которые используются вместе. Модули можно использовать для создания облегченных абстракций, чтобы вы могли описывать свою инфраструктуру в терминах ее архитектуры, а не непосредственно в терминах физических объектов.

Вот ссылка

для примера изображения ваш стек выглядит так:

stage
  └ vpc
  └ services
      └ frontend-app
      └ backend-app
  └ data-storage
      └ mysql
      └ redis
prod
  └ vpc
  └ services
      └ frontend-app
      └ backend-app
  └ data-storage
      └ mysql
      └ redis
mgmt
  └ vpc
  └ services
      └ bastion-host
      └ jenkins
global
  └ iam
  └ s3

Итак, вы создаете модули, если хотите, в отдельном проекте git и используете модули в каждом env:

live.git
  └ stage
      └ vpc
      └ services
          └ frontend-app
          └ backend-app
      └ data-storage
          └ mysql
          └ redis
  └ prod
      └ vpc
      └ services
          └ frontend-app
          └ backend-app
      └ data-storage
          └ mysql
          └ redis
  └ mgmt
      └ vpc
      └ services
          └ bastion-host
          └ jenkins
  └ global
      └ iam
      └ s3
modules.git
  └ data-stores
       └ mysql
       └ redis           
  └ mgmt
       └ vpc           
       └ jenkins           
  └ security
       └ iam
       └ s3
       └ bastion-host
  └ services
       └ webserver-cluster

вот Ссылка о том, как создавать модули

person Montassar Bouagina    schedule 17.11.2020
comment
Спасибо за Ваш ответ. В этом разделе я скорее попытаюсь понять, как поделиться выводом из одного из стеков (здесь стек в терминологии Terraspace) в несколько сред Terraspace. Это вопрос не о модулях или совместном использовании вывода в целом, а о конкретных случаях Terraspace. - person John; 18.11.2020