로드 밸런싱이란?
- 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법
- 대부분의 어플리케이션에는 데이터가 중복되는 리소스 서버가 있기 때문에 동일하게 사용되도록 조정
로드 밸런싱의 장점
1. 가용성
- 서버 장애 또는 유지 관리로 인해 애플리케이션 가동 중지 시간이 늘어남을 방지
- 로드 밸런서는 서버 문제를 자동으로 감지하고 클라이언트 트래픽을 사용 가능한 서버로 리디렉션 하여 시스템의 내결함성을 높임
- 애플리케이션 가동 중지 없이 서버 유지 관리 또는 업그레이드 실행
- 백업 사이트에 자동 재해 복구 제공
- 상태 확인을 수행하고 가동 중지를 유발할 수 있는 문제 방지
2. 확장성
- 한 서버에서 트래픽 병목 현상 방지
- 필요한 경우 다른 서버를 추가하거나 제거할 수 있도록 애플리케이션 트래픽 예측
- 안심하고 조정할 수 있도록 시스템 중복성 추가
3. 보안
- 로드 밸런서에는 인터넷 애플리케이션에 또 다른 보안 계층을 추가할 수 있는 보안 기능이 내장
- 분선 서비스 거부 공격(DDoS)을 처리하는데 유용한 도구
- 트래픽 모니터링 및 악성 콘텐츠 차단
- 공격 트래픽을 여러 백엔드 서버로 자동으로 리디렉션하여 영향 최소화
- 추가 보안을 위해 네트워크 방화벽 그룹을 통해 트래픽 라우팅
4. 성능
- 응답 시간을 늘리고 네트워크 지연 시간을 줄여 애플리케이션 성능을 향상
- 서버 간에 로드를 균등하게 배포하여 애플리케이션 성능 향상
- 클라이언트 요청을 지리적으로 더 가까운 서버로 리디렉션하여 지연 시간 단축
- 물리적 및 가상 컴퓨팅 리소스의 신뢰성 및 성능 보장
로드 밸런싱 알고리즘 종류
- 정적 로드 밸런싱 : 고정된 규칙을 따르며 현재 서버 상태와 무관
1. 라운드 로빈 방식 : 서버에는 고유 IP 주소가 있는데 이를 DNS로 매핑
2. 가중 기반 라운드 로빈 방식 : 우선순위 또는 용량에 따라 각 서버에 서로 다른 가중치 할당(높으면 많은 트레픽)
3. IP 해시 방식 : 클라이언트 IP 주소에 대해 해싱을 하여 변환후 개별 서버에 매핑
- 동적 로드 밸런식 : 트래픽을 배포하기 전 서버의 현재 상태를 검사
1. 최소 연결 방법 : 활성 연결이 가장 적은 서버를 확인하고 해당 서버로 트래픽을 전송, 이 방법은 모든 서버에 동일한 처리 능력 이 필요하다고 가정
2. 가중치 기반 최소 연결 방법 : 각 서버에 다른 가중치 또는 용량을 할당할 수 있으며 용량별 연결이 가장 적은 서버로 새 클라이언트 요청을 전송, 이 방법은 일부 서버가 다른 서버보다 더 많은 연결을 처리할 수 있다고 가정
3. 최소 응답 시간 방법 : 서버 응답 시간과 활성 연결을 결합하여 최상의 서버를 결정, 이 알고리즘을 사용하여 더 빠른 서비스를 보장
4. 리소스 기반 방법 : 현재 서버 부하를 분석하여 트래픽을 배포, 로드 밸런서가 해당 서버에 트래픽을 배포하기 전에
에이전트에 충분한 여유 리소스가 있는지 확인합니다.
* 연결 : 클라이언트와 서버 간의 개방형 통신 채널, 클라이언트는 서버에 첫 요청을 전송할 때 서로 활성 연결을 인 설정
* 응답 시간 : 서버가 들어오는 요청을 처리하고 응답을 전송하는 데 걸리는 총 시간
* 에이전트 : 특수 소프트웨어로 각 서버에서 실행되며 컴퓨팅 욜양 및 메모리와 같은 서버 리소스 사용량을 계산
로드 밸런싱의 작동 방식
- 여러 서버에서 애플리케이션을 실행, 이러한 서버 배열을 서버 팜 이라함
- 애플리케이션 사용 요청은 로드 밸런서로 이동
- 그 후 가장 적합한 서버 팜의 단일 서버로 각 요청을 라우팅
로드 밸런싱의 유형
- 애플리케이션 로드 밸런싱 : 최신 애플리케이션에는 단일 애플리케이션 기능을 전담하는 여러 서버를 포함하는 여러 서버팜이 있습니다. 애플리케이션 로드 밸런서는 HTTP 헤더 또는 SSL 세션 ID와 같은 요청 콘텐츠를 확인하여 트래픽을 리디렉션 합니다. ( 예 : 온라인 쇼핑몰에서 데이터를 오랫동안 저장할 수 있는 장바구니 서버로 요청하는 행위 )
- 네트워크 로드 밸런싱 : 네트워크 로드 밸런서는 IP 주소 및 기타 네트워크 정보를 검사하여 트래픽을 최적으로 리디렉션합니다. 트래픽의 소스를 추적하고 여러 서버에 고정 IP 주소를 할당할 수 있습니다, 정적 및 동적 로드 밸런싱 알고리즘을 사용하여 서버 로드를 배포합니다.
- 글로벌 서버 로드 밸런싱 : 지리적으로 분산된 여러 서버에서 발생합니다. 회사가 여러 데이터 센터, 여러 국가 및 세계의 타사 클라우드 제공업체에 서버를 둘 수 있습니다. 이 경우 로드 밸런서는 국가 또는 영영 내에서 애플리케이션 로드를 관리합니다. 그리고 클라이언트와 지리적으로 더 가까운 서버 대상으로 트래픽을 리디렉션하려고 합니다. 서버 장애가 발생한 경우에만 클라이언트 지리적 영역 외부의 서버로 트래픽을 리디렉션 할 수 있습니다.
- DNS 로드 밸런싱 : 도메인의 리소스 풀에서 네트워크 요청을 라우팅하도록 도메인을 구성, 도메인은 웹 사이트, 메일 시스템, 인쇄 서버 또는 인터넷을 통해 액세스할 수 있는 다른 서비스에 해당할 수 있음, 애플리케이션 가용성을 유지하고 전역적으로 분산된 리소스 풀에서 네트워크 트래픽을 분산하는데 유용
로드 밸런싱 기술 유형
- 하드웨어 로드 밸런서 : 많은 트래픽을 안전하게 처리, 수백 개의 서로 다른 서버로 리디렉션 할 수 있는 하드웨어 어플라이언스, 데이터 센터에 저장하고 가상화를 사용하여 중앙에서 관리할 수 있는 여러 디지털 또는 가상 로드 밸런서를 만들 수 있음
- 소프트웨어 로드 밸런서 : 모든 로드 밸런싱 기능을 수행하는 어플리케이션, 모든 서버에 설치하거나 완전 관리형 타사 서비스로 액세스 할 수 있음
두 로드 밸런서의 차이점?
- 하드웨어 : 초기 투자, 구성 및 지속적인 유지 관리 필요, 최대 트래픽 용량으로 사용하지 않을 수 있음, 피크 시간 트래픽 급증 처리 용으로 사용할 수 있음, 트래픽이 현재 용량을 초과할 경우 사용자에게 영향이 있음
- 소프트웨어 : 하드웨어와 달리 조금더 유연함, 쉽게 증설하거나 제거할 수 있으며 최신 클라우드 컴퓨팅 환경과 더 잘 호환, 시간이 지남에 따라 설정, 관리 및 사용 비용도 줄어들 수 있음
L4 로드 밸런서와 L7 로드 밸런서
- L4 로드 밸런서 : 4계층(네트워크 계층) 이나 3계층(TCP,UDP) 의 정보를 바탕으로 로드를 분산, IP 주소, 포트번호, MAC 주소, 전송 프로토콜 등에 따라 분산이 가능
- L7 로드 밸런서 : 어플리케이션 계층(HTTP,FTP,SMTP 등)에서 로드를 분산하기 때문에, HTTP 헤더, 쿠키 등과 같은 사용자 요청을 기준으로 특정 서버에 트래픽을 분산하는 것이 가능 특정 패턴을 지닌 바이러스를 감지해 네트워크 보호 가능, DDoS 같은 비정상 트래픽 필터링 가능
L4 로드 밸런서와 L7 로드 밸런서 장단점?
- L4 로드 밸런서 - 장점 : 패킷의 내용을 확인하지 않고 로드를 분산하여 속도가 빠르고 효율이 높음, 데이터 복호화 불필요로 안전, L7 로드 밸런서에 비해 가격이 저렴 - 단점 : 패킷을 볼수 없음으로 구체적인 라우팅 불가, IP가 수시로 바뀌는 사용자면 연속적 서비스 제공 어려움
- L7 로드 밸런서 - 장점 : 상위 계층에서 로드를 분산하기 때문에 자세한 라우팅 가능, 캐싱 기능을 제공, 보안적 기능이 있어 서비스 안정성 높음 - 단점 : L4에 비해 가격이 비쌈, 패킷 복호화가 필요하여 더 높은 비용이 듦, 클라이언트와 서버가 인증서를 공유해야 하기 때문에 공격자가 로드밸런서를 통해 클라이언트에 접근할 수 있는 보안 위험성 존재
*캐싱 : 파일 복사본을 캐시 또는 임시 저장 위치에 저장하여 사용자가 보다 빠르게 액세스할 수 있는 프로세스
참고 자료
'Network > 개념' 카테고리의 다른 글
정적 라우팅(Static Routing) 제대로 알아보기 (0) | 2024.11.06 |
---|---|
STP(Spanning-Tree Protocol) 스패닝 트리란? (0) | 2024.08.30 |
VRRP란? - Virtual Router Redundancy Protocol feat.HSRP (0) | 2024.08.29 |
VLAN(Virtual LAN)의 개념 (0) | 2024.08.26 |
라우팅(Routeing)의 개념과 종류(RIP, IGP, EIGRP, OSPF, BGP) (0) | 2024.08.21 |