
AWS Elastic Loadbalancer에 대해 한번 알아보겠다. ELB는 AWS의 로드밸런서 역할을 하는 서비스로 EC2, 컨테이너, ip 주소 등 여러 서비스 대상에 트래픽을 자동으로 분산한다. 대상이 되는 타겟에 상태를 모니터링 하며 상태가 양호하다면 트래픽을 전달하게 된다.
현대 인프라 구조에서는 로드밸런서가 필수인거 같다. HA(고가용성)을 많이 강조하기도 하고 서버를 한대만 사용하는 경우는 거의없는거같다. Active-Stanby 구조로 가져가며 아니면 많은 트래픽을 처리하기위해서 Active-Active 구조도 많이 사용된다. 여기서 로드밸런서는 서버 앞단에서 트래픽을 적절하게 나눠준다.
로드밸런서를 보기전에 서버를 확장하는 방법을 알아본다.

Scale-UPScale-UP 해야됨Scale-UP을 하게되면 해당 서비스를 내려야 가능SPOF -> 마찬가지로 단일 서버이기 때문에 장애 발생시 치명적임Scale-Out등등 여러 특징, 장점이 있다.
개인적인 생각이지만 비용이 여유가 되면 무조건 Scale-Out방식이 많은 이점을 가져갈 수 있다. 이는 클라우드가 나온뒤로 Scale-Out 방식이 많이 사용되는것 같으며 Auto-Scaling과 함께 많이 사용한다.
그래서 AWS ELB는 어떤 서비스들이 있는지 알아보겠다.
ALB는 OSI 7계층 Application에서 동작하는 로드밸런서로 L7 장비라고도 부른다. 단지 L7 장비는 하드웨어 장비이고 ALB는 가상화되어있는 로드밸런서이다.
주로 HTTP/HTTPS 트래픽을 처리하는 로드밸런서이며 현대적인 애플리케이션에 최적화 되어있음
L7 기반 동작URL, HTTP 헤더, 쿠키, 등 요청의 내용을 통해 트래픽 분배HTTP, HTTPS, HTTP/2, SSL/TLS 암호화 지원등 여러 프로토콜을 지원Health ChecksHAALB 와 Auto-Scaling과 함께 사용하여 유연하게 높은 가용성을 제공함NLB는 OSI 4계층에서 동작하는 로드밸런서로 L4 장비라고도 불리며 TCP,UDP,TLS 트래픽을 처리하며 주로 낮은 대기 시간을 제공하여 빠른 속도를 기대할 수 있음
L4 기반 동작NLB는 OSI 4계층에서 작동하며 TCP/UDP 프로토콜 기반으로 트래픽을 분배IP 주소고정 IP 주소를 제공하며 IP 기반 접근 제어와 네트워크 구성 관리가 용이GLB Gateway Loadbalancer는 OSI 3계층에서 동작하며 가상 네트워크 어플라이언스(Palo Alto, Suricata 등등)를 배포, 확장 관리하는 데 최적화 된 로드 밸런싱 서비스이다.
OSI L3 기반 동작L3에서 동작하며 패킷 기반으로 트래픽 처리stateless 방식으로 작동하며 패킷의 내용을 알 필요 없이 트래픽 전달IDS/IPS, FW 등 보안 장비 와 같은 가상 네트워크 어플라이언스를 배포 및 관리GLB를 통해 흐르도록 설정 가능
ELB는 리스너, 대상그룹, 보안그룹 을 설정하여 ELB를 생성할 수 있다.
HTTP, HTTPS, TCP, UDP 프로토콜 지원80, 443 사용함)SSL 인증서를 등록하여 암호화 가능EC2, 컨테이너 등등)ELB와 연결된 네트워크 트래픽을 제어EC2, 컨테이너 등 트래픽을 전달해줄 리소스들이 여러 리전에 배치되어있을 가능성이 크다. 교차 영역 로드 밸런싱 (Cross-Zone Load Balancing)을 사용하면 여러 가용 영역에 있는 리소스들에게 트래픽을 균등하게 분배하여 운영 효율성을 높혀준다.
예를 들어 다음과 같은 상황이면..

교차 영역 밸런싱이 비활성화 되어있는 경우는 트래픽이 리전의 갯수에 따라 달라진다. 리전이 2개닌깐 50% 씩 나누어 트래픽이 전달되는데 인스턴스가 불균형하게 배치되어있는 경우는 트래픽 전송 효율이 안좋아진다.

교차 영역 밸런싱이 활성화 된다면 인스턴스의 갯수에 따라 트래픽을 균등하게 분배하게되어 트래픽 효율성이 높아진다.
