ELB

AWS

목록 보기
8/16

ELB (Elastic Load Balancer)

  • 애플리케이션 트래픽을 EC2, 컨테이너, ip주소, 람다 함수와 같은 여러 대상에 자동으로 분산시킴.
  • 단일 가용 영역 또는 여러 가용 영역에서 다양한 애플리케이션 부하를 처리할 수 있음
  • ELB가 제공하는 3가지 로드 밸런서는 모두 애플리케이션의 내결함성에 필요한 고가용성, 자동 확장/축소, 강력한 보안을 갖추고 있다.
    • 내결함성 : 결함에 저항할 수 있는 능력 (에러에 대비해 서비스가 죽지 않게 하는 능력)

  • Vertical Scale
    • 인스턴스의 성능 높임.
  • Horizontal Scale
    • 인스턴스 여러대로 늘림

  • IP가 지속적으로 바뀜.
    • 따라서 도메인 기반으로 사용해야함.
  • Health Check
    • 직접 트래픽을 발생시켜 인스턴스가 살아있는지를 체크함
    • Inservice, OutOfService 두가지 상태로 나눠짐
  • 3가지 종류가 존재함
    • Application Load Balancer
    • Network Load Balancer
    • Classic Load Balancer

  • Application Load Balancer
    • Application 레벨에서 작동
    • 똑똑함
  • Network Load Balancer
    • Elastic IP 할당 가능
    • 빠름
  • Classic Load Balancer
    • 옛날것

-> Application 이랑 Network 쓰기 전에 Classic을 썼음


Sticky Session

  • 세션을 저장하는 구조
  • (최초 로그인 시) DTE가 로드밸런서를 통해서 트래픽 발생 (id, password 보냄, 로그인 시킴)
    -> 세션 저장 -> 세션 키 발급 -> 로그인 성공
  • 2번째 로그인 부터 DTE는 id, password가 아닌 발급 받은 세션키(ABCD)로 세션을 체크함. ELB가 부하를 분산하다 보니까 위의 인스턴스로 갈 수도 있고, 아래로 갈 수도 있음.
    하지만 키는 위의 인스턴스만 가지고 있음. 만약 아래로 갔다고 치면 로그인실패하고 다시 로그인을 해야하게됨.


-> ELB에 공간을 만들어서 로그인을 하면 DTE -> Insatance "A" 로 로그인했다고 한번 세션이 만들어진 곳으로 계속 ELB가 알아서 요청을 보내줌.

profile
백엔드를 공부하고 있습니다.

0개의 댓글