EC2 Volume 부족 문제 해결 (Status code: 502)

moongyu·2023년 8월 4일
0

AWS

목록 보기
1/2

문제 상황

미팅학개론 운영중에 갑자기 production 서버에서 아래와 같은 에러가 발생했다.

동일한 환경에서 stage 서버를 운영하고 있었는데, stage 환경에서는 문제가 없고, production 환경에서만 문제가 발생하는 것으로 확인되었다.

문제 원인 파악

1. 에러메세지 구글링

Origin https://meetingo.me is not allowd by Access-Control-Allow-Origin. Status code: 502

위의 502 에러가 눈에 띄었고 해당 에러 메세지로 구글링을 해보니 CORS 문제로 option을 수정하여 해당 도메인을 허용해야한다고 나왔다. 그러나 이미 이전에 관련 도메인들을 모두 접근 허용해둔 상태였고, 이미 서비스가 운영되던 중에 갑자기 문제가 발생했다는 점에서 CORS 문제는 아니라고 판단했다.

2. EC2 인스턴스 로그 점검

혹시 모를 해킹 여부를 판단하기 위해 EC2 로그를 점검했다.
lastlog 로 확인한 결과 다른 로그인 흔적은 발견하지 못했다.

winston으로 따로 로깅하고 있는 파일을 열어보았다. 그런데 error log뿐만 아니라 비교적 자잘한 로그들을 남기고 있는 verbose log에도 아무것도 남아있지 않았다. 여기서 뭔가 이상함을 느꼈다.

cat /var/log/syslog로 시스템 로그를 확인했다.

Failed to open system journal: No space left on device

위와 같은 로그를 확인할 수 있었고, EC2 저장 공간에 문제가 있는 것으로 문제 범위를 좁힐 수 있었다.

실제로 파일시스템 사용량을 확인한 결과 Use 100%로 저장 공간이 꽉 찼다. 하하하
이때 /(root) 에서 7.6G로 가장 많은 용량을 차지하고 있었고, 세부적으로 확인해보았다.

df 명령을 사용하면 리눅스 시스템 전체의 (마운트 된) 디스크 사용량을 확인할 수 있습니다.

-h 옵션을 사용하면 사람이 보기 좋게 메가(M), 기가(G) 단위로 디스크 공간을 확인할 수 있습니다.

/home, /proc, /root, /snap, /sys, /usr 등에서 대체로 많이 차지하는 것으로 확인된다.

문제 해결

각각의 세부적인 사용량 및 stage 서버에서 동일하게 비교해본 결과 production 서버에서 특별한 이상은 없으며 단순한 용량 부족으로 판단하고 EC2 볼륨을 업그레이드 했다. 그 후 서버를 재시작하여 문제를 해결하였다.

https://velog.io/@moongyu1/EC2-인스턴스-볼륨-확장하기

References

우분투 리눅스 침투 사후 로그보기
No space left on device / 장치에 남은 공간이 없음 증상 해결
리눅스 df, du 명령어 사용법 정리 (디스크 여유공간, 사용량 확인)

0개의 댓글