terraformでsecurity group作るときの注意点

terraformでEC2を作成した時に、Internet gatewayやroute tableの設定は問題ないのですが、外部への通信ができない事象があったのでメモしておきます。

環境

  • terraform : 0.11.14

発生した事象

  • terraformで作成したEC2から外部へ通信できない

原因

  • EC2に割り当てたSecurity GroupにOutboundの通信許可がなかった

Security Groupをコンソールから作成する時は、自動的にOutboundの通信が許可されるのですが、terraformで作成されたSecurity GroupはOutboundの通信が許可されていないので、明示的に許可する必要があります。terraformの設定はこんな感じです。

### Example Security Group
resource "aws_security_group” “çç" {
  name        = "example-sg"
  description = “Example Security Group"
  vpc_id      = "${aws_vpc.example-vpc.id}"
}

resource "aws_security_group_rule" "example-sg-egress" {
  type               = "egress"
  from_port       = 0
  to_port           = 0
  protocol          = "-1"
  cidr_blocks      = ["0.0.0.0/0"]
  security_group_id = "${aws_security_group.example-sg.id}"
}

結構ハマるポイントなのでお気をつけください。

タイトルとURLをコピーしました