我正在尝试使用Terraform创建一个sg。

我希望特定SG的所有实例之间都允许所有通信,因此我将SG本身添加到入口规则中,如下所示:

resource "aws_security_group" "rancher-server-sg" {
  vpc_id = "${aws_vpc.rancher-vpc.id}"
  name = "rancher-server-sg"
  description = "security group for rancher server"

  ingress {
      from_port = 0
      to_port = 0
      protocol = -1
      security_groups = ["${aws_security_group.rancher-server-sg.id}"]
  }


但是,当运行terraform plan时,我得到:




但是,在AWS控制台中,我被允许在入站规则中添加SG名称,并且看到可以添加组本身(即自引用)。

这是为什么?

我也尝试过这个没有成功:

security_groups = ["${self.id}"]

最佳答案

引用the manual


self-(可选)如果为true,则将安全组本身添加为
此入口规则的来源。


  ingress {
      from_port = 0
      to_port = 0
      protocol = -1
      self = true
  }

关于amazon-web-services - 安全组定义中不允许自我引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49995417/

10-09 09:08