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 |