네트워크 로드 밸런서 정보
동일한 VPC 지역 내에 있는 복수의 서버 인스턴스에 트래픽을 분배하기 위해 IBM Cloud® Network Load Balancer for VPC(NLB)를 사용할 수 있습니다.
NLB는 세 개의 가용성 구역 모두에서 멤버를 허용할 수 있지만 NLB 자체는 하나의 특정 구역에 상주합니다. 자세한 정보는 다중 구역 지원을 참조하십시오.
고객별로 포트를 지정할 수 있지만 VP 게이트웨이 레벨에서 포트 적용이 없습니다.
네트워크 로드 밸런서의 유형
VPC용 로드 밸런서 개요 에 설명된 대로 많은 유형의 NLB를 사용할 수 있습니다.
-
공개- 공개 로드 밸런서는 DNS에 등록되어 있으며 외부에서 접근 가능한 IP 주소를 가진 로드 밸런서입니다.
-
사설-사설 로드 밸런서는 클라이언트가 동일한 VPC에 있거나 접근성이 있는 VPC 네트워크 내에서만 액세스할 수 있습니다 (예: Direct Link, Transit Gateway또는 둘 다를 통해). 개인용 로드 밸런서의 경우 서브넷에 대해 구성된 사용자 정의 라우트가 없는 전용 서브넷이 있어야 합니다.
-
라우팅 모드가 활성화된 비공개- 라우팅 모드가 활성화된 비공개 NLB는 가상 네트워크 기능(VNF) 장치를 백엔드 대상으로 지원합니다. NAT 없이 직접 라우팅을 수행하여 VNF 디바이스가 패킷을 있는 그대로 검사할 수 있습니다.
-
개인 경로-서비스 제공자는 개인 경로 NLB를 사용하여 IBM Cloud 사설 네트워크에서 써드파티 VPC 호스팅 서비스와 IBM Cloud 를 안전하게 연결합니다. 비공개 경로 서비스를 사용하여 네트워크 트래픽을 인터넷과 교차하지 않는 비공개 경로로 유지하려면 비공개 경로 NLB가 필요합니다. 자세한 정보는 개인 경로 솔루션 안내서 를 참조하십시오.
비공개 경로 NLB는 비공개 경로 서비스에서만 사용할 수 있습니다.
시작하기
네트워크 로드 밸런서를 사용하여 시작하려면 다음 단계를 수행하십시오.
- 네트워크 부하 분산 장치에 대해 알려진 문제를 검토하세요.
- 특정 NLB에 대한 지시사항을 따르십시오.
자세한 정보는 로드 밸런서 유형 및 로드 밸런서 비교 차트 를 참조하십시오.
로드 밸런싱 방법
백엔드 애플리케이션 서버 간에 트래픽을 분배하는 데 사용할 수 있는 세 가지의 로드 밸런싱 방법은 라운드 로빈, 가중치 라운드 로빈 및 최소 연결입니다.
최소 연결
이 방법을 사용하면, 특정 시점에 처리 중인 연결 수가 가장 적은 백엔드 서버 인스턴스가 다음 클라이언트 연결을 수신합니다.
비공개 경로 NLB는 최소 연결 방법을 지원하지 않습니다.
라운드 로빈
라운드 로빈은 기본 로드 밸런싱 방법입니다. 이 방법을 사용하는 경우 로드 밸런서에서 수신 클라이언트 연결을 라운드 로빈 방식으로 백엔드 서버로 전달합니다. 따라서 모든 백엔드 서버가 대략 동일한 수의 클라이언트 연결을 수신합니다.
가중치 라운드 로빈
이 방법을 사용하는 경우 로드 밸런서에서 수신 클라이언트 연결을 백엔드 서버에 지정된 가중치에 비례하여 해당 백엔드 서버로 전달합니다. 각각의 서버에는 기본 가중치인 50이 지정되어 있으며, 가중치는 0 - 100 범위 내의 임의 값으로 사용자 정의할 수 있습니다.
예를 들어 애플리케이션 서버 A, B 및 C의 가중치가 60, 60 및 30인 경우 서버 A 및 B는 동일한 수의 연결을 수신하는 반면 서버 C는 그 절반의 연결을 수신합니다.
서버 가중치 값은 가중치 라운드 로빈 방식에만 적용 가능합니다. 라운드 로빈 및 최소 연결 로드 밸런싱 방법에서는 이 값이 무시됩니다.
서버의 가중치가 0으로 설정되는 경우 해당 서버로 새 연결이 전달되지 않지만 기존 트래픽은 계속 플로우됨을 의미합니다. 0 의 가중치를 적용하면 서버를 점진적으로 중단시키고 서비스 순환에서 제외하는 데 도움이 될 수 있습니다.
프론트 엔드 리스너 및 백엔드 풀
프론트 엔드 리스너는 백엔드 풀이 로드 밸런서 뒤에 있는 애플리케이션 서버인 동안 수신 요청을 수신하기 위한 로드 밸런서의 애플리케이션 포트입니다. 최대 10개의 프론트 엔드 리스너를 정의하고 백엔드 애플리케이션 서버의 백엔드 풀에 맵핑할 수 있습니다. 공개 NLB의 경우, 로드 밸런서에 할당된 FQDN과 프론트엔드 리스너 포트가 인터넷에 노출됩니다. 수신 사용자 요청은 이러한 포트에서 수신됩니다. TCP및 UDP는 프런트엔드 리스너 및 백엔드 풀에 지원되는 프로토콜입니다.
백엔드 풀에는 최대 50개의 가상 서버 인스턴스를 연결할 수 있습니다. 지정된 데이터 포트에서 각각의 인스턴스로 트래픽이 전송됩니다. 이 데이터 포트가 프론트 엔드 리스너 포트와 동일할 필요는 없습니다.
백엔드 풀 장애 조치 정책
로드 밸런서에서 백엔드 풀을 편집할 때 다음 장애 안전 정책 작업 중 하나를 지정할 수 있습니다:
- 포워드:- 로드 밸런서가 요청을 지정된 백업 풀로 라우팅합니다. 이렇게 하면 다른 애플리케이션 서버 집합에 대한 깨끗한 장애 조치 경로가 제공됩니다. 기존 백업 풀이 구성되어 있고 트래픽을 수신할 준비가 되어 있어야 합니다.
- 바이패스:- 로드 밸런서가 로드 밸런서를 완전히 우회하여 멤버의 대상 IP 주소로 직접 요청을 보냅니다. 이 옵션은 일반적으로 네트워크 로드 밸런서 및 가상 네트워크 기능(VNF) 장치와 같은 특정 네트워킹 설정에서 사용됩니다.
- 삭제:- 로드 밸런서가 들어오는 모든 요청을 삭제하고 클라이언트가 응답을 받지 못합니다.
적용 가능한 백업 풀 목록에서 장애 조치 대상을 선택할 수 있습니다.
장애 안전 대상 풀 요구 사항(동작이 전달인 경우):
- 동일한 로드밸런서에 속해야 합니다
- 프로토콜이 동일하거나 호환 가능해야 합니다( TCP 는 TCP 와만 호환되지만 HTTP 와 HTTPS 의 조합은 호환 가능)
최대 연결
네트워크 부하 분산 장치에 대한 기본 연결 수 또는 최대 연결 수는 정의되어 있지 않습니다. 총 동시 연결 수는 할당된 리소스 및 네트워크 처리량과 같은 요인에 따라 달라집니다.
네트워크 로드 밸런서의 VPC 표시
그림 1은 일반적인 네트워크 부하 분산 장치 구성의 VPC 표현을 보여줍니다. NLB는 VPC 서브넷에서 프로비저닝됩니다. NLB에서 네트워크 데이터 경로를 구성하려면 리스너, 풀 및 최소 한 개의 멤버를 생성해야 합니다. 리스너는 NLB가 클라이언트의 요청을 수신하기 위해 대기하는 프런트엔드 포트입니다. 이 요청은 리스너와 연관된 풀의 대상으로 전달됩니다. 풀(pool) 이란 특정 리스너에 대해 NLB로 들어오는 네트워크 요청을 분배하는 데 사용되는 대상들의 집합입니다. _멤버_는 요청을 청취하도록 구성된 지정된 포트가 포함된 백엔드 서버입니다.
4계층 로드 밸런싱
Network Load Balancer for VPC는 VPC에서 사용자의 서버에 4계층(전송 계층으로 알려진) 로드 밸런싱 서비스를 제공합니다. 여기서 트래픽이 패킷 헤더의 소스 및 대상 IP 주소와 포트를 기반으로 하여 전달되는 위치가 결정됩니다. 로드 밸런서는 패킷의 컨텐츠에 대한 검사를 수행하지 않습니다.
4계층 로드 밸런싱에는 7계층과 같은 정교한 로드 밸런싱에 비해 더 적은 계산이 필요하므로 CPU 사용량 및 메모리는 더욱 효율적으로 사용됩니다.
유스 케이스 1: 공용 네트워크 로드 밸런서
공용 NLB는 직접 서버 리턴 (DSR) 을 지원합니다. 애플리케이션 로드 밸런서는 이 기능을 지원하지 않습니다.
그림 2에서는 공용 NLB가 작동하는 방법을 보여 준다. 이용자는 로드 밸런서의 FQDN을 사용하여 로드 밸런서의 IP 주소를 DNS에 등록합니다. 이용자는 선택적으로 DNS 서버를 조회합니다. DNS는 로드 밸런서의 IP 주소로 응답합니다. 소비자는 로드 밸런서에 데이터에 대한 TCP 요청을 보내고, 로드 밸런서는 요청을 백엔드 타겟으로 전달합니다. 대상은 응답을 생성하고 응답은 DSR을 사용하여 이용자에게 직접 전송됩니다.
유스 케이스 2: 사설 네트워크 로드 밸런서
사설 NLB는 이용자가 도달 가능성이 있는 VPC 네트워크 내에서만 액세스할 수 있습니다 (예: Direct Link, Transit Gateway또는 둘 다를 통해).
개인용 로드 밸런서의 경우 서브넷에 대해 구성된 사용자 정의 라우트가 없는 전용 서브넷이 있어야 합니다.
그림 3에서는 사설 NLB가 작동하는 방법을 보여 준다. 이용자는 로드 밸런서의 FQDN을 사용하여 로드 밸런서의 IP 주소에 대한 DNS를 조회합니다. 이용자는 선택적으로 DNS 서버를 조회합니다. DNS는 로드 밸런서의 IP 주소로 응답합니다. 소비자는 직접 링크 또는 전송 게이트웨이를 통해 로드 밸런서에 데이터에 대한 TCP 요청을 보내고, 로드 밸런서는 요청을 백엔드 타겟으로 전달합니다. 대상은 응답을 생성하고 응답은 DSR을 사용하여 이용자에게 직접 전송됩니다.
유스 케이스 3: 라우팅 모드가 사용으로 설정된 사설 네트워크 로드 밸런서
route_mode 가 true 로 설정된 NLB는 방화벽과 같은 가상 네트워크 기능 (VNF) 어플라이언스만 백엔드 대상으로 지원하는 사설 로드 밸런서입니다.
도 4는 라우팅 모드를 갖는 사설 NLB가 어떻게 동작하는지를 도시한다. 이용자는 로드 밸런서의 FQDN을 사용하여 로드 밸런서의 IP 주소에 대한 DNS를 조회합니다. 이용자는 선택적으로 DNS 서버를 조회합니다. DNS는 로드 밸런서의 IP 주소로 응답합니다. 소비자는 직접 링크 또는 전송 게이트웨이를 통해 로드 밸런서에 TCP 요청을 보내 데이터를 요청합니다. 로드 밸런서는 요청을 VNF 디바이스로 전달한 후 백엔드 대상으로 전달합니다. 대상은 응답을 생성하고 해당 응답은 다시 NLB로 전송된 후 클라이언트로 돌아가기 전에 다시 VNF 디바이스로 전송됩니다.
사용 사례 4: 네트워크 로드 밸런서를 사용한 다중 영역, 고가용성
그림 5는 여러 영역을 지원하기 위해 NLB를 배포하는 방법을 보여 줍니다. 이러한 배포 시나리오에서는 종종 IBM Cloud Internet Services(CIS).
이 사용 사례에는 알려진 제한 사항이 있습니다. 인스턴스와 포트가 같은 두 멤버가 동시에 존재할 수 없습니다. 대신 동일한 인스턴스에 다른 포트를 사용할 수 있습니다.
DSR을 통해 NLB가 제공하는 높은 처리량 성능(및 낮은 지연 시간)을 활용해 보시는 것도 좋습니다. 또한, 고가용성(HA) 환경에서 워크로드의 가용성을 높이기 위해 여러 존에 워크로드를 배포하는 것이 좋습니다.
이 배치 시나리오를 사용하여 고가용성을 확보하고 로드 밸런서가 실패하는 경우 다중 가용성 구역에서 워크로드가 사용 가능한지 확인할 수 있습니다. 하나의 가용성 구역에서 로드 밸런서에 장애 조건이 발생하면 GLB가 더 이상 해당 가용성 구역으로 트래픽을 전송하지 않습니다. 예를 들어, 가용성 구역 1에서 장애가 발생하면 GLB는 가용성 구역 2또는 가용성 구역 3으로 트래픽을 전송합니다. 예제 시나리오에는 단일 NLB부터 전체 가용성 구역에 이르기까지 많은 장애가 포함될 수 있습니다.
영역당 하나의 NLB가 필요하다는 요구 사항은 퍼블릭 및 프라이빗 NLB에만 필요합니다. 비공개 경로 NLB는 본질적으로 지역적이기 때문에 영역당 하나씩 정의할 필요가 없습니다.
사용 사례 5: 사설 경로 네트워크 로드 밸런서
비공개 경로 NLB는 공급자와 소비자 간의 모든 트래픽 체크포인트를 IBM Cloud 인프라 내에 유지합니다. 데이터는 인터넷으로 빠져나가지 않습니다.
다른 NLB와 달리 사설 경로 네트워크 로드 밸런서는 지역 가용성을 제공하며 단일 서브넷을 선택하더라도 영역 장애에 대한 복원력이 있습니다. 영역 장애에 대한 복원력을 보장하기 위해 사설 경로 로드 밸런서를 여러 개 만들거나 서브넷을 두 개 이상 지정할 필요가 없습니다. 서브넷 선택은 로드 밸런서와 연결된 IP 주소에만 영향을 미칩니다.
개인 경로 서비스에서만 개인 경로 NLB를 사용할 수 있습니다. 자세한 정보는 개인 경로 서비스 정보 를 참조하십시오.
그림 6은 개인 경로 NLB가 개인 경로 서비스를 지원하기 위해 작동하는 방식을 보여줍니다. 개인 경로 NLB는 DNS 서버에 등록합니다. 이용자는 선택적으로 DNS 서버를 조회합니다. 그런 다음 소비자는 VPE 게이트웨이를 통해 개인 경로 NLB에 데이터에 대한 TCP 요청을 보내고, 개인 경로 NLB는 요청을 타깃에 전달합니다. 타깃이 응답을 생성하면 해당 응답은 직접 서버 리턴을 통해 VPE로 전송된 다음 소비자에게 전송됩니다.