111 lines
3.3 KiB
HCL
111 lines
3.3 KiB
HCL
# ---------------------------
|
|
# セキュリティグループ
|
|
# ---------------------------
|
|
# ALB用
|
|
resource "aws_security_group" "alb_sg" {
|
|
name = "${var.name_prefix}${var.env}-${var.alb_sg_name}"
|
|
description = "for alb"
|
|
vpc_id = var.vpc_id
|
|
tags = {
|
|
Name = "${var.name_prefix}${var.env}-${var.alb_sg_name}"
|
|
}
|
|
}
|
|
|
|
# EC2用
|
|
resource "aws_security_group" "ec2_sg" {
|
|
name = "${var.name_prefix}${var.env}-${var.ec2_sg_name}"
|
|
description = "for ec2"
|
|
vpc_id = var.vpc_id
|
|
tags = {
|
|
Name = "${var.name_prefix}${var.env}-${var.ec2_sg_name}"
|
|
}
|
|
}
|
|
|
|
# RDS用
|
|
resource "aws_security_group" "rds_sg" {
|
|
name = "${var.name_prefix}${var.env}-${var.rds_sg_name}"
|
|
description = "for rds"
|
|
vpc_id = var.vpc_id
|
|
tags = {
|
|
Name = "${var.name_prefix}${var.env}-${var.rds_sg_name}"
|
|
}
|
|
}
|
|
|
|
# ---------------------------
|
|
# セキュリティグループルール
|
|
# ---------------------------
|
|
# ALB用インバウンドルール http
|
|
resource "aws_vpc_security_group_ingress_rule" "alb_sg_allow_http" {
|
|
security_group_id = aws_security_group.alb_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
from_port = 80
|
|
to_port = 80
|
|
ip_protocol = "tcp"
|
|
}
|
|
|
|
# ALB用インバウンドルール https
|
|
resource "aws_vpc_security_group_ingress_rule" "alb_sg_allow_https" {
|
|
security_group_id = aws_security_group.alb_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
from_port = 443
|
|
to_port = 443
|
|
ip_protocol = "tcp"
|
|
}
|
|
|
|
# ALB用アウトバウンドルール any
|
|
resource "aws_vpc_security_group_egress_rule" "alb_sg_allow_all" {
|
|
security_group_id = aws_security_group.alb_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
ip_protocol = "-1"
|
|
}
|
|
|
|
# EC2用インバウンドルール http
|
|
resource "aws_vpc_security_group_ingress_rule" "ec2_sg_allow_http" {
|
|
security_group_id = aws_security_group.ec2_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
from_port = 80
|
|
to_port = 80
|
|
ip_protocol = "tcp"
|
|
}
|
|
|
|
# EC2用インバウンドルール https
|
|
resource "aws_vpc_security_group_ingress_rule" "ec2_sg_allow_https" {
|
|
security_group_id = aws_security_group.ec2_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
from_port = 443
|
|
to_port = 443
|
|
ip_protocol = "tcp"
|
|
}
|
|
|
|
# EC2用インバウンドルール インスタンスコネクト
|
|
resource "aws_vpc_security_group_ingress_rule" "ec2_sg_allow_instance_connect" {
|
|
security_group_id = aws_security_group.ec2_sg.id
|
|
cidr_ipv4 = "3.112.23.0/29"
|
|
from_port = 22
|
|
to_port = 22
|
|
ip_protocol = "tcp"
|
|
}
|
|
|
|
# EC2用アウトバウンドルール any
|
|
resource "aws_vpc_security_group_egress_rule" "ec2_sg_allow_all" {
|
|
security_group_id = aws_security_group.ec2_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
ip_protocol = "-1"
|
|
}
|
|
|
|
# RDS用インバウンドルール mysql
|
|
resource "aws_vpc_security_group_ingress_rule" "rds_sg_allow_mysql" {
|
|
security_group_id = aws_security_group.rds_sg.id
|
|
cidr_ipv4 = var.vpc_cidr_block
|
|
from_port = 3306
|
|
to_port = 3306
|
|
ip_protocol = "tcp"
|
|
}
|
|
|
|
# RDS用アウトバウンドルール any
|
|
resource "aws_vpc_security_group_egress_rule" "rds_sg_allow_all" {
|
|
security_group_id = aws_security_group.rds_sg.id
|
|
cidr_ipv4 = "0.0.0.0/0"
|
|
ip_protocol = "-1"
|
|
}
|