😄
Terraformでセキュリティグループを作るメモ
Terraformでセキュリティグループを作るメモ
セキュリティグループの作成
- セキュリティグループのルールは"aws_security_groupブロックに直接記述するか、- "aws_security_group_rule"に分割して記述することができるらしい
- プロトコルをすべて許可する場合は
protocol=-1
と記述 - ポートをすべて空けるには
from_port=0
、to_port=0
と記述 - 参考サイトのZennの記事によると、
aws_security_group
リソースを定義した後、aws_security_group_rule
リソースでルールを追加すると、競合が発生し、変更があったと認識されるので注意しなければならない
// セキュリティグループの作成
resource "aws_security_group" "allow_https" {
name = "allow_https"
description = "allow https"
vpc_id = aws_vpc.~.id
tags = {
Name = "allow_https"
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
}
resource "aws_security_group_rule" "allow_https_in_rule" {
security_group_id = aws_security_group.allow_https.id
type = "ingress"
protocol = "tcp"
from_port = 443
to_port = 443
cidr_blocks = ["0.0.0.0/0"]
}
resource "aws_security_group_rule" "allow_https_out_rule" {
security_group_id = aws_security_group.allow_https.id
type = "egress"
protocol = "tcp"
from_port = 443
to_port = 443
cidr_blocks = ["0.0.0.0/0"]
// source_security_group_idでセキュリティグループをソース指定してグループを作成することも可能
source_security_group_id = aws_security_group.allow_https.id
}
参考
最後に
間違っていることがあればコメントに書いていただけると幸いです。
よろしくお願いいたします。
Discussion