본문 바로가기

Server

ElasticBeansTalk은 어떻게 상태를 체크할까?

엘라스틱 빈스톡을 사용하다 보면 콘솔로그에서 초록색으로 된 OK,  노란색으로 된 Warn, 빨간색으로 된 Fail등의 상태를 볼 수 있다.

 

그럼 빈스톡은 어떻게 이런 상태를 판별하는것일까?

 

빈스톡 처음 설정시 모니터링 기능을 Enhanced로 선택해서 배포 하게 되면 인스턴스에 분석기를 장착 한다.

해당 분석기는 여러가지 정보 ( OS 상태, Application-level health metric 등 ) 를 수집하여 이를 Cloud Watch에 기록을 한다.

이때 빈스톡은 분석기를 통해 수집된 데이터 및 로드벨런싱을 통한 헬스체크, 리소스 모니터링등을 종합 판단하여 상태를 체크한다고한다.

 

1. 로드벨런싱을 통한 HealthCheck

ELB를 통해 각각의 인스턴스에 매번 10초에 한번씩 Request를 날리도록 하고,  이를 통해서 정상적인 상태인지 체크를한다.

 

2. 리소스 모니터링

빈스톡은 환경의 리소스를 파악하여, 배포가 실패한 경우, 혹은 옵션 파일이 잘못 설정된 경우 RED 상태로 보여준다.

 

3. 운영체재 메트릭 및 서버로그

웹서버 및 운영체제에 대한 로그를 전부 모은 후, 얼마나 많은 Request가 들어오고, 얼마나 많은 에러가 발생했는지등을 수집한다.

 

 

위 3가지로 빈스톡은 자신의 상태를 보여주고 콘솔로그에서 상태를 표시해준다고 한다.


추가적으로 알게된 사실

 

1. 빈스톡의 모니터링 옵션은 두가지이다.

 

아래 2가지 중 옵션을 선택할 수 있다.

1) Basic

2) Enhanced

 

Basic의 경우 기본적인 빈스톡에 대한 상태를 컬러로 확인,  ELB를 통한 HealthCheck 와 같은 것들이 지원된다.

 

Enhanced는 Basic에서 지원하는것들은 기본적으로 지원하고, basic과는 다르게 환경 리소스에 대해서 추가적으로 정보를 수집하고 이를 CloudWatch에서 상세하게 볼 수 있다. ( CloudWatch로 불 수 있는 부분이 가장 큰 차이인것 같다 ) 또한 Basic의 경우 5분에 한번씩 빈스톡 콘솔이 업그레이드 되지만, Enhanced의 경우, 60초에 한번씩 콘솔이 업데이트 된다고 합니다.

 

 

2. HealthCheckURL을 변경 할 수 있다.

로드벨런싱을 설정하는곳에 가서 HealthCheck URL을 변경할 수 있습니다.

default는 '/' 긴 하지만 자기가 원하면 다른 URL로 변경 가능!

 

 

 

왠만하면 Basic말고 Enhanced를 사용하는게 좋을듯!