(2024.01.10 업데이트)
원인을 알아냈다.
ec2 의 사양이 t2.micro 이다. 메모리 swap을 해놓지 않았으니 기본 메모리가 1GB 이다.
메모리가 적기 때문에 문제가 발생했던 것이다.
문제가 되었던 현상은 github action + s3 + ec2 + aws codedeploy 를 통해 java .jar 를 구동하는 서버로 구성했을 때도 ci/cd 도중 download bundle에서 44분째 진행이 멈춰있었고 cpu는 95%이상으로 올라가 있었다.
그래서 swap 메모리 설정을 통해 스토리지의 4GB를 메모리로 할당했다.
sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo cp /etc/fstab /etc/fstab.bak echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
또 한번 나의 부족함을 느끼고 배웠다.
(오래된 글)
github action + s3 + ec2 + aws codedeploy 를 통해 jsp .war + tomcat 서버를 구성하였다.
그런데 가끔 발생하는 문제로 codedeploy 에서 진행이 안되고 있는 이슈가 발생해서 아래와 같은 원인 분석을 시작했다.
codedeploy 진행 중에 ec2가 접속이 되지 않고 cpu가 올라가는 것에서 시작되었다.
아마 배포 진행중에 오류가 생겨서 지속적으로 무엇인가 반복 시도 실행때문에 cpu에 부하가 걸린 것 같다.
그래서 ec2를 접속하지 못하기 때문에 문제 시점 당시 codedeploy status를 확인할 수 없다.
일단 인스턴스를 중지한 뒤 새로 가동시킨다.