Skip to content

[트러블슈팅] EC2 서버 다운

hyeji edited this page Apr 7, 2022 · 4 revisions

1️⃣ 문제상황

EC2 서버가 가끔씩 굉장히 느려지며 다운되는 현상이 발생

2️⃣ 원인분석

초반에는 EC2가 다운되지 않았다. CI/CD와 무중단배포를 적용한 이후부터 문제가 일어난것같다. CI/CD와 무중단배포를 진행하는 NginX에 문제가 있는것인가 분석하는 도중, EC2자체에 원인이 있는것이 아닌가 생각이 들었다. image 현재 이용중인 EC2는 t2.micro 프리티어를 이용중이다. 따라서 메모리가 1GB밖에 되지않으며 CI/CD & NginX를 도입하게 되면서 메모리 사용량이 오버 되서 서버가 다운되는 현상이 일어났다. image 현재 배포중인 jar파일이 286MB를 사용중이고 CD를 담당하는 codedeploy-agent가 140MB가량 사용중이다. 여기서 무중단 배포를 하기 위해 NginX가 새로 배포할 파일을 하나 더 띄우게 되면 배포중인 jar파일만큼 메모리를 추가로 사용하게 되고 NginX와 codedeploy-agent가 메모리 사용량이 늘어남에 따라 메모리 1GB를 넘기게되어 서버가 느려지고 다운되는 것이었다.

3️⃣ 해결방안

  1. EC2의 티어를 업그레이드한다.
    • t2.small로 업그레이드 하게되면 메모리가 2GB로 늘어난다.
    • 현재 프리티어를 사용중이므로 업그레이드를 하게되면 비용이 발생한다.
  2. EC2 스토리지를 가상메모리로 할당한다.
    • EC2 여유공간이 충분하므로 일정부분을 가상메모리로 할당한다.
    • 메모리와 스토리지간의 속도차이가 있다.

4️⃣ 의견조율

EC2 여유공간이 충분하므로 일단 가상메모리로 할당해 사용해보고 특별한 문제가 발생한다면 차후에 EC2티어를 업그레이드 해보는것으로 결정했다.

5️⃣ 참고자료

https://okky.kr/article/884329