☁ 뭉게뭉게 클라우드/🙀 rlch가 되기 위한 기초

[AWS] ELB(Elastic Load Balancers)

우주수첩 2022. 7. 5. 18:52
728x90

ELB(Elastic Load Balancers)

  • 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산한다.
    • 수많은 서버의 흐름을 균형있게 흘려보내는데 중추적인 역할
    • 서버의 원활한 흐름, 일정한 속도 유지에 효과가 있다.
    • 하나의 서버로 traffic이 몰리는 병목현상(bottle neck) 방지.
  • 등록된 대상의 상태를 모니터링하면서 상태가 양호한 대상으로만 트래픽을 라우팅합니다.
    • 시간 초과 / shut down 등의 이유로 unhealthy한 instance가 아닌 healthy instance로 traffic을 보낸다.
  • Elastic Load Balancing은 수신 트래픽의 변화에 따라 로드 밸런서 용량을 자동으로 조정합니다.

 

 

# 이점

  • 로드 밸런서는 워크로드를 가상 서버와 같은 다수의 컴퓨팅 리소스로 분산하기에  로드 밸런서를 사용하면 애플리케이션의 가용성과 내결함성이 높아진다.
  • 애플리케이션에 대한 요청의 전체적인 흐름을 방해하지 않고 필요에 따라 로드 밸런서에서 컴퓨팅 리소스를 추가 및 제거할 수 있다.
  • 로드 밸런서가 정상적인 대상에만 요청을 보내도록 컴퓨팅 리소스의 상태를 모니터링하는 상태 확인을 구성할 수 있다. 또한 컴퓨팅 리소스가 주요 작업에 집중할 수 있도록 암호화 및 복호화 작업을 로드 밸런서로 오프로드할 수 있다.

 

 

 

# ELB 종류

OSI 7계층 이미지

 

1. Application Load Balancer : OSI Layer7(Application layer)에서 작동됨

  • HTTPS, HTTPS와 같은 traffic load balancing에 가장 적합.
  • 고급 request 라우팅 설정을 통하여 특정 서버로 바로 request를 보낼 수 있음.

 

2. Network Load Balancer :OSI Layer 4에서 작동됨.

  • 속도가 매우 빠름 -> production 환경에서 종종 쓰림
  • 초당 수백만개의 request를 아주 미세한 delay(거의 없음)로 처리 가능
  • 구글이나 네이버 같이 큰 서버에서 사용하기 적합.

 

3. Classic Load Balancer : 현재 Legacy로 간주 -> 거의 쓰이지 않음

  • Layer 7의 HTTP/HTTPS 라우팅 기능 지원
  • Layer4의 TCP traffic 라우팅 기능 지원
  • 앞의 두 elb 보다는 성능이 뒤쳐짐.

 

 

# 504 ER

  • ec2 인스턴스를 사용할 때 정상적으로 작동한다는 보장이 없다.
  • elb는 에러를 발견하여 사용자에게 제공. == 504 er : 어플리케이션이나 서버가 응답을 받지 못했을 경우 발생하는 에러 창.

 

# X-forwarded-For 헤더

  • ELB는 request를 받아 private ip address로 인식 한다.
  • EC2인스턴스로 해당 request를 전송한다 == EC2는 private ip address만 볼 수 있다
  • request의 출처를 명확하게 구분할 수 없게 된다.
  • X-forwarded-For 헤더를 사용하여 public IP를 볼 수 있다.

 

 

세상에서 누가 제일 게으르게??!?!?&nbsp; 그게 나야!!! ><

 

날씨도 겁나 덥고 여러가지 핑계들면서 너무 하기 싫었는데.... 어쩌겠니..... 해야지....

 

참고 url :

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/userguide/what-is-load-balancing.html

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/introduction.html

 

728x90