Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

코딩 이래요래

AWS ECS 중지됨: TaskFailedToStart: RESOURCE:MEMORY 본문

Trouble Shooting

AWS ECS 중지됨: TaskFailedToStart: RESOURCE:MEMORY

강범호 2025. 7. 7. 13:18

Spring Application을 AWS를 이용하여 배포를 진행하면서 겪은 상황을 얘기해보려 한다...

아래는 간단한 배포 다이어그램이다.

 

  • Spring boot application amd/64 기반으로 빌드하여 ECR에 Docker image push
  • access key, secret key 등 민감한 정보를 담은 .env 파일 private S3 업로드
  • ECS를 이용하여 ECR의 이미지와 S3의 .env파일을 이용하여 태스크 실행

하지만 Task는 실패

Task failed to start. Reason: RESOURCE:MEMORY

부팅도 못하고 죽었다..

메모리가 부족하다는 말인데.. 태스크 정의를 살펴보자

"containerDefinitions": [
    {
      "name": "",
      "image": "",
      "cpu": 256,
      "memory": 312,
      "memoryReservation": 256,
      "portMappings": [
        {
          "name": "discodeit-app-80-tcp",
          "containerPort": 80,
          "hostPort": 80,
          "protocol": "tcp",
          "appProtocol": "http"
        }
    }
]

 

AWS 과금 방지를 위해 최소한의 리소스를 사용하려고 메모리를 312Mib로 설정했는데 이게 문제였다.

  • 검색 결과 대부분의 Spring 앱에서 JVM이 제대로 뜨기도 힘든 수준...
  • 특히 .jar로 실행할 경우, 클래스 로딩 + 컨테이너 기동 + JVM Overhead까지 감안하면 최소 512Mib 이상은 필요하다고 한다.

이후 컨테이너 메모리를 512Mib로 상향 조정 후 ECS Task를 다시 실행하니...

정상적으로 기동되었다..

 

'Trouble Shooting' 카테고리의 다른 글

AWS ECS Prometheus + Grafana로 모니터링 하기  (1) 2025.07.08
AWS CloudWatch 과금  (4) 2025.07.07
TimeZone😤  (2) 2025.06.23