-
Couldn't load subscription status.
- Fork 1
Test/scenario 2 clean #335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Open in Overmind ↗
🔴 Change SignalsPolicies 🔴 🔥 RisksJVM heap 1536MB with Fargate task memory 1024MB will cause OOM and service outage During the rolling update, replacement tasks will fail health checks and never stabilize, driving the service to zero healthy tasks. Downstream, the ALB target group will have no healthy targets and CloudWatch alarms for low task count and high memory will trigger, causing user-visible downtime. Aurora PostgreSQL engine_version change on single-instance cluster will cause database downtime During the restart, services using the database endpoint (referenced by the ECS facial-recognition task) will lose DB connectivity and return errors until the instance comes back up on the new version. With no read replica or standby to fail over to, this will cause a full database outage for the application during the modification. 🟣 Expected Changes+/- 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
@@ -13,5 +13,5 @@
ClusterName: scenarios--a3ec77f7-cluster
ServiceName: scenarios--a3ec77f7-service
- evaluation_periods: 2
+ evaluation_periods: 3
id: scenarios--a3ec77f7-high-memory
metric_name: MemoryUtilization
@@ -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
@@ -7,5 +7,5 @@
setting:
- name: containerInsights
- value: disabled
+ value: enabled
tags:
CreatedBy: terraform
@@ -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":180,"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_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
@@ -6,5 +6,5 @@
log_group_class: STANDARD
name: /ecs/scenarios--a3ec77f7
- retention_in_days: 1
+ retention_in_days: 3
skip_destroy: false
tags:
@@ -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 RadiusItems Edges |
This change includes several operational improvements: - Increase CloudWatch log retention from 1 to 3 days for better debugging - Increase health check grace period from 120 to 180 seconds for JVM startup time - Increase CloudWatch alarm evaluation periods from 2 to 3 to reduce false positives - Enable Container Insights for better ECS monitoring and observability - Add comment to ASG desired capacity for documentation clarity These changes improve system reliability and monitoring capabilities without affecting core functionality. Impact: Low - operational improvements only
6bdd004 to
65a1e1e
Compare

No description provided.