Week
5
Scenario ID
L2-015
Problem Identification
Auto Scaling warm-up 미설정으로 인한 cascade scale-out 문제가 발견되었습니다. aws_autoscaling_group.autoscaling-group-h128pu에 default_instance_warmup이 설정되지 않아 새 인스턴스가 즉시 트래픽을 받아 부하가 발생하고, 이로 인해 연쇄적인 scale-out이 일어나 단시간 내 과잉 인스턴스 비용이 발생합니다.
EC2 인스턴스 과잉 프로비저닝 문제가 확인되었습니다. 2개의 launch template 모두 m5.xlarge($140/월/인스턴스) 타입을 사용하고 있으나 부하 메트릭 근거가 부족합니다. 현재 desired_capacity 기준으로 autoscaling-group-h128pu는 2개, autoscaling-group-d89t0e는 4개 인스턴스로 총 6개 m5.xlarge 인스턴스가 운영 중이며, CPU 사용률이 50% 미만일 경우 다운사이징을 통해 비용 절감이 가능합니다.
태그 거버넌스 부재로 비용 배분이 불가능한 상황입니다. 2개의 launch template 모두 필수 태그(Environment, Owner, Project, Team)가 없어 Name 태그만 존재하며, 이로 인해 부서별/프로젝트별 비용 할당이 불가능합니다.
Root Cause
자동화 스케줄링 미적용으로 인한 Auto Scaling warm-up 설정 부재, 성능 메트릭 기반 용량 계획 없이 진행된 EC2 인스턴스 사이징, 태깅 거버넌스 정책 부재로 인한 비용 추적 및 배분 체계 미구축이 근본 원인입니다.
Proposed Solution
-
Auto Scaling warm-up 설정: aws_autoscaling_group.autoscaling-group-h128pu에 default_instance_warmup = 300 추가하여 cascade scale-out 방지. 월 절감액: 과잉 scale-out 방지로 평균 20% 인스턴스 시간 절약 = $140 × 2개 × 0.2 = $56
-
태그 거버넌스 적용: 모든 launch template에 Environment, Owner, Project, Team 태그 추가하여 비용 배분 체계 구축. 직접 비용 절감 효과는 없으나 향후 최적화를 위한 기반 마련.
-
EC2 인스턴스 다운사이징: CloudWatch 메트릭 분석 후 CPU 사용률이 50% 미만인 경우 m5.xlarge → m5.large 변경. m5.large는 $70/월/인스턴스로 인스턴스당 월 $70 절감. 6개 인스턴스 기준 월 $420 절감 가능성.
Estimated Monthly Savings (USD)
476.01
Optimized Terraform
resource "aws_autoscaling_group" "autoscaling-group-h128pu" {
name = "autoscaling-group-h128pu"
min_size = "2"
max_size = "20"
desired_capacity = "2"
vpc_zone_identifier = "var.private_subnet_ids"
id = "aws_launch_template.autoscaling-group-h128pu.id"
version = "$Latest"
default_instance_warmup = 300
key = "Name"
value = "autoscaling-group-h128pu"
propagate_at_launch = "true"
}
resource "aws_autoscaling_group" "autoscaling-group-d89t0e" {
name = "autoscaling-group-d89t0e"
min_size = "2"
max_size = "10"
desired_capacity = "4"
vpc_zone_identifier = "var.private_subnet_ids"
id = "aws_launch_template.autoscaling-group-d89t0e.id"
version = "$Latest"
default_instance_warmup = "300"
key = "Name"
value = "autoscaling-group-d89t0e"
propagate_at_launch = "true"
}
resource "aws_launch_template" "autoscaling-group-h128pu" {
name_prefix = "autoscaling-group-h128pu-"
image_id = "ami-0abcdef1234567890"
instance_type = "m5.large"
resource_type = "instance"
Name = "autoscaling-group-h128pu"
tags = {
Name = "autoscaling-group-h128pu"
Environment = "production"
Owner = "devops-team"
Project = "gamenova-main"
Team = "infrastructure"
}
}
resource "aws_launch_template" "autoscaling-group-d89t0e" {
name_prefix = "autoscaling-group-d89t0e-"
image_id = "ami-0abcdef1234567890"
instance_type = "m5.large"
resource_type = "instance"
Name = "autoscaling-group-d89t0e"
tags = {
Name = "autoscaling-group-d89t0e"
Environment = "production"
Owner = "devops-team"
Project = "gamenova-main"
Team = "infrastructure"
}
}
resource "aws_autoscaling_policy" "autoscaling-group-h128pu_target_tracking" {
name = "autoscaling-group-h128pu-target-tracking"
autoscaling_group_name = "aws_autoscaling_group.autoscaling-group-h128pu.name"
policy_type = "TargetTrackingScaling"
predefined_metric_type = "ASGAverageCPUUtilization"
target_value = "60"
}
resource "aws_autoscaling_policy" "autoscaling-group-d89t0e_target_tracking" {
name = "autoscaling-group-d89t0e-target-tracking"
autoscaling_group_name = "aws_autoscaling_group.autoscaling-group-d89t0e.name"
policy_type = "TargetTrackingScaling"
predefined_metric_type = "ASGAverageCPUUtilization"
target_value = "60"
}
Attached Reports
report.md
(Files committed to submissions/ directory)
Week
5
Scenario ID
L2-015
Problem Identification
Auto Scaling warm-up 미설정으로 인한 cascade scale-out 문제가 발견되었습니다. aws_autoscaling_group.autoscaling-group-h128pu에 default_instance_warmup이 설정되지 않아 새 인스턴스가 즉시 트래픽을 받아 부하가 발생하고, 이로 인해 연쇄적인 scale-out이 일어나 단시간 내 과잉 인스턴스 비용이 발생합니다.
EC2 인스턴스 과잉 프로비저닝 문제가 확인되었습니다. 2개의 launch template 모두 m5.xlarge($140/월/인스턴스) 타입을 사용하고 있으나 부하 메트릭 근거가 부족합니다. 현재 desired_capacity 기준으로 autoscaling-group-h128pu는 2개, autoscaling-group-d89t0e는 4개 인스턴스로 총 6개 m5.xlarge 인스턴스가 운영 중이며, CPU 사용률이 50% 미만일 경우 다운사이징을 통해 비용 절감이 가능합니다.
태그 거버넌스 부재로 비용 배분이 불가능한 상황입니다. 2개의 launch template 모두 필수 태그(Environment, Owner, Project, Team)가 없어 Name 태그만 존재하며, 이로 인해 부서별/프로젝트별 비용 할당이 불가능합니다.
Root Cause
자동화 스케줄링 미적용으로 인한 Auto Scaling warm-up 설정 부재, 성능 메트릭 기반 용량 계획 없이 진행된 EC2 인스턴스 사이징, 태깅 거버넌스 정책 부재로 인한 비용 추적 및 배분 체계 미구축이 근본 원인입니다.
Proposed Solution
Auto Scaling warm-up 설정: aws_autoscaling_group.autoscaling-group-h128pu에 default_instance_warmup = 300 추가하여 cascade scale-out 방지. 월 절감액: 과잉 scale-out 방지로 평균 20% 인스턴스 시간 절약 = $140 × 2개 × 0.2 = $56
태그 거버넌스 적용: 모든 launch template에 Environment, Owner, Project, Team 태그 추가하여 비용 배분 체계 구축. 직접 비용 절감 효과는 없으나 향후 최적화를 위한 기반 마련.
EC2 인스턴스 다운사이징: CloudWatch 메트릭 분석 후 CPU 사용률이 50% 미만인 경우 m5.xlarge → m5.large 변경. m5.large는 $70/월/인스턴스로 인스턴스당 월 $70 절감. 6개 인스턴스 기준 월 $420 절감 가능성.
Estimated Monthly Savings (USD)
476.01
Optimized Terraform
Attached Reports
report.md
(Files committed to submissions/ directory)