web-dev-qa-db-ja.com

セキュリティグループの定義では自己参照は許可されていません

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}"]
10
pkaramol

引用 マニュアル

self-(オプション)trueの場合、セキュリティグループ自体がソースとしてこの進入ルールに追加されます。

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