서버 장애 한번으로 그동안 고생한 모든것들이 한번에 날아가는 느낌입니다. 서버관리자가…

서버 장애 한번으로 그동안 고생한 모든것들이 한번에 날아가는 느낌입니다.
서버관리자가 따로 없다보니 어려움이 많지만 당장은 어쩔 수 없으니 장애가 발생하지 않도록 예방을 하는게 최선인 상태입니다.

현재 저희쪽 구성은 아마존 클라우드와치로 알림을 설정해서 알림을 받고 ssh로 해당 서버 접속해서 아파치를 재시작해서 처리하고 있습니다.
알림받고 바로 그때그때 아파치 재시작만 해줘도 문제는 없습니다.

하지만 평상시엔 크게 문제가 없는데 간혹 ssh 접속을 할 수 없는 상황에서는 처리할 방법이 없습니다.(새벽이나 휴가등으로 외부에 있을때)

클라우드와치 알림을 ec2인스턴스로 받으면 바로 아파치를 재시작하도록 하면 어떤 상황에서도 대처가 될 것 같은데 방법을 모르겠습니다.

클라우드와치 알림을 ec2인스턴스로 바로 받을 수 있는 방법이 있을까요?
아니면 비슷한 다른 기능이나 방법이 있는지 궁금합니다.

14 thoughts on “서버 장애 한번으로 그동안 고생한 모든것들이 한번에 날아가는 느낌입니다. 서버관리자가…

  1. cludewatch sdk or cli 사용하여 스크립트를 작성하구요. 알람이 발생했다면 apache 프로세스를 재시작하는 방법이 이겠네요. crontab에 걸어 배치성으로 돌게끔 하면 될 것 같아요.^^

  2. 저 같은 경우에는 인프라 기본 정책은 “장애 허용”입니다. 장애가 없도록 만반의 준비를 하는 대신, 발생한 장애를 관리하는데 중점을 두고 있습니다.

    서버 장애는 언제든지 발생할 수 있다고 못 박고, 서버 장애가 서비스 장애로 확산되지 않는 인프라 구성, 서버 장애가 서비스 장애로 확산하기 전에 대응할 수 있는 모니터링 시스템의 강화, 이슈관리 시스템 도입 등으로 대응하고 있씁니다.

    원인을 파악하지 않은 상황에서 자동으로 실행하면, 그게 더 위험할 수 있기 때문에죽은 서버를 다시 실행하지 않습니다. 그건 서버팜에서 따로 빼내서 분석하는 용도로 사용하고 있습니다.

  3. Yun Sang Bae 감사합니다.원래는 그렇게 하는게 맞지만 현재 상황이 그럴수가 없는 상황입니다.개발일업무가 많다보니 그 부분까지 처리할 여유가 없습니다.
    담당인력을 충원하려고 올려도 뽑히지도 않구요~ㅠㅠ

  4. 음.. 근데.. 어차피 서버 한두대 뻗어도 서비스에는 지장이 없도록 구성되지 않나요 ? 재시작 하는 대신, 인스턴스 새로 올리는게 쉬울 것 같은데..

  5. Yun Sang Bae 인스턴스가 여러개라서 한두개 죽어도 당장은 문제는 안되지만 바로 처리 안해주고 시간이 지나면 전체가 다운되는 문제가 발생합니다.
    인스턴스 새로 올리면 설정을 추가해줘야 하더라구요.이미지로 생성해서 그 이미지로 인스턴스 생성해도 추가 작업이 필요합니다.
    그래서 새로 생성이 아니고 기존 웹서버에서 아파치만 재시작하면 되는 상황입니다.

  6. 클라우드와치로 notification을 설정해두면 정해둔 sns topic으로 알림이 가는데요. topic subscription을 등록할때 protocol을 http, https로 하게 되면 notification을 직접 받아서 커스텀 액션을 할 수 있습니다. 저희 같은 경우는 sms 알림 쏘는걸 이걸로 구현을 해두었는데요. 필요하시다면 이걸로 아파치 서버 재시작하게끔 http 서버를 구성하시면 됩니다.
    사실 이 방법 보다는 auto scaling 이나 elastic beanstalk를 사용하시는게 좀 더 편할 것 같긴 하네요

  7. 김도형 인스턴스를 낮은걸 써서 한계에 달해서 죽는 듯 합니다. 저사양을 여러개 돌리고 있는 상황이라서 좀더 높은거로 올렸습니다.

  8. 서명석 어제부터 오토스켈링 테스트 몇번해봤더니 감이 좀 잡혀서 실적용 했는데 잘 돌아가네요.
    알아서 추가되고 삭제되고~^^

Comments are closed.