[AWS] EC2 연결 끊김

phantom0308
3 min readMar 17, 2021

--

AWS EC2를 사용하다 보면 가끔 원인 모를 일이 발생한다.

필자는 AWS cloudwatch 를 사용하여 EC2 인스턴스 DISK, MEMORY, CPU를 실시간 모니터링하며, 알람도 받고 있다.

아래 그림과 같이 그래프 선이 끊기는 부분이 문제 부분이다.

EC2 MEMORY
EC2 DISK

EC2 인스턴스는 running 상태로 정상이지만, EC2 접속도 안되는 상황이였으며,

로드 밸런서에 등록된 대상 상태를 보면 현재는 healthy 상태로 정상이지만, 문제 시간에는 unhealthy 상태였다.)

해당 문제를 AWS 측에 문의를 해도, 정확한 원인 파악이 불가하며, 돌아 오는 답변은 아래와 같다.

  • 네트워크 연결 끊김
  • 시스템 전원 중단
  • 물리적 호스트의 소프트웨어 문제
  • 네트워크 연결성에 영향을 주는 물리적 호스트의 하드웨어 문제
AWS 측 답변

인스턴스 상태 확인-참고사항>>

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html#types-of-instance-status-checks

AWS 서비스를 하는 물리적인 서버가 문제가 생겼기 때문에, 지속적으로 동일한 현상이 발생한다면, 인스턴스를 중지 후 시작 해 달라고 한다.(EC2 인스턴스 중지, 시작하면 해당 서비스가 다른 물리 서버(새 호스트)로 이관 된다고 한다. AWS측으로부터 받은 답변은 공식 문서에서도 확인할 수 있는 내용이며, 형식적인 답변을 받았습니다.)

필자는 로드 밸런서를 사용하기 때문에 대상 그룹에서 등록된 가용 영역에서 해당 서버를 제외하고 인스턴스를 중지 후 재시작하였다. 그 후, 다시 해당 서버를 로드 밸런서에 등록 하였다.

이런 현상을 1년에 3~4번 겪은거 같은데, 개인적으로는 이런 문제가 있다면, AWS 내에서 자동으로 다른 물리 서버로 이관 시켜주도록 서비스 해야하는 것이 아닌가 생각이 든다.

그 외 방법으로는 아래와 같이 2가지를 생각해볼 수 있다.

1. Lambda 활용

​SystemCheckFailed Alarm 발생 시, 해당 인스턴스를 Stop/Start하는 Lamdbda를 Trigger하여 인스턴스를 새 호스트로 변경하는 방법

장점 : 기존 인스턴스 그대로 사용 가능

단점 : 관리 point 증가 및 Lambda 개발 필요

2. AutoScaling 활용

Alarm에 대한 경보 발생 시, 새 인스턴스 추가하여 서비스

장점 : 코드 개발 필요 X, 용량 및 정책 등 다양한 옵션 제공

단점 : ​새 인스턴스로 서비스, 스토리지 고려(stateful X)

--

--

No responses yet