네이버 클라우드 캠프

로드 밸런서 구성

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 기반 라우팅은 특정 경로에 대한 트래픽을 분리하여 더 세밀하게 제어하고 관리할 수 있습니다.

결론

로드 밸런서를 나누어 사용하는 것은 각각의 로드 밸런서가 제공하는 기능과 장점을 최대한 활용하여 다양한 트래픽 처리 요구사항을 만족시키기 위함