【问题标题】:Terraform add new security group to an existing security groupTerraform 将新安全组添加到现有安全组
【发布时间】:2021-08-08 10:33:59
【问题描述】:

我在 terraform 的自动缩放模块中创建了一个新的安全组。我想将此安全组添加到模块数据库中的现有安全组中。数据库模块中使用的安全组已经通过控制台创建。如何在 terraform 中向现有安全组添加新的安全组?

【问题讨论】:

  • 你有TF代码可以显示你想做什么吗?

标签: amazon-web-services terraform aws-security-group terraform-modules


【解决方案1】:

如果要更改控制台创建的SG,必须手动编辑。

如果更改了terraform创建的SG,可以手动获取已存在SG的id,添加到SG的规则中

编辑:

你需要输出:

output "security_group_id" {
  description = "Security group ID attached to the EKS workers."
  value       = module.auto_scaling_module.security_group_id
}

比使用data.tf中的数据导入

data "terraform_remote_state" "autoscaling" {
  backend = "s3"
  config  = {
    region = "us-west-1"
    bucket = "wherestatelocate"
    key    = "path"
  }
}

比在数据库模块中使用它

  security_groups    = [data.terraform_remote_state.autoscaling.outputs.security_group_id
]

这就是我正在使用的

【讨论】:

  • 你能告诉我如何提取自动缩放模块中创建的安全组的id,以便我可以将其添加到数据库模块的安全组中吗?
  • 您能告诉我您使用的是哪个模块吗?您可以编写 outputs.tf 并导出您的 SG id。在数据库模块中,可以使用数据导入,在数据库模块中使用
  • 我有两个文件夹。在文件夹中,我正在创建一个 Autoscaling 模块,其中我正在通过 terraform 模块创建一个安全组。在第二个文件夹中,我正在创建数据库模块,其中使用了 vpc_security_group_ids = ["sg-476ef04a"],其中 sg-476ef04a 已经创建,我想将自动缩放的安全组添加到该安全组
  • 在第一个文件夹中,您需要通过输出资源输出您的状态。在第二个文件夹中,您需要使用数据资源导入数据。您可以在 vpc_security_group_ids 字段中使用该输出
  • 对不起。但是你能向我解释一下最后一行吗? “您可以在 vpc_security_group_ids 字段中使用该输出”是什么意思。我对从一个模块获取输出后该怎么做感到困惑。
猜你喜欢
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-08
  • 2021-08-16
  • 1970-01-01
  • 2021-04-06
相关资源
最近更新 更多