생활코딩

Coding Everybody

코스 전체목록

닫기

Elastic Load Balancing (ELB)

ELB

Elastic Load Balancing의 약자로 시스템에 가해지는 부하를 여러대의 시스템으로 분산해서 규모있는 시스템을 만들 수 있도록 해주는 단일 진입점

특징

  • 트래픽 분산
  • 자동 확장
  • 인스턴스의 상태를 자동 감지해서 오류가 있는 시스템은 배제
  • 사용자 세션을 특정 인스턴스에 고정
  • SSL 암호화 지원 
  • SSL의 경유지로 ELB를 사용하는 경우에 SSL 처리에 따른 부하를 ELB가 수용하게 된다.
  • IPv4, IPv6 지원
  • CloudWatch를 통해서 모니터링
  • 사용한 시간과 통과한 트래픽에 따라서 종량제로 과금

주의 사항

 ELB에 EC2를 붙이면 EC2는 클라이언트와 직접 통신을 하지 않고 ELB를 경유해서 통신하게 된다. 따라서 EC2의 입장에서는 클라이언트의 IP, User-Agent, 프로토콜(http, https)을 파악 할 수 없다. 이 문제를 해결하기 위해서 X-Forwarded-For라고하는 특수한 HTTP 헤더를 전달한다. 이 헤더의 값을 통해서 ELB로 접근한 클라이언트의 원래 IP, User-Agent, 프로토콜 등을 파악할 수 있다. 이에 대한 자세한 사항은 ELB 메뉴얼을 참고한다.

참고

댓글

댓글 본문
  1. nwlef1229
    http 요청 헤더 객체의 x-forwarded-for 라는 객체에 client ip가 들어있습니다. node.js의 경우에는 request.headers["x-forwarded-for"] 로 얻으실 수 있습니다.
  2. 김민석
    egoing님 강의영상을 보는 도중 궁금한점이 있어 댓글을 달아봅니다.
    로드밸런싱의 특징으로 '사용자 세션을 특정 인스턴스에 고정' 이라는 부분이 있는데
    영상 내 각 인스턴스의 인덱스파일을 다르게하여 접속을 하면
    트래픽이 왜 각기 다른 인스턴스로 향하는 지 궁금합니다.
    제가 생각하기에는 같은 컴퓨터에서는 항상 첫번째 인스턴스에 도달해야 한다고 생각이 되거든요..
  3. WayneKing
    개 조쿤...

    많은 트래픽 때문에 실체가 죽었을 때, 죽은 실체를 리부팅하고 핑이 몇초 안에 몇번 성공적으로 오면 다시 로드 밸런싱에 포함 한다. 다시 살리는 건 아마 오토스케일링이 하겠죠?

    오늘은 여기까지!
    항상 고맙습니다!
  4. 박지훈
    HTTPS를 안하면 아래와 같은 메세지가 떠서 HTTPS를 추가시켰는데...public key, private key이런 거를 모르겠어요ㅜㅜ

    Improve your load balancer's security. Your load balancer is not using any secure listener.
    If your traffic to the load balancer needs to be secure, use either the HTTPS or the SSL protocol for your front-end connection. You can go back to the first step to add/configure secure listeners under Basic Configuration section. You can also continue with current settings.
  5. 구름정원
    아, 그런 방법이 있군요.
    늘 감사합니다.~~
    대화보기
    • egoing
      제가 아는 범위에선 없는 것으로 알고 있습니다. 하지만 말씀하신 방법을 자동화 하는 것은 가능합니다. 현재 인스턴스에서 복제명령을 내리면 aws api를 통해서 이미지 생성 후 인스턴스 교체를 프로그래밍하면 될 것 같습니다.
      대화보기
      • 구름정원
        강의 정말 잘 보고 있습니다.
        궁금한게 있는데요.로드를 분산하기 위해 ELB를 할 경우, 일단 원본이 되는 인스턴스와 그 인스턴스의 이미지로 만든 인스턴스가 있잖아요. 편의상 A1, A2 라고 할께요.

        그런데 A1의 내용이 바뀌면 A2의 내용은 자동으로 바뀔 수는 없나요?
        실제 서비스에서 A1과 A2의 내용이 다르면 안되잖아요. 예전에 제가 다른 호스팅에서 써본 기억으로는 A2가 10분마다 A1에 업데이트된 파일을 자동으로 복사해 와서 두 인스턴스 내용의 동일성을 보장했었던 기억이 납니다.

        아마존에서는 A1과 A2의 내용이 동일하다는 것을 어떤식으로 보장을 할 수 있나요?
        일단 강의해주신 AWS 내용을 모두다 봤는데요. 거기에 대한 내용은 없더라구요.
      • 호두과자
        짱짱맨. 감사합니당.
        대화보기
        • 육점이
          ELB 정말 신기하네요!!!!! 항상 강좌를 보며 이고잉님의 많은 지식에 경외감을 느끼고, 그 지식을 무료나눔을 행하고 있다는 것에 대해 존경심을 갖게 된답니다. 감사합니다.
        • Tae woon LEE
          aws ELB 를 사용하여 IIS 웹서비스를 하고 있는데 문제는 ELB 사용시 클라이언트의 IP가ELB 의 IP로 웹로그에 남아 웹로그 분석시 어려움이 있습니다. IIS 사용시 해결방법이 있는지요?HAProxy 를 사용하여 처리하는 방법은 있다고 알고 있는데 다른 방법이 있는지 문의 드립니다.
        • egoing
          확인은 안해봤지만 그렇지는 않을 것 같습니다.
          2012. 12. 13. 오후 8:02 "Disqus" <notifications@disqus.net> 작성:</notifications@disqus.net>
          대화보기
          • 아트인
            혹시, 로드밸런서에 각각 다른 가용성 존에 있는 인스턴스 i-a, i-b, i-c를 추가하면 같은 가용성 존을 이용하는 것보다 비용이 더 발생하나요?
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기