Skip to content

Conversation

@dylanratcliffe
Copy link
Member

No description provided.

@github-actions
Copy link

github-actions bot commented Oct 29, 2025

Overmind

Open in Overmind ↗


model|risks_v6

🔴 Change Signals

Routine 🔴 ▃▂▁ AWS ECS task definitions showing first ever modifications, which is unusual compared to typical patterns.
Policies 🔴 ▃▂▁ Multiple S3 buckets lack server-side encryption and required tags, while security groups allow SSH access from anywhere, which is unusual compared to typical patterns.
Cost 🟢 Cost analysis shows a monthly decrease of $14.61 (-5.3%) from $274.11 to $259.50 USD across 119 resources, maintaining typical patterns.

View signals ↗


🔥 Risks

ECS task memory reduced below JVM heap will cause OOM and service downtime ‼️High Open Risk ↗
The ECS task definition scenarios--a3ec77f7-task is reducing task memory from 2048MB to 1024MB while the container continues to set a 1536MB JVM heap via JAVA_OPTS. On AWS Fargate, the process cannot allocate more memory than the task’s memory limit.

When the new task definition deploys, the JVM will attempt to allocate a 1.5GB heap inside a 1GB task and will be OOM-killed during startup. Replacement tasks will fail health checks, leaving the ECS service with zero healthy tasks and the ALB target group without healthy targets, causing an application outage.

Changing ECS container health check to 8080 while ALB and container use 1234 will drain targets and cause an outage ‼️High Open Risk ↗
The facial-recognition ECS task definition is being replaced to change its container health check from localhost:1234 to localhost:8080 while the container still exposes containerPort 1234 and the ALB target group facerec-terraform-example continues to send traffic to port 1234 with healthy target 10.0.2.220:1234. This creates a hard mismatch between the task’s internal health probe and the port the application actually serves.

When deployed, the ECS agent will mark containers unhealthy because nothing listens on 8080, causing tasks to be stopped and deregistered from the target group. With no healthy targets remaining, requests routed via the listener rule for face-terraform-example.overmind-terraform-example.com will fail, resulting in service outage.

Reducing ECS task memory to 1024 MB while Java heap is 1536 MB will cause OOM and service instability ‼️High Open Risk ↗
The ECS task definition 540044833068.eu-west-2.ecs-task-definition.scenarios--a3ec77f7-task is being replaced to cut task Memory from 2048 MB to 1024 MB while the container sets JAVA_OPTS to a 1536 MB heap. On Fargate, the task memory is a hard limit; the JVM will attempt to allocate more than the available memory.

When the new task definition deploys, replacement tasks will be OOM-killed or fail to start, causing the ECS service to churn and the ALB target group on port 8080 to see unhealthy targets. This will lead to failed task placements, health-check failures, and potential service downtime as 2048 MB tasks are replaced by underprovisioned 1024 MB tasks.

Root EBS volumes will be deleted during AMI-driven instance replacement (DeleteOnTermination=true) causing data loss ❗Medium Open Risk ↗
Both EC2 instances will be replaced to apply a new AMI. Their current root EBS volumes (vol-011ca7661217b5823 on i-01dcfcab37ba22689 and vol-0bc99e157a38768b6 on i-02f292e8a0766d313) are attached as /dev/xvda with DeleteOnTermination=true. When the instances are terminated during replacement, AWS will delete these root volumes.

This will destroy any local-only state, logs, or configuration changes stored on the root filesystem, resulting in irreversible data loss and fresh instances coming up without that state.


🟣 Expected Changes

+/- ecs-task-definition › facial-recognition-terraform-example
--- current
+++ proposed
@@ -2,17 +2,23 @@
 id: github.com/overmindtech/terraform-example.ecs-task-definition.module.scenarios[0].aws_ecs_task_definition.face
 attributes:
-  arn: arn:aws:ecs:eu-west-2:540044833068:task-definition/facial-recognition-terraform-example:7
-  arn_without_revision: arn:aws:ecs:eu-west-2:540044833068:task-definition/facial-recognition-terraform-example
-  container_definitions: '[{"cpu":1024,"environment":[{"name":"DATABASE_URL","value":"tf-20240827194315707700000013.cnx7xf6hwmba.eu-west-2.rds.amazonaws.com"}],"essential":true,"healthCheck":{"command":["CMD-SHELL","wget -q --spider localhost:1234"],"interval":30,"retries":3,"timeout":5},"image":"harshmanvar/face-detection-tensorjs:slim-amd","memory":2048,"mountPoints":[],"name":"facial-recognition","portMappings":[{"appProtocol":"http","containerPort":1234,"hostPort":1234,"protocol":"tcp"}],"systemControls":[],"volumesFrom":[]}]'
+  arn: (known after apply)
+  arn_without_revision: (known after apply)
+  container_definitions: '[{"cpu":1024,"environment":[{"name":"DATABASE_URL","value":"tf-20240827194315707700000013.cnx7xf6hwmba.eu-west-2.rds.amazonaws.com"}],"essential":true,"healthCheck":{"command":["CMD-SHELL","wget -q --spider localhost:8080"],"interval":30,"retries":3,"timeout":5},"image":"harshmanvar/face-detection-tensorjs:slim-amd","memory":2048,"mountPoints":[],"name":"facial-recognition","portMappings":[{"appProtocol":"http","containerPort":1234}],"volumesFrom":[]}]'
   cpu: "1024"
-  enable_fault_injection: false
+  enable_fault_injection: (known after apply)
+  execution_role_arn: null
   family: facial-recognition-terraform-example
-  id: facial-recognition-terraform-example
+  id: (known after apply)
+  ipc_mode: null
   memory: "2048"
   network_mode: awsvpc
+  pid_mode: null
   requires_compatibilities:
     - FARGATE
-  revision: 7
+  revision: (known after apply)
   skip_destroy: false
+  tags: null
+  tags_all: (known after apply)
+  task_role_arn: null
   terraform_address: module.scenarios[0].aws_ecs_task_definition.face
   terraform_name: module.scenarios[0].aws_ecs_task_definition.face
+/- ec2-instance › i-01dcfcab37ba22689
--- current
+++ proposed
@@ -2,61 +2,52 @@
 id: github.com/overmindtech/terraform-example.ec2-instance.module.scenarios[0].aws_instance.app_server
 attributes:
-  ami: ami-0f802dc0fc1809acd
-  arn: arn:aws:ec2:eu-west-2:540044833068:instance/i-01dcfcab37ba22689
+  ami: ami-0ca1753a2af8d9bbf
+  arn: (known after apply)
   associate_public_ip_address: true
-  availability_zone: eu-west-2b
-  capacity_reservation_specification:
-    - capacity_reservation_preference: open
-  cpu_core_count: 1
-  cpu_options:
-    - core_count: 1
-      threads_per_core: 2
-  cpu_threads_per_core: 2
-  credit_specification:
-    - cpu_credits: unlimited
-  disable_api_stop: false
-  disable_api_termination: false
-  ebs_optimized: false
-  enable_primary_ipv6: null
-  enclave_options:
-    - enabled: false
+  availability_zone: (known after apply)
+  capacity_reservation_specification: (known after apply)
+  cpu_core_count: (known after apply)
+  cpu_options: (known after apply)
+  cpu_threads_per_core: (known after apply)
+  disable_api_stop: (known after apply)
+  disable_api_termination: (known after apply)
+  ebs_block_device: (known after apply)
+  ebs_optimized: (known after apply)
+  enable_primary_ipv6: (known after apply)
+  enclave_options: (known after apply)
+  ephemeral_block_device: (known after apply)
   get_password_data: false
-  hibernation: false
-  host_resource_group_arn: null
-  id: i-01dcfcab37ba22689
-  instance_initiated_shutdown_behavior: stop
-  instance_state: running
+  hibernation: null
+  host_id: (known after apply)
+  host_resource_group_arn: (known after apply)
+  iam_instance_profile: (known after apply)
+  id: (known after apply)
+  instance_initiated_shutdown_behavior: (known after apply)
+  instance_lifecycle: (known after apply)
+  instance_market_options: (known after apply)
+  instance_state: (known after apply)
   instance_type: t3.small
-  ipv6_address_count: 0
+  ipv6_address_count: (known after apply)
+  ipv6_addresses: (known after apply)
   key_name: Demo Key Pair
-  maintenance_options:
-    - auto_recovery: default
-  metadata_options:
-    - http_endpoint: enabled
-      http_protocol_ipv6: disabled
-      http_put_response_hop_limit: 1
-      http_tokens: optional
-      instance_metadata_tags: disabled
-  monitoring: false
-  placement_partition_number: 0
-  primary_network_interface_id: eni-0501ad33e98bb6f8c
-  private_dns: ip-10-0-10-239.eu-west-2.compute.internal
-  private_dns_name_options:
-    - enable_resource_name_dns_a_record: false
-      enable_resource_name_dns_aaaa_record: false
-      hostname_type: ip-name
-  private_ip: 10.0.10.239
-  public_dns: ec2-13-41-66-30.eu-west-2.compute.amazonaws.com
-  public_ip: 13.41.66.30
-  root_block_device:
-    - delete_on_termination: true
-      device_name: /dev/xvda
-      encrypted: false
-      iops: 0
-      throughput: 0
-      volume_id: vol-011ca7661217b5823
-      volume_size: 8
-      volume_type: standard
+  maintenance_options: (known after apply)
+  metadata_options: (known after apply)
+  monitoring: (known after apply)
+  network_interface: (known after apply)
+  outpost_arn: (known after apply)
+  password_data: (known after apply)
+  placement_group: (known after apply)
+  placement_partition_number: (known after apply)
+  primary_network_interface_id: (known after apply)
+  private_dns: (known after apply)
+  private_dns_name_options: (known after apply)
+  private_ip: (known after apply)
+  public_dns: (known after apply)
+  public_ip: (known after apply)
+  root_block_device: (known after apply)
+  secondary_private_ips: (known after apply)
+  security_groups: (known after apply)
   source_dest_check: true
+  spot_instance_request_id: (known after apply)
   subnet_id: subnet-036704734045071f9
   tags:
@@ -64,10 +50,10 @@
   tags_all:
     Name: App Server
-  tenancy: default
+  tenancy: (known after apply)
   terraform_address: module.scenarios[0].aws_instance.app_server
   terraform_name: module.scenarios[0].aws_instance.app_server
   timeouts: null
-  user_data: null
-  user_data_base64: null
+  user_data: (known after apply)
+  user_data_base64: (known after apply)
   user_data_replace_on_change: false
   volume_tags: null
+/- ec2-instance › i-02f292e8a0766d313
--- current
+++ proposed
@@ -2,61 +2,52 @@
 id: github.com/overmindtech/terraform-example.ec2-instance.module.scenarios[0].aws_instance.webserver
 attributes:
-  ami: ami-0f802dc0fc1809acd
-  arn: arn:aws:ec2:eu-west-2:540044833068:instance/i-02f292e8a0766d313
+  ami: ami-0ca1753a2af8d9bbf
+  arn: (known after apply)
   associate_public_ip_address: true
-  availability_zone: eu-west-2a
-  capacity_reservation_specification:
-    - capacity_reservation_preference: open
-  cpu_core_count: 1
-  cpu_options:
-    - core_count: 1
-      threads_per_core: 2
-  cpu_threads_per_core: 2
-  credit_specification:
-    - cpu_credits: unlimited
-  disable_api_stop: false
-  disable_api_termination: false
-  ebs_optimized: false
-  enable_primary_ipv6: null
-  enclave_options:
-    - enabled: false
+  availability_zone: (known after apply)
+  capacity_reservation_specification: (known after apply)
+  cpu_core_count: (known after apply)
+  cpu_options: (known after apply)
+  cpu_threads_per_core: (known after apply)
+  disable_api_stop: (known after apply)
+  disable_api_termination: (known after apply)
+  ebs_block_device: (known after apply)
+  ebs_optimized: (known after apply)
+  enable_primary_ipv6: (known after apply)
+  enclave_options: (known after apply)
+  ephemeral_block_device: (known after apply)
   get_password_data: false
-  hibernation: false
-  host_resource_group_arn: null
-  id: i-02f292e8a0766d313
-  instance_initiated_shutdown_behavior: stop
-  instance_state: running
+  hibernation: null
+  host_id: (known after apply)
+  host_resource_group_arn: (known after apply)
+  iam_instance_profile: (known after apply)
+  id: (known after apply)
+  instance_initiated_shutdown_behavior: (known after apply)
+  instance_lifecycle: (known after apply)
+  instance_market_options: (known after apply)
+  instance_state: (known after apply)
   instance_type: t3.small
-  ipv6_address_count: 0
+  ipv6_address_count: (known after apply)
+  ipv6_addresses: (known after apply)
   key_name: Demo Key Pair
-  maintenance_options:
-    - auto_recovery: default
-  metadata_options:
-    - http_endpoint: enabled
-      http_protocol_ipv6: disabled
-      http_put_response_hop_limit: 1
-      http_tokens: optional
-      instance_metadata_tags: disabled
-  monitoring: false
-  placement_partition_number: 0
-  primary_network_interface_id: eni-0784f95b7ff052c6b
-  private_dns: ip-10-0-9-25.eu-west-2.compute.internal
-  private_dns_name_options:
-    - enable_resource_name_dns_a_record: false
-      enable_resource_name_dns_aaaa_record: false
-      hostname_type: ip-name
-  private_ip: 10.0.9.25
-  public_dns: ec2-13-40-28-149.eu-west-2.compute.amazonaws.com
-  public_ip: 13.40.28.149
-  root_block_device:
-    - delete_on_termination: true
-      device_name: /dev/xvda
-      encrypted: false
-      iops: 0
-      throughput: 0
-      volume_id: vol-0bc99e157a38768b6
-      volume_size: 8
-      volume_type: standard
+  maintenance_options: (known after apply)
+  metadata_options: (known after apply)
+  monitoring: (known after apply)
+  network_interface: (known after apply)
+  outpost_arn: (known after apply)
+  password_data: (known after apply)
+  placement_group: (known after apply)
+  placement_partition_number: (known after apply)
+  primary_network_interface_id: (known after apply)
+  private_dns: (known after apply)
+  private_dns_name_options: (known after apply)
+  private_ip: (known after apply)
+  public_dns: (known after apply)
+  public_ip: (known after apply)
+  root_block_device: (known after apply)
+  secondary_private_ips: (known after apply)
+  security_groups: (known after apply)
   source_dest_check: true
+  spot_instance_request_id: (known after apply)
   subnet_id: subnet-06302fc5a50644cd9
   tags:
@@ -64,10 +50,10 @@
   tags_all:
     Name: Webserver
-  tenancy: default
+  tenancy: (known after apply)
   terraform_address: module.scenarios[0].aws_instance.webserver
   terraform_name: module.scenarios[0].aws_instance.webserver
   timeouts: null
-  user_data: null
-  user_data_base64: null
+  user_data: (known after apply)
+  user_data_base64: (known after apply)
   user_data_replace_on_change: false
   volume_tags: null
~ ec2-launch-template › lt-0731f767e6be2ab94
--- current
+++ proposed
@@ -7,7 +7,7 @@
   disable_api_termination: false
   id: lt-0731f767e6be2ab94
-  image_id: ami-0f802dc0fc1809acd
+  image_id: ami-0ca1753a2af8d9bbf
   instance_type: t3.micro
-  latest_version: 20
+  latest_version: (known after apply)
   name: asg-change-launch-template-terraform-example20240827194210168200000007
   name_prefix: asg-change-launch-template-terraform-example
~ rds-db-cluster › facial-recognition-terraform-example
--- current
+++ proposed
@@ -33,5 +33,5 @@
   engine_lifecycle_support: open-source-rds-extended-support
   engine_mode: provisioned
-  engine_version: "16.8"
+  engine_version: "16.6"
   engine_version_actual: "16.8"
   final_snapshot_identifier: test
~ cloudwatch-alarm › scenarios--a3ec77f7-high-cpu
--- current
+++ proposed
@@ -27,12 +27,12 @@
     JVMBehavior: CPU-spikes-before-OOM
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     MemoryThrashing: frequent-GC-when-constrained
     Name: scenarios--a3ec77f7-cpu-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -44,12 +39,12 @@
     JVMBehavior: CPU-spikes-before-OOM
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     MemoryThrashing: frequent-GC-when-constrained
     Name: scenarios--a3ec77f7-cpu-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_cloudwatch_metric_alarm.high_cpu_utilization[0]
~ cloudwatch-alarm › scenarios--a3ec77f7-high-memory
--- current
+++ proposed
@@ -23,5 +23,5 @@
   tags:
     AlarmTrigger: memory-over-80-percent
-    ContainerMemoryMB: "2048"
+    ContainerMemoryMB: "1024"
     CreatedBy: terraform
     DaysUntilBF: "7"
@@ -29,16 +29,16 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-memory-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
-    WillFireAfterChange: "false"
+    WillFireAfterChange: "true"
   tags_all:
     AlarmTrigger: memory-over-80-percent
-    ContainerMemoryMB: "2048"
+    ContainerMemoryMB: "1024"
     CreatedBy: terraform
     DaysUntilBF: "7"
@@ -46,13 +39,13 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-memory-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
-    WillFireAfterChange: "false"
+    WillFireAfterChange: "true"
   terraform_address: module.scenarios[0].module.memory_optimization.aws_cloudwatch_metric_alarm.high_memory_utilization[0]
   terraform_name: module.scenarios[0].module.memory_optimization.aws_cloudwatch_metric_alarm.high_memory_utilization[0]
~ cloudwatch-alarm › scenarios--a3ec77f7-low-task-count
--- current
+++ proposed
@@ -30,11 +30,11 @@
     ExpectedTasks: "3"
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-task-count-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     ThresholdTasks: "2.4"
@@ -48,11 +44,11 @@
     ExpectedTasks: "3"
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-task-count-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     ThresholdTasks: "2.4"
~ cloudwatch-alarm › scenarios--a3ec77f7-unhealthy-targets
--- current
+++ proposed
@@ -27,11 +27,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-unhealthy-targets-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     RollbackCapability: insufficient
     Scenario: cost-reduction
@@ -45,11 +41,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-unhealthy-targets-alarm
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     RollbackCapability: insufficient
     Scenario: cost-reduction
~ ecs-cluster › scenarios--a3ec77f7-cluster
--- current
+++ proposed
@@ -14,11 +14,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-cluster
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -28,11 +24,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-cluster
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_ecs_cluster.main[0]
+/- ecs-task-definition › scenarios--a3ec77f7-task
--- current
+++ proposed
@@ -2,20 +2,22 @@
 id: github.com/overmindtech/terraform-example.ecs-task-definition.module.scenarios[0].module.memory_optimization.aws_ecs_task_definition.app[0]
 attributes:
-  arn: arn:aws:ecs:eu-west-2:540044833068:task-definition/scenarios--a3ec77f7-task:2
-  arn_without_revision: arn:aws:ecs:eu-west-2:540044833068:task-definition/scenarios--a3ec77f7-task
-  container_definitions: '[{"environment":[{"name":"CATALINA_OPTS","value":"-Djava.security.egd=file:/dev/./urandom"},{"name":"JAVA_OPTS","value":"-Xmx1536m -Xms1536m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"}],"essential":true,"healthCheck":{"command":["CMD-SHELL","curl -f http://localhost:8080/ || exit 1"],"interval":30,"retries":3,"startPeriod":120,"timeout":5},"image":"tomcat:9-jre11","logConfiguration":{"logDriver":"awslogs","options":{"awslogs-group":"/ecs/scenarios--a3ec77f7","awslogs-region":"eu-west-2","awslogs-stream-prefix":"ecs"}},"memoryReservation":800,"mountPoints":[],"name":"tomcat-app","portMappings":[{"containerPort":8080,"hostPort":8080,"protocol":"tcp"}],"systemControls":[],"volumesFrom":[]}]'
+  arn: (known after apply)
+  arn_without_revision: (known after apply)
+  container_definitions: '[{"environment":[{"name":"CATALINA_OPTS","value":"-Djava.security.egd=file:/dev/./urandom"},{"name":"JAVA_OPTS","value":"-Xmx1536m -Xms1536m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"}],"essential":true,"healthCheck":{"command":["CMD-SHELL","curl -f http://localhost:8080/ || exit 1"],"interval":30,"retries":3,"startPeriod":120,"timeout":5},"image":"tomcat:9-jre11","logConfiguration":{"logDriver":"awslogs","options":{"awslogs-group":"/ecs/scenarios--a3ec77f7","awslogs-region":"eu-west-2","awslogs-stream-prefix":"ecs"}},"memoryReservation":800,"name":"tomcat-app","portMappings":[{"containerPort":8080,"hostPort":8080,"protocol":"tcp"}]}]'
   cpu: "512"
-  enable_fault_injection: false
+  enable_fault_injection: (known after apply)
   execution_role_arn: arn:aws:iam::540044833068:role/scenarios--a3ec77f7-ecs-execution-role
   family: scenarios--a3ec77f7-task
-  id: scenarios--a3ec77f7-task
-  memory: "2048"
+  id: (known after apply)
+  ipc_mode: null
+  memory: "1024"
   network_mode: awsvpc
+  pid_mode: null
   requires_compatibilities:
     - FARGATE
-  revision: 2
+  revision: (known after apply)
   skip_destroy: false
   tags:
-    ContainerMemoryMB: "2048"
+    ContainerMemoryMB: "1024"
     CreatedBy: terraform
     DaysUntilBF: "7"
@@ -24,17 +18,17 @@
     JavaHeapMB: "1536"
     JavaHeapSizeMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     MemoryOptimized: "true"
     MemoryOverheadMB: "256"
     Name: scenarios--a3ec77f7-task
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     TotalRequiredMB: "1792"
   tags_all:
-    ContainerMemoryMB: "2048"
+    ContainerMemoryMB: "1024"
     CreatedBy: terraform
     DaysUntilBF: "7"
@@ -43,13 +28,13 @@
     JavaHeapMB: "1536"
     JavaHeapSizeMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     MemoryOptimized: "true"
     MemoryOverheadMB: "256"
     Name: scenarios--a3ec77f7-task
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     TotalRequiredMB: "1792"
~ iam-role › scenarios--a3ec77f7-ecs-execution-role
--- current
+++ proposed
@@ -17,10 +17,10 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
-    OptimizationWorks: "true"
+    MemoryMB: "1024"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -29,10 +26,10 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
-    OptimizationWorks: "true"
+    MemoryMB: "1024"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_iam_role.ecs_execution_role[0]
~ iam-role › scenarios--a3ec77f7-ecs-task-role
--- current
+++ proposed
@@ -15,10 +15,10 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
-    OptimizationWorks: "true"
+    MemoryMB: "1024"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -27,10 +24,10 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
-    OptimizationWorks: "true"
+    MemoryMB: "1024"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_iam_role.ecs_task_role[0]
~ elbv2-load-balancer › scenarios--a3ec77f7-alb
--- current
+++ proposed
@@ -41,11 +41,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-alb
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     context:black-friday-traffic: 10x normal load expected
@@ -57,11 +53,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-alb
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     context:black-friday-traffic: 10x normal load expected
~ elbv2-listener › arn:aws:elasticloadbalancing:eu-west-2:540044833068:listener/app/scenarios--a3ec77f7-alb/a0268d67b29039c7/af5e943a0e473e91
--- current
+++ proposed
@@ -33,11 +33,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-listener
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -46,11 +42,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-listener
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tcp_idle_timeout_seconds: null
~ elbv2-target-group › scenarios--a3ec77f7-tg
--- current
+++ proposed
@@ -41,11 +41,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-tg
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     risk:black-friday-timing: change 7 days before peak
@@ -58,11 +54,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-tg
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     risk:black-friday-timing: change 7 days before peak
~ ec2-security-group › sg-05d18b768c900a686
--- current
+++ proposed
@@ -30,11 +30,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-alb-sg
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -44,11 +40,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-alb-sg
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_security_group.alb[0]
~ ec2-security-group › sg-0f300b2ad9b497952
--- current
+++ proposed
@@ -30,11 +30,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-ecs-sg
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     warning:containers-affected: 3 containers
@@ -46,11 +42,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-ecs-sg
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
     warning:containers-affected: 3 containers
~ sns-topic › arn:aws:sns:eu-west-2:540044833068:scenarios--a3ec77f7-alerts
--- current
+++ proposed
@@ -21,11 +21,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-alerts
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -35,11 +31,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-alerts
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_sns_topic.alerts[0]
~ ec2-route-table › rtb-0c52db7871965c5a1
--- current
+++ proposed
@@ -7,9 +7,9 @@
   owner_id: "540044833068"
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-default
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-default
     Terraform: "true"
~ ec2-address › 3.11.31.83
--- current
+++ proposed
@@ -18,9 +18,9 @@
   public_ipv4_pool: amazon
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2a
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2a
     Terraform: "true"
~ ec2-address › 18.134.176.13
--- current
+++ proposed
@@ -18,9 +18,9 @@
   public_ipv4_pool: amazon
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2b
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2b
     Terraform: "true"
~ ec2-internet-gateway › igw-0b7151f8472d03c8a
--- current
+++ proposed
@@ -6,9 +6,9 @@
   owner_id: "540044833068"
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example
     Terraform: "true"
~ ec2-nat-gateway › nat-0f789c96969ec0dd1
--- current
+++ proposed
@@ -12,9 +12,9 @@
   subnet_id: subnet-0b805a32f5d7f0c7b
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2a
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2a
     Terraform: "true"
~ ec2-nat-gateway › nat-06036dc6d716438e0
--- current
+++ proposed
@@ -12,9 +12,9 @@
   subnet_id: subnet-016bfadacc9c60bfc
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2b
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-eu-west-2b
     Terraform: "true"
~ ec2-route-table › rtb-07f5933d73ceaab99
--- current
+++ proposed
@@ -9,9 +9,9 @@
       nat_gateway_id: nat-0f789c96969ec0dd1
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2a
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2a
     Terraform: "true"
~ ec2-route-table › rtb-09d0b7c0ce1121c2d
--- current
+++ proposed
@@ -9,9 +9,9 @@
       nat_gateway_id: nat-06036dc6d716438e0
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2b
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2b
     Terraform: "true"
~ ec2-route-table › rtb-0536cdbeadfe92efa
--- current
+++ proposed
@@ -9,9 +9,9 @@
       gateway_id: igw-0b7151f8472d03c8a
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-public
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-public
     Terraform: "true"
~ ec2-subnet › subnet-0d0a1aff83bd8a460
--- current
+++ proposed
@@ -18,9 +18,9 @@
   private_dns_hostname_type_on_launch: ip-name
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2a
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2a
     Terraform: "true"
~ ec2-subnet › subnet-0303f6ca155877094
--- current
+++ proposed
@@ -18,9 +18,9 @@
   private_dns_hostname_type_on_launch: ip-name
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2b
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-private-eu-west-2b
     Terraform: "true"
~ ec2-subnet › subnet-0b805a32f5d7f0c7b
--- current
+++ proposed
@@ -18,9 +18,9 @@
   private_dns_hostname_type_on_launch: ip-name
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-public-eu-west-2a
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-public-eu-west-2a
     Terraform: "true"
~ ec2-subnet › subnet-016bfadacc9c60bfc
--- current
+++ proposed
@@ -18,9 +18,9 @@
   private_dns_hostname_type_on_launch: ip-name
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-public-eu-west-2b
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-public-eu-west-2b
     Terraform: "true"
~ ec2-vpc › vpc-0f4ddbf8c33e5c725
--- current
+++ proposed
@@ -20,9 +20,9 @@
   owner_id: "540044833068"
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example
     Terraform: "true"

🟠 Unmapped Changes

~ aws_ecs_service › module.scenarios[0].aws_ecs_service.face
--- current
+++ proposed
@@ -38,5 +38,5 @@
   propagate_tags: NONE
   scheduling_strategy: REPLICA
-  task_definition: arn:aws:ecs:eu-west-2:540044833068:task-definition/facial-recognition-terraform-example:7
+  task_definition: (known after apply)
   terraform_address: module.scenarios[0].aws_ecs_service.face
   terraform_name: module.scenarios[0].aws_ecs_service.face
~ aws_rds_cluster_instance › module.scenarios[0].aws_rds_cluster_instance.face_database
--- current
+++ proposed
@@ -14,7 +14,7 @@
   endpoint: tf-20240827194315707700000013.cnx7xf6hwmba.eu-west-2.rds.amazonaws.com
   engine: aurora-postgresql
-  engine_version: "16.8"
+  engine_version: "16.6"
   engine_version_actual: "16.8"
-  force_destroy: null
+  force_destroy: false
   id: tf-20240827194315707700000013
   identifier: tf-20240827194315707700000013
~ aws_cloudwatch_log_group › module.scenarios[0].module.memory_optimization.aws_cloudwatch_log_group.app[0]
--- current
+++ proposed
@@ -14,11 +14,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-logs
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -28,11 +24,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-logs
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   terraform_address: module.scenarios[0].module.memory_optimization.aws_cloudwatch_log_group.app[0]
~ aws_ecs_service › module.scenarios[0].module.memory_optimization.aws_ecs_service.app[0]
--- current
+++ proposed
@@ -44,11 +44,11 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-service
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
   tags_all:
@@ -61,13 +57,13 @@
     Environment: demo
     JavaHeapMB: "1536"
-    MemoryMB: "2048"
+    MemoryMB: "1024"
     Name: scenarios--a3ec77f7-service
-    OptimizationWorks: "true"
+    OptimizationWorks: "false"
     Project: memory-optimization
     Purpose: production-optimization
     RequiredMemoryMB: "1792"
-    RiskLevel: low
+    RiskLevel: high
     Scenario: cost-reduction
-  task_definition: arn:aws:ecs:eu-west-2:540044833068:task-definition/scenarios--a3ec77f7-task:2
+  task_definition: (known after apply)
   terraform_address: module.scenarios[0].module.memory_optimization.aws_ecs_service.app[0]
   terraform_name: module.scenarios[0].module.memory_optimization.aws_ecs_service.app[0]
~ aws_default_network_acl › module.scenarios[0].module.vpc.aws_default_network_acl.this[0]
--- current
+++ proposed
@@ -46,9 +46,9 @@
     - subnet-0d0a1aff83bd8a460
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-default
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-default
     Terraform: "true"
~ aws_default_security_group › module.scenarios[0].module.vpc.aws_default_security_group.this[0]
--- current
+++ proposed
@@ -35,9 +35,9 @@
   revoke_rules_on_delete: false
   tags:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-default
     Terraform: "true"
   tags_all:
-    Environment: dev
+    Environment: development
     Name: workloads-terraform-example-default
     Terraform: "true"

💥 Blast Radius

Items 133

Edges 359

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants