Skip to content

Commit 11f0b73

Browse files
committed
Add a flag for create service security group
1 parent 3129cb1 commit 11f0b73

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

main.tf

+7-7
Original file line numberDiff line numberDiff line change
@@ -222,15 +222,15 @@ resource "aws_iam_role_policy" "ecs_exec" {
222222
# Service
223223
## Security Groups
224224
resource "aws_security_group" "ecs_service" {
225-
count = var.enabled ? 1 : 0
225+
count = var.enabled && var.create_service_security_group ? 1 : 0
226226
vpc_id = var.vpc_id
227227
name = module.service_label.id
228228
description = "Allow ALL egress from ECS service"
229229
tags = module.service_label.tags
230230
}
231231

232232
resource "aws_security_group_rule" "allow_all_egress" {
233-
count = var.enabled && var.enable_all_egress_rule ? 1 : 0
233+
count = var.enabled && var.create_service_security_group && var.enable_all_egress_rule ? 1 : 0
234234
type = "egress"
235235
from_port = 0
236236
to_port = 0
@@ -240,7 +240,7 @@ resource "aws_security_group_rule" "allow_all_egress" {
240240
}
241241

242242
resource "aws_security_group_rule" "allow_icmp_ingress" {
243-
count = var.enabled && var.enable_icmp_rule ? 1 : 0
243+
count = var.enabled && var.create_service_security_group && var.enable_icmp_rule ? 1 : 0
244244
description = "Enables ping command from anywhere, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping"
245245
type = "ingress"
246246
from_port = 8
@@ -251,7 +251,7 @@ resource "aws_security_group_rule" "allow_icmp_ingress" {
251251
}
252252

253253
resource "aws_security_group_rule" "alb" {
254-
count = var.enabled && var.use_alb_security_group ? 1 : 0
254+
count = var.enabled && var.create_service_security_group && var.use_alb_security_group ? 1 : 0
255255
type = "ingress"
256256
from_port = var.container_port
257257
to_port = var.container_port
@@ -261,7 +261,7 @@ resource "aws_security_group_rule" "alb" {
261261
}
262262

263263
resource "aws_security_group_rule" "nlb" {
264-
count = var.enabled && var.use_nlb_cidr_blocks ? 1 : 0
264+
count = var.enabled && var.create_service_security_group && var.use_nlb_cidr_blocks ? 1 : 0
265265
type = "ingress"
266266
from_port = var.nlb_container_port
267267
to_port = var.nlb_container_port
@@ -341,7 +341,7 @@ resource "aws_ecs_service" "ignore_changes_task_definition" {
341341
dynamic "network_configuration" {
342342
for_each = var.network_mode == "awsvpc" ? ["true"] : []
343343
content {
344-
security_groups = compact(concat(var.security_group_ids, aws_security_group.ecs_service.*.id))
344+
security_groups = var.create_service_security_group ? compact(concat(var.security_group_ids, aws_security_group.ecs_service.*.id)) : var.security_group_ids
345345
subnets = var.subnet_ids
346346
assign_public_ip = var.assign_public_ip
347347
}
@@ -423,7 +423,7 @@ resource "aws_ecs_service" "default" {
423423
dynamic "network_configuration" {
424424
for_each = var.network_mode == "awsvpc" ? ["true"] : []
425425
content {
426-
security_groups = compact(concat(var.security_group_ids, aws_security_group.ecs_service.*.id))
426+
security_groups = var.create_service_security_group ? compact(concat(var.security_group_ids, aws_security_group.ecs_service.*.id)) : var.security_group_ids
427427
subnets = var.subnet_ids
428428
assign_public_ip = var.assign_public_ip
429429
}

variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ variable "security_group_ids" {
100100
default = []
101101
}
102102

103+
variable "create_service_security_group" {
104+
type = bool
105+
description = "A flag to enable/disable adding a new security group for service"
106+
default = false
107+
}
108+
103109
variable "enable_all_egress_rule" {
104110
type = bool
105111
description = "A flag to enable/disable adding the all ports egress rule to the ECS security group"

0 commit comments

Comments
 (0)