AWS

EC2-ELB

테오구 2022. 9. 16. 12:57
728x90

ELB(Elastic Load Balancers)

- 수많은 서버의 흐름을 균형있게 흘려보내는데 중추적인 역할을 함

- 하나의 서버로 traffic이 몰리는 병목현상(bottleneck) 방지

- Traffic의 흐름을 Unhealthy instance -> healthy instance로

 

EC2 인스턴스는 예상치 못한 이유로 Unhealthy한 순간이 있습니다.

원인중 하나로는 인스턴스가 shut down이 생기거나 시간이 초과가 되어 일어날 수 있습니다.

그런데 ELB는 이렇게 건강치 못한 인스턴스에 보내지는 traffic을 건강한 인스턴스로 보내줍니다.

 

이런 ELB는 세가지로 나뉘는데

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

   -> HTTP, HTTPS와 같은 traffic의 load balancing에 가장 적합함

   -> 고급 request 라우팅 설정을 통하여 특정 서버로 request를 보낼 수 있습니다.

2. Network Load Balancer : OSI Layer4에서 작동됨, 매우 빠른 속도를 자랑하며 Production환경에서 종종 쓰임

    -> 극도의 performace가 요구되는 TCP traffic에서 적합함

    -> 초당 수백만개의 request를 아주 미세한 delay로 처리 가능

3. Classic Load Balancer : 현재 Legacy로 간주됨, 따라서 거의 쓰이지 않음

    -> Layer7의 HTTP/HTTPS 라우팅 기능 지원

    -> Layer4의 TCP traffic 라우팅 기능도 지원

 

EC2 인스턴스를 사용할 때 언제나 정상적으로 작동한다고 볼 수 없습니다.

ELB는 우리에게 에러메시지를 제공하는데 종종 504 eror가 발생합니다.

하지만 이러한 에러가 나타난다고 해서 당황할 필요가 없습니다.

 

주로 웹서버, 데이터베이스 Layer에서 문제가 해결 가능합니다.

 

- X-Forwarded-For 헤더

152.12.3.225라는 public IP address가 있다고 하자 이 address는 DNS request를 통하여 ELB에 도달하게 되며

이 ELB는 request를 받고 10.0.0.23이라는 Private IP address로 인식 됩니다. 그리고 EC2 인스턴스로 이 request를 전송하여 EC2는 이 request에 대한 정보를 살핍니다.

 

이때 EC2는 private IP address밖에 볼 수 가 없습니다. 따라서 request의 출처를 EC2에서는 알 수 가 없습니다.

이럴때 X-Forwarded-For 헤더를 통해 request의 public IP address를 찾을 수 있습니다.

728x90

'AWS' 카테고리의 다른 글

lambda  (0) 2022.09.18
S3  (0) 2022.09.17
EC2-EBS  (0) 2022.09.15
IAM 정책 시뮬레이터  (0) 2022.09.15
IAM란  (0) 2022.09.14