발생 상황
젠킨스에서 배포를 위해 SSH 접속 후 셸을 시키는 중에 CPU 사용률이 99프로가 넘어가며 서버가 마비되는 현상이 발생했습니다.

이로인해 배포가 제대로 진행되지 않고 계속해서 실패했습니다.
원인
docker-compose를 이용하여 nginx + application + mysql을 띄웠는데 젠킨스를 배포할때 메모리 사용량이 EC2 t2.micro로는 버티지 못했고 메모리 확보를 위해 kswapd0 프로세스로 스왑 메모리를 확보하려 했으나 해당 프로세스가 CPU를 너무 많이 사용하여 마비되는 증상이었습니다.
생각한 방법
현재 메모리 부족증상에서 MySQL이 가장 많은 메모리를 차지하고 있으므로 이를 해결하기 위한 방법으로 다음을 생각했습니다.
- RDS를 추가적으로 띄워 EC2 인스턴스내에서 MySQL 띄우지 않도록 한다.
- 인스턴스 사이즈를 t2.small로 키워 메모리 부족 현상을 해결한다.
해결 방법
docker-compose에서 MySQL을 띄우지 않고 dev 서버 용으로 RDS를 하나 더 띄우는 방향으로 수정했습니다.
MySQL 인스턴스를 내리니 정상적으로 배포가 잘 되는 것을 확인했습니다.
