네이버 클라우드 캠프
로드 밸런서 구성
99duuk
2024. 6. 13. 16:09
웹 서비스의 가용성을 확보하기 위한 로드 밸런서를 구성
1. 네트워크 로드밸런서
2. 애플리케이션 로드밸런서
3. url 분기할 떄 쓸 로드밸런서
1. 네트워크 로드 밸런서 (Network Load Balancer, NLB)
주요 기능 및 장점:
- 고성능: 매우 높은 수준의 트래픽을 처리할 수 있으며, 지연 시간이 매우 낮습니다.
- 단순한 트래픽 분산: 주로 TCP/UDP 레벨에서 트래픽을 분산합니다.
- 고가용성: 대규모의 네트워크 트래픽을 효율적으로 처리하며, 장애 발생 시 빠르게 복구합니다.
사용 사례:
- 실시간 트래픽 처리: 실시간 게임, 금융 거래 시스템 등 매우 빠른 응답이 필요한 서비스에 적합합니다.
- 고성능 요구: 높은 성능과 안정성이 요구되는 환경에서 사용됩니다.
2. 애플리케이션 로드 밸런서 (Application Load Balancer, ALB)
주요 기능 및 장점:
- HTTP/HTTPS 트래픽 처리: L7 레벨에서 동작하며, HTTP/HTTPS 트래픽을 처리합니다.
- 세분화된 트래픽 제어: URL, 헤더, 메소드 등을 기반으로 트래픽을 분산할 수 있습니다.
- 다양한 라우팅 규칙: 트래픽을 특정 서버나 마이크로서비스로 라우팅하는 다양한 규칙을 설정할 수 있습니다.
- SSL 종료: SSL/TLS 암호화를 처리하여 백엔드 서버의 부하를 줄입니다.
사용 사례:
- 웹 애플리케이션: 웹 애플리케이션 트래픽을 처리하고, 다양한 라우팅 규칙을 적용해야 하는 경우에 적합합니다.
- 마이크로서비스 아키텍처: 마이크로서비스 간의 트래픽을 효과적으로 분산합니다.
3. URL 기반 로드 밸런서 (Path-based Load Balancing)
주요 기능 및 장점:
- 경로 기반 라우팅: 특정 URL 경로에 따라 다른 서버나 서비스로 트래픽을 분산합니다.
- 마이크로서비스와의 연동: 각 경로를 특정 마이크로서비스에 연결할 수 있습니다.
- 세부적인 트래픽 제어: 특정 경로에 대한 트래픽을 분리하여 더 세밀하게 제어할 수 있습니다.
사용 사례:
- API 게이트웨이: 다양한 API 요청을 특정 서비스로 라우팅합니다.
- 복합 웹 애플리케이션: 동일한 도메인 내에서 여러 웹 애플리케이션을 호스팅하는 경우, 경로에 따라 트래픽을 분리합니다.
왜 나누어 사용하는가?
1. 성능 및 확장성 최적화
- NLB는 고성능이 필요한 TCP/UDP 트래픽에 최적화되어 있으며, 대규모의 트래픽을 매우 낮은 지연 시간으로 처리할 수 있습니다.
- ALB는 HTTP/HTTPS 트래픽을 세분화하여 처리하고, 세부적인 라우팅 규칙을 적용할 수 있습니다.
2. 다양한 트래픽 처리 요구사항
- 서로 다른 종류의 트래픽을 처리하기 위해 각각의 로드 밸런서를 사용합니다. 예를 들어, NLB는 실시간 게임 트래픽을 처리하고, ALB는 웹 애플리케이션 트래픽을 처리합니다.
3. 보안 및 관리의 편의성
- ALB는 SSL 종료를 처리하여 백엔드 서버의 부하를 줄이고, 트래픽을 안전하게 암호화할 수 있습니다.
- URL 기반 라우팅은 특정 경로에 대한 트래픽을 분리하여 더 세밀하게 제어하고 관리할 수 있습니다.
결론
로드 밸런서를 나누어 사용하는 것은 각각의 로드 밸런서가 제공하는 기능과 장점을 최대한 활용하여 다양한 트래픽 처리 요구사항을 만족시키기 위함