Scale-up
: Server가 더 빠르게 동작하기 위해 하드웨어 성능을 올리는 방법Scale-out
: 하나의 Server 보다는 여러 대의 Server가 나눠서 일을 하는 방법Load Balancer
는 바로 이 역할을 하는 친구이다.대표IP
라고 부르기도 한다.Data link 계층을 사용
Balancing 기준
Network 계층을 사용
Balancing 기준
Transport 계층을 사용
Balancing 기준
TCP, UDP 포트 정보를 바탕으로 함
CLB(Connection Load Balancer) 혹은 SLB(Session Laod Balancer) 라고 부르기도 함
데이터 수정 변경 불가
Application 계층을 사용
Balancing 기준
HTTP, HTTPS, FTP 정보를 바탕으로 함
포트나 헤더 등을 수정할 수 있음
L4로드밸런서 | L7로드밸런서 | |
---|---|---|
네트워크 계층 | Layer 4 전송계층(Transport Layer) | Layer7 응용계층(Application Layer) |
특징 | TCP/UDP 포트 정보를 바탕으로 함 | TCP/UDP 정보는 물론 HTTP의 URI, FTP의 파일명, 쿠키 정보등을 바탕을 함 |
장점 | 1. 데이터 안을 들여다보지 않고 패킷 레벨에서만 로들르 분산하기 떄문에 속도가 빠르고 효율이 높음 2. 데이터 내용을 복호화할 필요가 없기 때문에 안전함 3. L7 로드밸런서보다 가격이 저렴함 | 1. 상위 계층에서 로드를 분산하기 떄문에 훨씬 섬세한 라우팅이 가능함 2. 캐싱 기능을 제공함 3. 비정상적인 트래픽을 사전에 필터링할 수 있어 서비스 안정성이 높음 |
단점 | 1. 패킷 내용을 살펴볼 수 없기 때문에 섬세한 라우팅이 불가능함 2. 사용자의 IP가 수시로 바뀌는 경우라면 연속적인 서비스를 제공하기 어려움 | 1. 패킷의 내용을 복호화해야하기 때문에 더 높은 비용을 지불해야함 2. 클라이언트가 로드밸런서와 인증서를 공유해야하기 떄문에 공격자가 로드밸런서를 통해 클라이언트에 데이터에 접근할 보안상의 위험이 존재함 |
클라이언트의 IP 주소를 해싱하여 특정 서버로 매핑하여 요청을 처리하는 방식
사용자는 항상 같은 서버로 연결되는 것을 보장합니다.