请告诉我是否有任何方法可以使某些 Terraspace 堆栈在某些环境中通用?例如,我有一个适用于所有非生产环境的 AWS 账户,并且我想对所有环境使用相同的 VPC,所有其他资源(例如 EC2、RDS、SQS 等)将因每个环境而异且特定. 那么有没有办法将公共 VPC 堆栈的状态(首先是输出)共享给其他环境(开发、阶段、测试等)以及如何防止将 VPC 堆栈分别应用于terraspace build <environment>
舞台上的每个环境?
问问题
204 次
1 回答
0
您好,您可以创建模块,每个模块将代表一个堆栈并在您的环境中使用。模块是一起使用的多个资源的容器。模块可用于创建轻量级抽象,以便您可以根据其架构来描述您的基础设施,而不是直接根据物理对象。
这是一个参考
例如图像你的堆栈是这样的:
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
这是有关如何创建模块的链接
于 2020-11-17T15:49:02.497 回答