diff --git a/terraform/modules/ecs-service/ecs_task_definition.tf b/terraform/modules/ecs-service/ecs_task_definition.tf index c393d3c55..5b4fdfb48 100644 --- a/terraform/modules/ecs-service/ecs_task_definition.tf +++ b/terraform/modules/ecs-service/ecs_task_definition.tf @@ -7,7 +7,10 @@ resource "aws_ecs_task_definition" "this" { network_mode = var.network_mode pid_mode = var.pid_mode - memory = var.container_memory_hard_limit + # TODO: Task-level cpu and memory values have been set using default/conservative values. + # They should be verified based on CloudWatch Container Insights or actual production metrics. + cpu = var.task_cpu != null ? var.task_cpu : 1024 + memory = var.task_memory != null ? var.task_memory : var.container_memory_hard_limit dynamic "placement_constraints" { for_each = var.placement_constraints diff --git a/terraform/modules/ecs-service/variables.tf b/terraform/modules/ecs-service/variables.tf index e4e646c59..30f2874b4 100644 --- a/terraform/modules/ecs-service/variables.tf +++ b/terraform/modules/ecs-service/variables.tf @@ -452,3 +452,15 @@ variable "use_load_balancer" { type = bool default = false } + +variable "task_cpu" { + description = "The number of cpu units used by the task. If not specified, a conservative default of 1024 is used." + type = number + default = null +} + +variable "task_memory" { + description = "The amount (in MiB) of memory used by the task. If not specified, defaults to container_memory_hard_limit for backward compatibility." + type = number + default = null +}