【问题标题】:Terraform add multiple security groups from a data function outputTerraform 从数据函数输出中添加多个安全组
【发布时间】:2021-04-15 22:02:20
【问题描述】:

尝试将三个安全组添加到下面的 ec2 实例时遇到问题。 如何从数据“aws_security_groups”列表以及新创建的 SG 中添加两个 shared-services-sg*? 数据 aws_security_groups 将返回两个安全组 shared-services-sg1 和 shared-services-sg2。我还创建了一个新的安全组 john_app_sec_group2。

data "aws_security_groups" "shared"{
    filter {
      name = "tag:Name"
      values = ["shared-services-sg*"]
    }
}

resource "aws_security_group" "john_app_sec_group2" {
  name   = "app_sec_group"
  vpc_id = aws_vpc.vpc_john.id

   #Allow HTTP from anywhere
  ingress {
    from_port   = 8080
    to_port     = 8080
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

resource "aws_instance" "Server1" {
    instance_type = var.instance_type [0]
    ami = data.aws_ami.aws-linux.id
    subnet_id = aws_subnet.subnet1.id
    key_name = var.key_name
    vpc_security_group_ids = concat(
      aws_security_groups."shared-services-sg*"shared.ids,
      [aws_security_group.john_app_sec_group2.id]
    )
}

提前致谢!

【问题讨论】:

    标签: amazon-web-services terraform


    【解决方案1】:

    应该是:

        vpc_security_group_ids = concat(
          data.aws_security_groups.shared.ids,
          [aws_security_group.john_app_sec_group2.id]
        )
    

    因为您有一个名为 shared 的数据源,它返回多个 ids

    【讨论】:

    • @Johnboy7171 没问题。如果答案有帮助,我们将不胜感激。
    猜你喜欢
    • 2018-03-20
    • 2021-09-15
    • 2020-11-21
    • 2021-08-08
    • 2021-05-08
    • 2020-02-07
    • 2019-07-28
    • 1970-01-01
    • 2020-10-06
    相关资源
    最近更新 更多