네트워크 부하 분산

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016

이 항목에서는 Windows Server 2016의 NLB(네트워크 부하 분산) 기능에 대한 개요를 제공합니다. 단일 가상 클러스터로 두 개 이상의 서버를 관리 하려면 NLB를 사용할 수 있습니다. NLB는 웹, FTP, 방화벽, 프록시, VPN(가상 사설망) 및 기타 중요 업무용 서버와 같은 인터넷 서버 애플리케이션의 가용성 및 확장성을 향상시킵니다.

참고 항목

Windows Server 2016에는 SDN(소프트웨어 정의 네트워킹) 인프라의 구성 요소로 Azure에서 영감을 받은 새로운 SLB(소프트웨어 Load Balancer)가 포함되어 있습니다. SDN을 사용하거나, 비 Windows 워크로드를 사용하거나, NAT(아웃바운드 네트워크 주소 변환)가 필요하거나, 계층 3(L3) 또는 TCP 기반이 아닌 부하 분산이 필요한 경우 NLB 대신 SLB를 사용합니다. Windows Server 2016 SDN 아닌 배포에 대 한 NLB를 사용 하 여 계속 수 있습니다. SLB에 대 한 자세한 내용은 참조 소프트웨어 부하 분산 (SLB) SDN에 대 한합니다.

NLB(네트워크 부하 분산) 기능은 TCP/IP 네트워킹 프로토콜을 사용하여 여러 서버로 트래픽을 분산시킵니다. NLB는 애플리케이션을 실행 중인 둘 이상의 컴퓨터를 단일 가상 클러스터로 결합함으로써 웹 서버 및 기타 업무상 중요한 서버의 안정성과 성능을 높입니다.

NLB 클러스터의 서버를 호스트라고 하며, 각 호스트는 별도의 서버 애플리케이션 복사본을 실행합니다. NLB는 클러스터의 호스트에 들어오는 클라이언트 요청을 분산합니다. 각 호스트에서 처리할 부하를 구성할 수 있습니다. 클러스터에 호스트를 동적으로 추가하여 증가하는 부하를 처리할 수도 있습니다. 또한 NLB는 모든 트래픽을 지정된 단일 호스트(기본 호스트라고 함)로 보낼 수 있습니다.

NLB에서는 동일한 IP 주소 집합으로 클러스터의 모든 컴퓨터 주소를 지정할 수 있으며, 각 호스트에 고유한 전용 IP 주소 집합을 유지 관리합니다. 부하 분산 애플리케이션의 경우 특정 호스트가 실패하거나 오프라인 상태가 되면 아직 작동 중인 컴퓨터 간에 부하가 자동으로 다시 분산됩니다. 오프라인 상태의 컴퓨터는 준비가 되면 클러스터에 투명하게 다시 가입하여 워크로드의 일부를 다시 처리하므로 클러스터의 다른 컴퓨터가 처리해야 할 트래픽이 줄어듭니다.

유용한 팁

NLB는 IIS(인터넷 정보 서비스)를 실행하는 웹 서버와 같은 상태 비저장 애플리케이션을 가동 중지 시간이 최소화된 상태로 사용하고, 부하가 증가하면 서버를 더 추가하여 이러한 애플리케이션을 확장 가능하도록 하는 데 유용합니다. 다음 섹션에서는 NLB가 이러한 애플리케이션을 실행하는 클러스터형 서버의 고가용성, 확장성 및 관리 효율성을 지원하는 방법에 대해 설명합니다.

고가용성

고가용성 시스템은 가동 중지 시간을 최소화하면서 적절한 수준의 서비스를 안정적으로 제공합니다. NLB에는 고가용성을 제공하기 위해 다음 작업을 자동으로 수행할 수 있는 기본 제공 기능이 포함되어 있습니다.

  • 장애가 발생했거나 오프라인 상태가 된 클러스터 호스트를 검색하여 복구

  • 호스트가 추가 또는 제거될 때 네트워크 부하 분산

  • 10초 내에 복구 및 워크로드 재분산

확장성

확장성이란 증가하는 성능 요구에 맞춰 컴퓨터, 서비스 또는 애플리케이션을 얼마나 유연하게 확장할 수 있는지를 나타내는 척도입니다. NLB 클러스터의 경우 확장성이란 클러스터의 전체 부하가 해당 용량을 초과할 때 기존 클러스터에 하나 이상의 시스템을 단계적으로 추가하는 기능을 말합니다. NLB에서 다음 작업을 수행하여 확장성을 지원할 수 있습니다.

  • 개별 TCP/IP 서비스에 대한 부하 요청을 NLB 클러스터에 분산시킵니다.

  • 단일 클러스터에서 최대 32대의 컴퓨터를 지원합니다.

  • 동일한 클라이언트 또는 다수의 클라이언트에서 요청하는 여러 서버의 부하를 클러스터의 여러 호스트로 분산시킵니다.

  • 부하가 증가하면 클러스터에 장애를 발생시키지 않고 NLB 클러스터에 호스트를 추가합니다.

  • 부하가 감소하면 클러스터에서 호스트를 제거합니다.

  • 완벽하게 파이프라인된 구현을 통해 성능을 높이고 오버헤드를 낮춥니다. 파이프라이닝을 사용하면 이전 요청에 대한 응답을 기다리지 않고 NLB 클러스터로 요청을 보낼 수 있습니다.

관리 효율

NLB에서 다음 작업을 수행하여 관리 효율성을 지원할 수 있습니다.

  • 관리 하 고 여러 NLB 클러스터와 클러스터 호스트를 단일 컴퓨터에서 NLB 관리자를 사용 하 여 구성 또는 Windows PowerShell의 네트워크 부하 분산 (NLB) Cmdlet합니다.

  • 포트 관리 규칙을 사용하여 단일 IP 포트 또는 포트 그룹에 대한 부하 분산 동작을 지정합니다.

  • 각 웹 사이트에 대해 서로 다른 포트 규칙을 정의합니다. 여러 애플리케이션이나 웹 사이트에 동일한 부하 분산 서버 집합을 사용할 경우 포트 규칙은 대상 가상 IP 주소(가상 클러스터 사용)를 기반으로 합니다.

  • 선택적 단일 호스트 규칙을 사용하여 클라이언트 요청을 모두 단일 호스트로 보냅니다. NLB는 클라이언트 요청을 특정 애플리케이션이 실행되는 특정 호스트로 라우팅합니다.

  • 특정 IP 포트에 대해 원치 않는 네트워크 액세스를 차단합니다.

  • 멀티캐스트 모드에서 작동하는 경우 스위치 포트 플러드(들어오는 네트워크 패킷이 스위치의 모든 포트로 전송됨)를 제어하기 위해 클러스터 호스트에 대한 IGMP(Internet Group Management Protocol)를 지원합니다.

  • Windows PowerShell 명령 또는 스크립트를 사용하여 NLB 작업을 원격으로 시작, 중지 및 제어합니다.

  • Windows 이벤트 로그를 보고 NLB 이벤트를 확인합니다. NLB는 모든 동작 및 클러스터 변경 내용을 이벤트 로그에 기록합니다.

중요 기능

NLB는 표준 Windows Server 네트워킹 드라이버 구성 요소로 설치 됩니다. NLB는 TCP/IP 네트워킹 스택에 대해 투명하게 작동합니다. 다음 그림은 일반적인 구성에서 NLB와 다른 소프트웨어 구성 요소 간의 관계를 보여줍니다.

Network Load Balancing and other software components

NLB의 주요 기능은 다음과가 같습니다.

  • 하드웨어를 변경하지 않고도 실행할 수 있습니다.

  • 단일 원격 컴퓨터 또는 로컬 컴퓨터에서 모든 호스트 및 여러 클러스터를 구성하고 관리할 수 있는 네트워크 부하 분산 도구를 제공합니다.

  • 클라이언트에서는 단일 논리 인터넷 이름과 가상 IP 주소(클러스터 IP 주소라고도 함)를 사용하여 클러스터에 액세스할 수 있습니다(각 컴퓨터의 개별 이름은 유지됨). NLB를 통해 멀티홈 서버에 여러 개의 가상 IP 주소를 지정할 수 있습니다.

참고 항목

가상 클러스터로 Vm을 배포할 때는 NLB 가상 IP 주소를 여러 개를 멀티홈 서버를 필요 하지 않습니다.

  • NLB는 여러 네트워크 어댑터에 바인딩될 수 있으므로 각 호스트에서 여러 개의 독립 클러스터를 구성할 수 있습니다. 여러 네트워크 어댑터에 대한 지원은 단일 네트워크 어댑터에 여러 클러스터를 구성할 수 있는 가상 클러스터와 다릅니다.

  • 서버 애플리케이션을 수정하지 않고도 NLB 클러스터에서 실행할 수 있습니다.

  • 클러스터 호스트에서 장애가 발생한 후 해당 호스트가 다시 온라인 상태가 된 경우 클러스터에 호스트가 자동으로 추가되도록 구성할 수 있습니다. 추가된 호스트는 클라이언트로부터의 새 서버 요청 처리 작업을 시작할 수 있습니다.

  • 다른 호스트의 클러스터 작동을 중단시키지 않으면서 예방 유지 관리를 위해 컴퓨터를 오프라인 상태로 만들 수 있습니다.

하드웨어 요구 사항

다음은 NLB 클러스터를 실행 하는 하드웨어 요구 사항입니다.

  • 클러스터의 모든 호스트가 같은 서브넷에 있어야 합니다.

  • 각 호스트의 네트워크 어댑터 수에는 제한이 없으며 호스트마다 어댑터 수가 다를 수 있습니다.

  • 각 클러스터 내의 모든 네트워크 어댑터는 멀티캐스트나 유니캐스트 중 하나여야 합니다. NLB는 단일 클러스터 내에 유니캐스트와 멀티캐스트가 혼합된 환경을 지원하지 않습니다.

  • 유니캐스트 모드를 사용하는 경우 클라이언트에서 클러스터로의 트래픽을 처리하는 데 사용되는 네트워크 어댑터는 MAC(미디어 액세스 제어) 주소 변경을 지원해야 합니다.

소프트웨어 요구 사항

다음은 NLB 클러스터를 실행 하는 소프트웨어 요구 사항입니다.

  • 각 호스트에서 NLB를 사용하도록 설정한 어댑터에는 TCP/IP만 사용할 수 있습니다. 이 어댑터에 다른 프로토콜(예: IPX)을 추가하지 마세요.

  • 클러스터의 서버 IP 주소는 정적 주소여야 합니다.

참고 항목

NLB는 DHCP(Dynamic Host Configuration Protocol)를 지원하지 않습니다. NLB는 구성하는 각 인터페이스에서 DHCP를 사용하지 않도록 설정합니다.

설치 정보

NLB에 대 한 서버 관리자 또는 Windows PowerShell 명령을 사용 하 여 NLB를 설치할 수 있습니다.

원하는 경우 로컬 또는 원격 NLB 클러스터를 관리하기 위한 네트워크 부하 분산 도구를 설치할 수 있습니다. 도구는 네트워크 부하 분산 관리자 및 NLB Windows PowerShell 명령을 포함 합니다.

서버 관리자와 함께 설치

서버 관리자에서 하는 데 추가 역할 및 기능 마법사 추가 네트워크 로드 균형 조정 기능입니다. 마법사를 완료 하는 경우 NLB를 설치 하 고 컴퓨터를 다시 시작할 필요가 없습니다.

Windows PowerShell 사용 하 여 설치

Windows PowerShell을 사용 하 여 NLB를 설치 하려면 다음 명령을 실행 Windows PowerShell 프롬프트에서 컴퓨터에서 NLB를 설치 하려면.

Install-WindowsFeature NLB -IncludeManagementTools

설치가 완료 되 면 컴퓨터를 다시 시작 하지는 필요 합니다.

자세한 내용은 참조 Install-windowsfeature합니다.

네트워크 로드 균형 조정 관리자

서버 관리자에서 네트워크 부하 분산 관리자를 열려면 도구를 클릭한 다음 네트워크 부하 분산 관리자를 클릭합니다.

추가 리소스

다음 표에서 NLB 기능에 대 한 추가 정보에 대 한 링크를 제공합니다.

콘텐츠 유형 참조
배포 터미널 서비스를 사용하여 네트워크 부하 분산 구성 배포 가이드 |
작업 네트워크 부하 분산 클러스터 | 에서 호스트를 제어하는 네트워크 부하 분산 매개 변수 | 설정 네트워크 부하 분산 클러스터 관리
문제 해결 네트워크 부하 분산 클러스터 | NLB 클러스터 이벤트 및 오류 문제 해결
도구 및 설정 네트워크 부하 분산 Windows PowerShell cmdlet
커뮤니티 리소스 고가용성(클러스터링) 포럼