ELB의 failover방식에 대해서~ 팡요 란 서비스의 백엔드 개발자입니다. 백엔드 모두…

ELB의 failover방식에 대해서~

팡요 란 서비스의 백엔드 개발자입니다.
백엔드 모두 AWS(VPC, S3, RDS등)를 사용했고요.
아키텍쳐가 좀 복잡(RoR, ElasticSearch, Redis,Socket.io등)하지만
AWS 덕분에 혼자 백엔드 구현을 2개월정도에 구현을 완료했네요.
좋은 세상입니다. -_-b

현재는 scale이 크지 않아서 ELB에 한개의 인스턴스정도만 물려있습니다.
ELB에서는 인스턴스가 unhealthy 임계치에 걸리면 연결을 풀어버리고,
healthy 임계치에 도달을 해야만 다시 물리는 듯 합니다.
그런데 인스턴스에 문제가 생겨서 바로 대응을 하더라도
이 healthy 임계치에 도달하기 전까지는 다시 물리지 않는 문제가 있더군요.

다른 분들은 어떻게 하시나 궁금해서 글 올려봅니다.

예를 들어서 인스턴스에 문제가 생겨서 바로 복구를 했지만
health check interval 이 30초이고 healthy threshhold가 2면
총 1분이 지나야만 ELB에 해당 인스턴스가 물리는듯 합니다.
(혹시 제가 잘못 이해하고 있다면 코멘트 부탁드립니다.)

ELB를 안쓸 수도 있겠지만 팡요같은 경우는 ELB를 통해 SSL을 태우고 있어서 써야만 하는 상황이고요.

그럼 조언 부탁드리겠습니다:)

8 thoughts on “ELB의 failover방식에 대해서~ 팡요 란 서비스의 백엔드 개발자입니다. 백엔드 모두…

  1. 짧은생각이지만 ELB에 인스턴스를 2개씩 물려놓으면 하나는 작업할때 내리고, 다른건 운영하고 하는식으로 대응가능하지 않을까요? 인스턴스 사양을 낮추고 인스턴스 개수 자체는 복수로 운영하면 비용문제도 없을것 같구요.

  2. ELB에 물린 인스턴스가 1개면 healthy한 인스턴스가 하나도 없는 상황이 쉽게 올 수 있으므로.. 여러개를 두셔야 할 것 같습니다. 꼭 1대를 두셔야 한다면 Rails 앞에 (같은 서버에서) Nginx 라던지 Proxy를 두시고, 거기서 Health Check 응답을 주도록 설정해두시면 Unhealty한 인스턴스를 Healthy한 척하게 할 수 있겠습니다.

  3. 답변 감사합니다. 제가 묻고싶은 부분은 redundancy쪽 보다는 전 인스턴스에 문제가 생겼을 때에 빠른 failover를 하는데 ELB의 healthy 임계치가 오히려 방해가 되는데, 이 부분은 어떻게 하시는지 궁금한것이었답니다. 저는 정말 급할 경우엔 health threshhold와 헬스첵 interval을 확 줄여서 대응할 생각을 가지고 있고요.

  4. ELB를 안 쓸수도 있겠지만 SSL 때문에 쓰신다고 적어두셔서 Health Check 기능 때문에 인스턴스 등록/부활에 딜레이가 생기는 것을 막고 싶어 하시는 것으로 이해했습니다. Interval을 줄이는 것으로는 부족하다면 기능을 사실상 Turn off 해야하는 것으로 보이는데요.

  5. 네 현재로써는 failover시점에 줄이는게 상책일듯합니다. 초를 다투는 상황은 안오길 바라고요..ㅎ outofservice일 때 healthy threshhold interval이 따로 있었으면 하는 생각이 들지만 제 지나친 욕심인듯 하네요; 답변 감사합니다!

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.