@@ -13,6 +13,23 @@ terraform {
1313 }
1414}
1515
16+ resource "aws_security_group" "ecs" {
17+ description = " Security group for ECS tasks"
18+ name = " ${ var . project_name } -${ var . environment } -ecs-sg"
19+ tags = merge (var. common_tags , {
20+ Name = " ${ var . project_name } -${ var . environment } -ecs-sg"
21+ })
22+ vpc_id = var. vpc_id
23+
24+ egress {
25+ cidr_blocks = var. default_egress_cidr_blocks
26+ description = " Allow all outbound traffic"
27+ from_port = 0
28+ protocol = " -1"
29+ to_port = 0
30+ }
31+ }
32+
1633resource "aws_security_group" "lambda" {
1734 description = " Security group for Lambda functions (Zappa)"
1835 name = " ${ var . project_name } -${ var . environment } -lambda-sg"
@@ -90,6 +107,17 @@ resource "aws_security_group" "redis" {
90107 }
91108}
92109
110+ resource "aws_security_group_rule" "rds_from_ecs" {
111+ count = var. create_rds_proxy ? 0 : 1
112+ description = " PostgreSQL from ECS"
113+ from_port = var. db_port
114+ protocol = " tcp"
115+ security_group_id = aws_security_group. rds . id
116+ source_security_group_id = aws_security_group. ecs . id
117+ to_port = var. db_port
118+ type = " ingress"
119+ }
120+
93121resource "aws_security_group_rule" "rds_from_lambda" {
94122 count = var. create_rds_proxy ? 0 : 1
95123 description = " PostgreSQL from Lambda"
@@ -112,6 +140,17 @@ resource "aws_security_group_rule" "rds_from_proxy" {
112140 source_security_group_id = aws_security_group. rds_proxy [0 ]. id
113141}
114142
143+ resource "aws_security_group_rule" "rds_proxy_from_ecs" {
144+ count = var. create_rds_proxy ? 1 : 0
145+ type = " ingress"
146+ description = " PostgreSQL from ECS"
147+ from_port = var. db_port
148+ to_port = var. db_port
149+ protocol = " tcp"
150+ security_group_id = aws_security_group. rds_proxy [0 ]. id
151+ source_security_group_id = aws_security_group. ecs . id
152+ }
153+
115154resource "aws_security_group_rule" "rds_proxy_from_lambda" {
116155 count = var. create_rds_proxy ? 1 : 0
117156 type = " ingress"
@@ -122,3 +161,13 @@ resource "aws_security_group_rule" "rds_proxy_from_lambda" {
122161 security_group_id = aws_security_group. rds_proxy [0 ]. id
123162 source_security_group_id = aws_security_group. lambda . id
124163}
164+
165+ resource "aws_security_group_rule" "redis_from_ecs" {
166+ description = " Redis from ECS"
167+ from_port = var. redis_port
168+ protocol = " tcp"
169+ security_group_id = aws_security_group. redis . id
170+ source_security_group_id = aws_security_group. ecs . id
171+ to_port = var. redis_port
172+ type = " ingress"
173+ }
0 commit comments