포스트

[AWS][EC2] 인스턴스를 중지하고 재시작해도 갑자기 멈추는 현상이 지속된다면? 그 원인과 해결방안.

EC2 멈춤 현상 원인

  1. 메모리 부족
  2. 해킹
  3. CPU 크레딧
  4. 하드웨어 이상(매우 드뭄)


  1. 메모리 부족

해결방법) 스왑 메모리 할당.

EC2 Free tier는 1GB의 메모리를 가지므로 2GB를 SWAP메모리로 확보. bs는 블록의 크기, count는 블록 수. (bs) x (count) = 2024 M

1
sudo dd if=/dev/zero of=/swapfile bs=128M count=16

스왑 파일의 읽기 및 쓰기 권한을 업데이트.

1
sudo chmod 600 /swapfile

리눅스 스왑 영역을 설정.

1
sudo mkswap /swapfile

스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용할 수 있도록 함.

1
sudo swapon /swapfile

다음 명령어로 프로시저가 성공적인지 확인함.

1
2
sudo swapon -s

/etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 시작하도록 함.

1
sudo vi /etc/fstab

파일 끝에 다음 줄을 새로 추가하고 파일을 저장한 다음 종료.

1
/swapfile swap swap defaults 0 0

  1. 해킹

해킹되고 있는지 확인하려면 EC2를 '중지' - '시작' 해서 일단 접속한 다음 아무것도 안하는 상태에서 top 명령어로 cpu 사용량을 보고, 내가 실행하지 않았는데 cpu 사용량이 올라가는지 확인하는 방법이 있음. free -m 으로 메모리 사용량도 체크해볼 수 있음. cpu 사용량이 많은 프로세스의 로그를 살펴서 해킹 접속으로 의심되는 ip를 발견하면 인바운드 설정에서 차단.

그 외 계정 로그인 IAM 보안설정과 budget 알람 등을 설정하는 것은 필수 조치. (블로그의 지난 포스팅을 참조)


  1. CPU 크레딧 부족

나의 경우 EC2가 시작 후, 프로세스를 전부 끈 상태에서는 EC2가 유지되지만 프로세스를 조금 올리면 몇 초 후 접속 불가가 되는 현상을 겪음. 원인을 찾기 위해 프로세스를 줄여가면서 인스턴스 중지, 시작을 10번 넘게 해보고 탄력IP도 변경해봤는데 동일했음. 인스턴스 종료 각이어서 한 번 검색을 다시 해보니 알고보니 EC2에 CPU 사용량 제한이 있더라. 시간 당 조금씩 적립되고 쌓이는 상한선이 있어서, 적립되는 속도보다 쓰는 속도가 빠르면 부족현상이 일어나면서 EC2가 사용 불가해진다. 나의 경우는 도커에 여러 컨테이너를 하나 둘 셋 점점 늘려서 계속 빌드했었는데, 이 작업이 CPU를 많이 사용하나보더라. t3에는 cpu사용량 제한이 없고, t2는 돈을 더 내면 이 제한을 풀 수가 있다.(standard -> unlimited)

AWS CPU크레딧에 대해 더 자세히 알고 싶다면 다음 이미지의 출처(캡션에 적혀있음)를 참고하면 됨.


  1. 하드웨어 이상

위 3가지 경우에 해당하지 않는다면 하드웨어 이상일 수도 있음. 다음 포스팅을 참조. https://brunch.co.kr/@alden/59

EC2 CPU Usage 이상 동작 이슈 해결하기 Amazon Web Service | Amazon Web Service 이번 글에서는 EC2에서 발생한 CPU Usage의 이상 동작 이슈의 해결 과정에 대해 이야기해 보겠습니다. 문제를 해결하기 위해서 고민했던 과정들과 AWS와의 협업 과정들을 담고 있습니다. CPU 이슈가 아니라도 다른 이슈로 EC2 문제를 겪고 있는 분들에게 도움이 되었으면 좋겠습니다. 문제의 발단 어느 날부터인가 아래 Amazon Web Service | Amazon Web Service 이번 글에서는 EC2에서 발생한 CPU Usage의 이상 동작 이슈의 해결 과정에 대해 이야기해 보겠습니다. 문제를 해결하기 위해서 고민했던 과정들과 AWS와의 협업 과정들을 담고 있습니다. CPU 이슈가 아니라도 다른 이슈로 EC2 문제를 겪고 있는 분들에게 도움이 되었으면 좋겠습니다. 문제의 발단 어느 날부터인가 아래


소감)

“t2 cpu제한 치사해 역시 공짜 좋아하면 안되는구나 ㅋ”

sticker

이 글을 읽어주셔서 감사합니다.

sticker

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.