我是terraform / terragrunt的新手,我们正在使用terragrunt管理我们的基础设施。
这种情况是我试图创建一个像这样的基础设施:
APIGateway - Resource - Method - Authorizer(Lambda) - Stage(Deployment) - Backend
对于不同的环境(测试,登台,产品),我想共享相同的APIGateway
,Resource
,Method
(如果您查看AWS UI,则每个阶段它们都不相同) 。其余的我想创建三个授权者,lambda函数,阶段和相应的策略(即,创建的名称将由环境变量后缀)。
我的地形结构如下:
module
auth
auth.tf
provider
test
terraform.tfvars
staging
....
当我申请测试时就可以了。但是,当我尝试应用到暂存时,应该在多个env之间共享的资源(例如APIGateway,其下的Resource)正在尝试再次创建。
我认为这是因为terragrunt将插值的tf文件复制到每个环境文件夹,并分别跟踪每个环境的基础设施状态。但是对于这种情况,我想在不同的环境之间共享一些基础结构,并且不希望它被创建多次。有什么方法可以实现?