かべぎわブログ

ブログです

Terraformで複数ルールのセキュリティグループを作成する

概要

Terraformで複数のルールが記載されたセキュリティグループを作成してみます。

こんなかんじのやつ

$ aws ec2 describe-security-groups --filters Name=group-id,Values=sg-XXXXXX --output text
SECURITYGROUPS  Managed by Terraform    sg-XXXXXX   wawawa_security_group   123456789012    vpc-XXXXXX
IPPERMISSIONS   80  tcp 80
IPRANGES    0.0.0.0/0
IPPERMISSIONS   443 tcp 443
IPRANGES    0.0.0.0/0
IPPERMISSIONSEGRESS -1
IPRANGES    0.0.0.0/0

前提

Terraformのバージョンはこんなかんじ。

 terraform --version
Terraform v0.12.17
+ provider.aws v2.40.0

こんなかんじでつくれます

tfファイルはこんなかんじ

resource "aws_security_group" "wawawa_security_group" {
    name = "wawawa_security_group"

    ingress {
        from_port = 80
        to_port = 80
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
    }

    ingress {
        from_port = 443
        to_port = 443
        protocol = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
    }

    egress {
        from_port = 0
        to_port = 0
        protocol = "-1"
        cidr_blocks = ["0.0.0.0/0"]
    }
}

以下にはこんなかんじではつくれず、エラーになるとのことだけれど Terraformのバージョンアップで作成できるようになったのかもしれない。
なんにせよべんりになりましたね。

Terraformで1つのセキュリティグループに複数のルールを設定する - Qiita

おわりに

べんりですね。