Terraform で既存のSecurityGroupに対して インバウンドルールを設定する方法

Terraformにて既存のSecurityGroup に対してインバウンドルールを追加する、という必要があって困ってた。

やり方を調べたので共有

参考としては以下です。

registry.terraform.io

例えば、22番ポートの接続許可をする場合は以下のように記述する事で対応出来ます。

# 既存のSecurityGroupを参照
data "aws_security_group" "sample_security_group" {
  id = "sg-1234********"
}

# 上記のSecurityGroupに追加
resource "aws_security_group_rule" "sample_security_group_ssh" {
  type              = "ingress"
  from_port         = 22
  to_port           = 22
  protocol          = "tcp"
  cidr_blocks       = ["0.0.0.0/0"]
  security_group_id = data.aws_security_group.sample_security_group.id
}

まとめ

既存のSecurityGroupについてTerraform管理されてなくてつらみ・・とか諸々の理由により、簡単に対応出来なかったりすることもあるかと思います。

参照 + 追加とかも簡単に出来そうで良かった