ELB 종류
1. CLB (Classic Load Balancer)
가장 오래된 로드밸런서, 잘 안쓰는 추세
Layer4, Layer7 둘다 지원
EC2-Classic 대상으로 지원
TCP/HTTP/HTTPS/SSL 지원
X-Forwarded 헤더 지원
2. ALB (Application Load Balancer)
Layer7 부하분산 지원
HTTP,HTTPS 트래픽을 로드밸런싱해서 내부 인스턴스에 전달
클라이언트가 웹화면을 요청하는 상황일때 (HTTP,HTTPS 프로토콜을 사용해서 어플리케이션 레벨 접근할때)
3. NLB (Network Load Balancer)
Layer4 부하분산 지원
TCP/UDP 트래픽을 로드밸런싱해서 내부 인스턴스에 전달
내부로 들어온 트래픽을 처리하고, 내부의 인스턴스로 트래픽을 전송할때
+OSI 7 Layer+
L1 : 물리(Physical)계층
L2 : Data Link 계층
L3 : 네트워트 계층 -> IP/라우터
L4 : 전송(Transport)계층 ->TCP/UDP 프로토콜 통신
L5 : 세션계층
L6 : 표현(Presentation) 계층
L7 : 응용(Application) 계층 -> HTTP/FTP 프로토콜 통신
낮은 계층일수록 물리적, 높은 계층일수록 논리적
+osi 7 계층에 의한 과정+
+ 네트워크 로드밸런서(스위치)
사용자 입자에서 어떤 서버에 요청을 보내야할지 알 수 없음
그래서 '스위치'를 중간에 두고 로드밸런싱하는 작업
각 Layer의 스위치 : 해당 Layer에서 사용하는 정보(주소)를 컨트롤 하는 장비 (어떤걸 보고, 어디로 갈지 지정)
L2 : 패킷의 MAC주소 보고 스위칭
ex) MAC테이블을 기준으로 패킷을 포트로 전달(라우팅불가)
L3 : IP주소를 보고 스위칭(라우터)
ex) A라는 IP는 어느방향으로 가고, B라는 IP는 어느방향으로 가게
L4 : IP주소 + 포트번호를 보고 스위칭
TCP/UDP 프로토콜의 헤더를 보고 적절한 서버로 패킷 전송
예를 들어, 밑에 그림처럼
http://naver.com 패킷(TCP/80)은 1번 서버로 보내고,
https://naver.com 패킷(TCP/443)은 2번 서버로 보내고
ftp naver.com 패키(TCP/21)은 FTP 서버로 보내고 가능
특징
주로 Round Robin 방식 사용 : 연결된 서버에 순차적으로 접속하는 방식
하나의 IP이지만 L4주소(포트번호) 별로 따로 분배해서 보냄
L7 : IP주소+포트번호 + 패킷내용 을 보고 스위칭
HTTP/HTTPS 프로토콜의 헤더를 보고 적절한 서버로 패킷 전송
패킷의 내용을 직접 볼 수 없었던 L4 스위치 문제점 해결
예를 들어, 밑에 그림처럼
www.naver.com/blog는 1번 서버로 보내고,
www.naver.com/cafe는 2번 서버로 보내고,
www.naver.com/book는 3번서버로 보내고 가능
참고문서
https://sarc.io/index.php/miscellaneous/758-osi-7-l4-l7
그림출처
https://tomining.tistory.com/117
'🌴 DevOps > Cloud' 카테고리의 다른 글
[VPC] VPC Peering 개념정리 및 테스트 (0) | 2020.05.11 |
---|---|
[AutoScaling] Amazon EC2 Auto Scaling 개념 및 life cycle (0) | 2020.04.30 |
[EC2] 인스턴스 상태검사-시스템상태/인스턴스상태 (0) | 2020.04.15 |
[ELB] 로드밸런서란? Health Check기능과 외부 vs 내부 ELB (1) | 2020.04.05 |
Aws 서비스별 명칭정리 (0) | 2020.02.23 |
[CloudFront] CloduFront란? 동작방식 알아보기 (0) | 2020.02.06 |