1+ # AWS Public Security Group
2+ module "public_security_group" {
3+ source = " ./resources"
4+ vpc_id = var. vpc_id
5+ prefix = var. prefix
6+ environment = var. environment
7+ sg_type = " public"
8+ sg_description = " Allow connections from internet"
9+ }
10+
11+ # AWS Public Security Group Rules
12+ resource "aws_security_group_rule" "allow_http_inbound_public" {
13+ type = " ingress"
14+ from_port = 80
15+ to_port = 80
16+ protocol = " tcp"
17+ cidr_blocks = [" 0.0.0.0/0" ]
18+ security_group_id = module. public_security_group . security_group_id
19+ }
20+
21+ resource "aws_security_group_rule" "allow_https_inbound_public" {
22+ type = " ingress"
23+ from_port = 443
24+ to_port = 443
25+ protocol = " tcp"
26+ cidr_blocks = [" 0.0.0.0/0" ]
27+ security_group_id = module. public_security_group . security_group_id
28+ }
29+
30+ # AWS Private Security Group
31+ module "private_security_group" {
32+ source = " ./resources"
33+ vpc_id = var. vpc_id
34+ prefix = var. prefix
35+ environment = var. environment
36+ sg_type = " private"
37+ sg_description = " The private security group to allows inbound traffic from public group"
38+ }
39+
40+ # AWS Private Security Group Rules
41+ resource "aws_security_group_rule" "allow_inbound_private" {
42+ type = " ingress"
43+ from_port = 0
44+ to_port = 65535
45+ protocol = " -1"
46+ source_security_group_id = module. public_security_group . security_group_id
47+ security_group_id = module. private_security_group . security_group_id
48+ }
49+
50+ # AWS Storage Security Group
51+ module "storage_security_group" {
52+ source = " ./resources"
53+ vpc_id = var. vpc_id
54+ prefix = var. prefix
55+ environment = var. environment
56+ sg_type = " storage"
57+ sg_description = " The storage security group to allows inbound traffic from private group"
58+ }
59+
60+ # AWS Storage Security Group Rules
61+ resource "aws_security_group_rule" "allow_inbound_storage" {
62+ type = " ingress"
63+ from_port = 0
64+ to_port = 65535
65+ protocol = " -1"
66+ source_security_group_id = module. private_security_group . security_group_id
67+ security_group_id = module. storage_security_group . security_group_id
68+ }
0 commit comments