설명
ECS 복제 서비스의 desired_count = 0은 원하는 태스크 수를 0으로 설정합니다. 계속 요청을 처리해야 하는 서비스라면 가용성이 중단될 수 있지만, 계획된 중지나 0으로 축소하는 운영에는 의도된 값일 수 있습니다. 원하는 수와 실제 실행 중인 수는 다르므로 실행 상태도 확인해야 합니다.
DAEMON 스케줄링은 desired_count로 태스크 수를 관리하지 않습니다.
잠재적 영향
- 필요한 태스크가 실행되지 않으면 서비스가 요청을 처리하지 못할 수 있습니다.
- 용량 부족이나 배포 실패를 놓치면 원하는 수가 양수여도 장애가 지속될 수 있습니다.
해결 방법
계속 운영할 복제 서비스에는 요구에 맞는 desired_count를 지정하고 최소 1개 이상을 유지하세요. 실제 실행·대기 태스크 수, 용량, 배포 상태와 상태 확인 결과를 점검하세요. 계획된 중지나 자동 확장의 0 설정은 운영 의도와 함께 관리하고 가용성 알람을 구성하세요.
예시
태스크 수 설정을 비교하는 발췌입니다. 클러스터와 태스크 정의 참조는 실제 환경에 맞추고, 필요한 태스크 정의와 네트워크 등 생략된 구성을 별도로 마련하세요.
변경 전
hcl
resource "aws_ecs_service" "example" {
name = "example"
cluster = aws_ecs_cluster.example.id
desired_count = 0
}
변경 후
hcl
resource "aws_ecs_service" "example" {
name = "km_ecs_service"
cluster = aws_ecs_cluster.km_ecs_cluster.id
task_definition = aws_ecs_task_definition.km_ecs_task.arn
desired_count = 1
launch_type = "FARGATE"
}
변경 후에는 원하는 수를 1로 지정합니다. 실제 태스크가 정상 실행되는지 확인해야 하며, 1개 지정만으로 고가용성이 보장되지는 않습니다.