如何解决Terraform中的资源区域依赖问题



例如:我有两个独立的模块,module-us-east-1, module-us-west-2。现在运行的连续性是模块-us-east-1然后模块-us-west-2在同一个Jenkins Pipeline中。但是模块-us-east-1需要一些资源,这些资源将由模块-us-west-2创建,显然两个模块将在不同的区域创建资源。

关于如何完成这一点有什么提示吗?:/

使用aws_region数据资源。它将拉入您正在运行的当前区域,因此您可以对两者使用相同的模块。

data "aws_region" "current" {}

当你需要的时候,你可以在该区域模板:

"arn:aws:logs:${data.aws_region.current.name}:1234567890:log-group:*"

编辑:

你需要四个模块。两个模块,每个模块对应一个相互依赖的区域,是一个循环依赖图,并且会破裂。

将模块划分为共享和私有资源,为每个模块创建一个共享和私有模块。然后使用数据资源导入把共享资源放到私有模块中。

最新更新