代码之家  ›  专栏  ›  技术社区  ›  tellof

AWS with Terraform:当每个VPC都是独立的时,如何映射VPC ID进行对等?

  •  1
  • tellof  · 技术社区  · 8 年前

    项目组织分为模块和;live environment,live environment被拆分,每个VPC都有自己的子目录。我遇到的问题是,当我想要创建专有网络对等资源时,动态检索专有网络ID——显然,如果我在一个平面主节点中实例化所有模块,这不会是一个问题。然而,这是我试图避免的事情。

    我必须把我的“live.tf”文件展平吗?还是有其他方法?我的文件模式是否完全出错?

    1 回复  |  直到 8 年前
        1
  •  1
  •   RaGe    8 年前

    现在,上层通常需要来自下层的值。在应用层创建ec2需要来自基础层的专有网络和子网信息。我们通过 data.terraform_remote_state 。环境的所有状态文件都位于s3存储桶中,具有可预测的文件名。因此,在应用程序切片中,我们要做:

    data "terraform_remote_state" "base" {
        backend = "s3"
        config {
            bucket = "remote-state-bucket"
            key = "environment-staging/base-layer.tfstate"
            region = "some-region"
        }
    }
    

    然后我们可以获取基本层定义为如下输出的属性:

    value = "${data.terraform_remote_state.base.some_output}"