从 terraform 中的安全组名称中提取安全组 ID

Extract security group id from security group name in terraform

我正在尝试在 terraform 中编写一个通用脚本来创建 ALB(在 AWS 中)。 安全组已创建 (sg_alb) 但不在同一脚本中。它是预先创建的 我想提取安全组的id并传递给它 security_groups = ["${aws_security_group.lb_sg.id}"]

我看过上面提到的例子,但这是假设安全组是与 ALB 一起创建的

我怎样才能做到这一点?

谢谢 库马尔

这就是 Terraform data sources 的用途。如果您的 Terraform 模块正在获取一个安全组名称作为变量,那么您将像这样查找安全组:

data "aws_security_group" "lb_sg" {
  name = var.security_group_name
}

然后您可以在创建 ALB 时使用数据源,如下所示:

security_groups = [data.aws_security_group.lb_sg.id]