PS: я очень открыт для комментариев по поводу предложенного решения, потому что это интересная задача для работы :)

ре того, как мы проводим оценку Terraform для замены (частично) нашего процесса обеспечения Ansible для SaaS с несколькими арендаторами, мы осознаем удобство, производительность и надежность Terraform, поскольку мы можем беспрепятственно обрабатывать изменения (добавление / удаление) инфраструктуры, сохраняя трек инфра состояния (это очень круто).

Наше приложение представляет собой многопользовательский SaaS, который мы предоставляем отдельным экземплярам для наших клиентов - в Ansible у нас есть собственный динамический инвентарь (почти такой же, как динамический инвентарь EC2). Мы просматриваем множество книг / учебников и рекомендаций по Terraform, в которых многие предлагают, чтобы в Terraform состояниями нескольких сред управлялись отдельно и удаленно, но все они выглядят как статические env (например, Dev / Staging / Prod).

Есть ли лучший опыт или реальный пример управления динамической инвентаризацией состояний для мультитенантных приложений? Мы хотели бы отслеживать состояние каждого набора клиентов - вносить в них изменения легко.

Одним из подходов может быть создание каталога для каждого клиента и размещение внутри него скриптов * .tf, которые будут вызывать наш модуль, расположенный где-то в глобальном масштабе. Файлы состояний могут быть помещены в S3, таким образом, мы можем вносить изменения для каждого отдельного клиента, если это необходимо.

Ответы на вопрос(2)

Ваш ответ на вопрос