본문 바로가기
IT/AWS

Elastic Load Balancing (ELB)

by 노오-력 2023. 3. 26.

ELB는 트래픽을 다수의 다운스트림 인스턴스로 분산하기 위해 필요하다.

애플리케이션에 단일 액세스 지점(DNS)를 노출하게 되고

다운스트림 인스턴스의 장애를 원활히 처리할 수 있다.

 

로드 밸런서가 상태 확인 매커니즘으로

트래픽을 보낼 수 없는 인스턴스를 확인해 준다.

 

웹 사이트에 암호화된 HTTPS 트래픽을 가질 수 있고

쿠키로 stickiness를 강화할 수 있다.

그리고 클라우드 내에서 private 트래픽으로부터 public 트래픽을 분리할 수 있다.

 

 

Elastic Load Balancer는 관리형 로드밸런서이며

AWS가 관리하고, 어떤 경우에도 작동할 것을 보장한다.

AWS가 업그레이드, 유지관리 및 고가용성을 책임진다.

 

또한 로드밸런서는

ECS, ACM, CloudWatch, Route53, WAF, Global Accelerator 등 다양한 AWS 서비스틀과 통합되어있다.

 

 

Health Checks

ELB가 EC2 인스턴스의 작동이 올바르게 되고 있는지의 여부를 확인하기 위해 사용된다.

제대로 작동하는 중이 아니라면 해당 인스턴스로는 트래픽을 보낼 수 없기 때문에

로드 밸런서에겐 인스턴스의 상태가 아주 중요하다.

그리고 상태 확인은 포트와 라우트에서 이뤄진다.

 

로드밸런서 종류

- Classic Load Balancer (CLB) : HTTP, HTTPS,TCP,SSL / 이제 사용할 수 없는 서비스

- Application Load Balancer (ALB) : HTTP, HTTPS, WebSocket

- Network Load Balancer (NLB) : TCP, TLS(secure TCP) , UDP

- Gateway Load Balancer (GWLB) : Network layer 3 , IP Protocol

 

Load Balancer의 security group의 인바운드로는

80포트(HTTP), 443포트(HTTPS) 모든 트래픽을 허용하고

 

EC2인스턴스는 로드밸런서를 통한 80포트(HTTP) security group 트래픽만을 인바운드로 허용하는식으로

강화된 보안 매커니즘을 만들 수 있다.

 

 

 

Sticky Sessions (Session Affinity)

클라이언트의 요청에 쿠키를 넣어

첫번째 요청에 통신된 EC2 인스턴스에 계속해서 고정으로 통신하도록 하는것이다.

Stickiness을 활성화 하면 백엔드 EC2 인스턴스 부하에 불균형을 초래할 수도 있다.

Skickiness 의 설정은 Target group의 attribute 편집 페이지에서 할 수 있다.

 

 

 

Cross-Zone Load Balancing

크로스 존 로드 밸런싱을 활성화 하면

각 AZ에 있는 ALB에 들어온 트래픽을

다른 AZ에 있는 모든 EC2에게 전달 가능하다.

Cross-Zone Load Balancing을 사용하면

모든 영역에 있는 EC2 인스턴스에 트래픽이 고르게 분배된다.

 

비활성화하면

각 AZ에 있는 ALB는 들어온 트래픽을

해당 AZ에 있는 EC2에게만 전달 가능하다.

 

'IT > AWS' 카테고리의 다른 글

NLB (Network Load Balancer)  (0) 2023.03.27
ALB(Application Load Balancer)  (0) 2023.03.27
Elastic File System ( EFS )  (0) 2023.03.24
EBS Multi-Attach  (0) 2023.03.24
EC2 Hibernate  (0) 2023.03.23