다음을 통해 공유


SDN용 SLB(소프트웨어 부하 분산 장치)란?

적용 대상: Azure Local 2311.2 이상; Windows Server 2022, Windows Server 2019, Windows Server 2016

CSP(클라우드 서비스 공급자) 및 SDN(소프트웨어 정의 네트워킹)을 배포하는 기업은 SLB(소프트웨어 Load Balancer) 를 사용하여 가상 네트워크 리소스 간에 테넌트 및 테넌트 고객 네트워크 트래픽을 균등하게 분산할 수 있습니다. SLB는 여러 서버에서 동일한 워크로드를 호스팅할 수 있도록 하여 높은 가용성과 확장성을 제공합니다.

소프트웨어 Load Balancer는 RAS 게이트웨이, 데이터 센터 방화벽경로 리플렉터와 같은 SDN 기술과 통합하여 다중 테넌트 통합 에지를 제공할 수 있습니다.

참고

VLAN에 대한 다중 테넌시는 네트워크 컨트롤러에서 지원되지 않습니다. 그러나 데이터 센터 인프라 및 고밀도 웹 서버와 같은 서비스 공급자 관리 워크로드에 대해 SLB와 함께 VLAN을 사용할 수 있습니다.

소프트웨어 Load Balancer를 사용하면 다른 VM 워크로드에 사용하는 동일한 Hyper-V 컴퓨팅 서버에서 SLB VM(가상 머신)을 사용하여 부하 분산 기능을 확장할 수 있습니다. 이 때문에 소프트웨어 Load Balancer는 CSP 작업에 필요한 대로 부하 분산 엔드포인트의 신속한 생성 및 삭제를 지원합니다. 또한 소프트웨어 Load Balancer는 시스템당 수십 기가바이트를 지원하고, 간단한 프로비전 모델을 제공하며, 규모 확장 및 규모 감축이 용이합니다.

Windows Admin Center를 사용하여 소프트웨어 Load Balancer 정책을 관리하는 방법을 알아보려면 SDN용 소프트웨어 Load Balancer 관리를 참조하세요.

소프트웨어 Load Balancer에는 무엇이 포함됩니까?

소프트웨어 Load Balancer에는 다음과 같은 기능이 포함되어 있습니다.

  • TCP/UDP 트래픽의 북쪽/남쪽 및 동/서부 TCP/UDP 트래픽에 대한 계층 4(L4) 부하 분산 서비스입니다.

  • 공용 네트워크 및 내부 네트워크 트래픽 부하 분산

  • HYPER-V 네트워크 가상화를 사용하여 만든 VLAN(가상 로컬 영역 네트워크) 및 가상 네트워크에서 DIP(동적 IP 주소)를 지원합니다.

  • 건강 검사 지원

  • 멀티플렉서 및 호스트 에이전트에 대한 스케일 아웃 기능 및 강화 기능을 포함하여 클라우드 규모 확장에 대비합니다.

자세한 내용은 이 문서의 소프트웨어 Load Balancer 기능을 참조하세요.

소프트웨어 부하 분산 장치의 작동 방식

소프트웨어 Load Balancer는 VIP(가상 IP 주소)를 데이터 센터의 클라우드 서비스 리소스 집합에 포함된 DIP에 매핑하여 작동합니다.

VIP는 부하 분산된 VM 풀에 공용 액세스를 제공하는 단일 IP 주소입니다. 예를 들어 VIP는 테넌트 및 테넌트 고객이 클라우드 데이터 센터의 테넌트 리소스에 연결할 수 있도록 인터넷에 노출되는 IP 주소입니다.

DIP는 VIP 뒤에 있는 부하 분산 풀의 멤버 VM의 IP 주소입니다. DIP는 클라우드 인프라 내의 임차인 리소스에 할당됩니다.

VIP는 SLB 멀티플렉서(MUX)에 위치해 있습니다. MUX는 하나 이상의 VM으로 구성됩니다. 네트워크 컨트롤러는 각 MUX에 각 VIP를 제공하며, 각 MUX는 Border Gateway Protocol (BGP)를 사용하여 실제 네트워크의 라우터에 각 VIP를 /32 경로로 광고합니다. BGP는 실제 네트워크 라우터가 다음을 수행할 수 있도록 합니다.

  • MUX가 계층 3 네트워크의 다른 서브넷에 있더라도 각 MUX에서 VIP를 사용할 수 있다는 것을 알아봅니다.

  • 각 VIP의 부하를 Equal Cost Multi-Path (ECMP) 라우팅을 사용하여 모든 사용 가능한 MUX에 분산합니다.

  • 자동으로 MUX 실패 또는 MUX 제거를 감지하고, 실패한 MUX로의 트래픽 전송을 중지합니다.

  • 고장 났거나 제거된 MUX의 부하를 정상적인 MUX에 분산합니다.

인터넷에서 공용 트래픽이 도착하면 SLB MUX는 목적지가 VIP인 트래픽을 검사하고, 트래픽을 개별 DIP에 도착하도록 매핑하고 변환합니다. 인바운드 네트워크 트래픽의 경우 이 트랜잭션은 MUX VM과 대상 DIP가 있는 Hyper-V 호스트 간에 분할되는 2단계 프로세스에서 수행됩니다.

  1. 부하 분산 - MUX는 VIP를 사용하여 DIP를 선택하고, 패킷을 캡슐화한 후 DIP가 위치한 Hyper-V 호스트로 트래픽을 전달합니다.

  2. 네트워크 주소 변환(NAT) - Hyper-V 호스트는 패킷에서 캡슐화를 제거하고, VIP를 DIP로 변환하며 포트를 다시 매핑하여 DIP VM으로 패킷을 전달합니다.

네트워크 컨트롤러를 사용하여 정의한 부하 분산 정책 덕분에 MUX는 VIP를 올바른 DIP로 매핑하는 방법을 알고 있습니다. 이러한 규칙에는 프로토콜, 프런트 엔드 포트, 백 엔드 포트 및 배포 알고리즘(5개, 3개 또는 2개 튜플)이 포함됩니다.

테넌트 VM이 응답하고 인터넷 또는 원격 테넌트 위치로 아웃바운드 네트워크 트래픽을 다시 보낼 때 NAT는 Hyper-V 호스트에서 수행되므로 트래픽은 MUX를 우회하고 Hyper-V 호스트에서 에지 라우터로 직접 이동합니다. 이 MUX 바이패스 프로세스는 직접 서버 반환(DSR)이라고 합니다.

초기 네트워크 트래픽 흐름이 설정된 후, 인바운드 네트워크 트래픽은 SLB MUX를 완전히 우회합니다.

다음 그림에서 클라이언트 컴퓨터는 회사 SharePoint 사이트의 IP 주소(이 경우 Contoso라는 가상 회사)에 대한 DNS 쿼리를 수행합니다. 다음 프로세스가 발생합니다.

  1. DNS 서버는 클라이언트에 107.105.47.60 VIP를 반환합니다.

  2. 클라이언트는 VIP에 HTTP 요청을 보냅니다.

  3. 물리적 네트워크에는 모든 MUX에 위치한 VIP에 도달할 수 있는 여러 경로가 있습니다. 각 라우터는 요청이 MUX에 도달할 때까지 경로의 다음 세그먼트를 선택하기 위해 ECMP를 사용합니다.

  4. 요청을 받는 MUX는 구성된 정책을 검사하고, VIP 107.105.47.60에 대한 요청을 처리하기 위해 가상 네트워크에서 사용할 수 있는 두 개의 DIP, 즉 10.10.10.5와 10.10.20.5가 있음을 확인합니다.

  5. MUX는 DIP 10.10.10.5를 선택하고 VXLAN을 사용하여 패킷을 캡슐화하여 호스트의 실제 네트워크 주소를 사용하여 DIP가 포함된 호스트로 보낼 수 있도록 합니다.

  6. 호스트는 캡슐화 된 패킷을 수신 하 고 검사 합니다. 캡슐화를 제거하고 패킷을 다시 작성하여 대상이 VIP 대신 DIP 10.10.10.5가 되도록 한 다음, 트래픽을 DIP VM으로 보냅니다.

  7. 요청이 서버 팜 2의 Contoso SharePoint 사이트에 도달합니다. 서버 응답을 생성 하 고 원본으로는 자체 IP 주소를 사용 하 여 클라이언트에 보냅니다.

  8. 호스트는 가상 스위치에서 나가는 패킷을 가로채고, 이 가상 스위치는 이제 대상이 된 클라이언트가 VIP에 원래 요청을 했다는 것을 기억합니다. 호스트는 클라이언트가 DIP 주소를 볼 수 없도록 패킷의 원본을 VIP로 다시 작성합니다.

  9. 호스트는 표준 라우팅 테이블을 사용하여 패킷을 클라이언트에 전달하는 실제 네트워크의 기본 게이트웨이로 패킷을 직접 전달하며, 결국 응답을 받습니다.

소프트웨어 부하 분산 프로세스.

데이터 센터 내부 트래픽의 부하 분산

서로 다른 서버에서 실행되고 동일한 가상 네트워크의 구성원인 테넌트 리소스 간에와 같이 데이터 센터 내부 네트워크 트래픽 부하를 분산하는 경우 VM이 연결된 Hyper-V 가상 스위치는 NAT를 수행합니다.

내부 트래픽 부하 분산을 사용하면 MUX에서 첫 번째 요청을 보내고 처리합니다. 이 요청은 적절한 DIP를 선택한 다음 트래픽을 DIP로 라우팅합니다. 그 시점 이후로, 설정된 트래픽 흐름은 MUX를 무시하고 VM에서 VM으로 직접 이동합니다.

상태 프로브

소프트웨어 Load Balancer에는 다음을 포함하여 네트워크 인프라의 상태를 확인하는 상태 프로브가 포함되어 있습니다.

  • 포트를 대상으로 하는 TCP 프로브

  • HTTP 프로브를 포트 및 URL로 수행

기존의 부하 분산 장치 어플라이언스에서는 프로브가 네트워크를 통해 DIP로 이동하는 방식과 달리, SLB 프로브는 DIP가 위치한 호스트에서 시작되어 SLB 호스트 에이전트에서 DIP로 직접 이동하며, 작업을 더욱 호스트 간에 분산시킵니다.

소프트웨어 로드 밸런서 인프라

소프트웨어 Load Balancer를 구성하려면 먼저 네트워크 컨트롤러와 하나 이상의 SLB MUX VM을 배포해야 합니다.

또한 SDN 사용 Hyper-V 가상 스위치를 사용하여 Azure 로컬 호스트를 구성하고 SLB 호스트 에이전트가 실행 중인지 확인해야 합니다. 호스트를 제공하는 라우터는 ECMP 라우팅 및 BGP(Border Gateway Protocol)를 지원해야 하며, SLB MUXes의 BGP 피어링 요청을 수락하도록 구성해야 합니다.

다음 그림에서는 SLB 인프라에 대한 개요를 제공합니다.

소프트웨어 로드 밸런서 인프라.

다음 섹션에서는 소프트웨어 Load Balancer 인프라의 이러한 요소에 대한 자세한 정보를 제공합니다.

네트워크 컨트롤러

네트워크 컨트롤러는 SLB 관리자를 호스트하고 소프트웨어 Load Balancer에 대해 다음 작업을 수행합니다.

  • Windows Admin Center, System Center, Windows PowerShell 또는 다른 네트워크 관리 애플리케이션에서 Northbound API를 통해 들어오는 SLB 명령을 처리합니다.

  • Azure 로컬 호스트 및 SLB MUX에 배포하기 위한 정책을 계산합니다.

  • 소프트웨어 로드 밸런서 인프라의 건강 상태를 제공합니다.

Windows Admin Center 또는 Windows PowerShell을 사용하여 네트워크 컨트롤러 및 기타 SLB 인프라를 설치하고 구성할 수 있습니다.

SLB MUX

SLB MUX는 인바운드 네트워크 트래픽을 처리하고 VIP를 DIP에 매핑한 후 올바른 DIP로 트래픽을 전달합니다. 각 MUX도 BGP를 사용하여 VIP 경로를 엣지 라우터에 게시합니다. BGP Keep Alive는 MUX가 실패할 때 MUX에 알릴 수 있으며, 이를 통해 MUX 오류가 발생할 경우 활성 MUX가 부하를 재배포할 수 있습니다. 기본적으로 부하 분산 장치에 대한 부하 분산을 제공합니다.

SLB 호스트 에이전트

소프트웨어 Load Balancer를 배포할 때 Windows Admin Center, System Center, Windows PowerShell 또는 다른 관리 애플리케이션을 사용하여 모든 호스트 서버에 SLB 호스트 에이전트를 배포해야 합니다.

SLB 호스트 에이전트 SLB 정책 업데이트 네트워크 컨트롤러에서 수신 대기합니다. 또한 호스트 에이전트는 로컬 컴퓨터에 구성된 SDN 지원 Hyper-V 가상 스위치에 SLB에 대한 규칙을 프로그래밍합니다.

SDN 지원 Hyper-V 가상 스위치

가상 스위치가 SLB와 호환되려면 가상 스위치에서 VFP(가상 필터링 플랫폼) 확장을 사용하도록 설정해야 합니다. 이 작업은 SDN 배포 PowerShell 스크립트, Windows Admin Center 배포 마법사 및 SCVMM(System Center Virtual Machine Manager) 배포에 의해 자동으로 수행됩니다.

VFP를 가상 스위치에서 사용하도록 설정하는 방법에 대한 정보는 Windows PowerShell 명령 Get-VMSystemSwitchExtensionEnable-VMSwitchExtension을 참조하십시오.

SDN 지원 Hyper-V 가상 스위치는 SLB에 대해 다음 작업을 수행합니다.

  • SLB에 대 한 데이터 경로 처리합니다.

  • MUX에서 인바운드 네트워크 트래픽을 수신합니다.

  • DSR을 사용하여 아웃바운드 네트워크 트래픽을 라우터로 보내면서 MUX를 우회합니다.

BGP 라우터

BGP 라우터는 소프트웨어 Load Balancer에 대해 다음 작업을 수행합니다.

  • ECMP를 사용하여 MUX로 인바운드 트래픽을 경로를 설정합니다.

  • 아웃 바운드 네트워크 트래픽에 대 한 호스트에서 제공한 경로 사용 합니다.

  • SLB MUX에서 VIP 경로 업데이트를 모니터링합니다.

  • Keep Alive가 실패할 경우 SLB MUXes를 SLB 회전에서 제거합니다.

소프트웨어 로드 밸런서 기능

다음 섹션에서는 소프트웨어 Load Balancer의 일부 기능과 기능에 대해 설명합니다.

핵심 기능

  • SLB는 북/남 및 동/서부 TCP/UDP 트래픽에 대한 계층 4 부하 분산 서비스를 제공합니다.

  • Hyper-V 네트워크 가상화 기반 네트워크에서 SLB를 사용할 수 있습니다.

  • SDN 사용 Hyper-V 가상 스위치에 연결된 DIP VM에 대해 VLAN 기반 네트워크와 함께 SLB를 사용할 수 있습니다.

  • 하나의 SLB 인스턴스는 여러 테넌트 처리할 수 있습니다.

  • SLB 및 DIP는 DSR에서 구현하는 확장 가능하고 짧은 대기 시간 반환 경로를 지원합니다.

  • SLB는 SET(Switch Embedded Teaming) 또는 SR-IOV(단일 루트 입력/출력 가상화)를 사용하는 경우에도 작동합니다.

  • SLB에는 IPv6(인터넷 프로토콜 버전 6) 및 버전 4(IPv4) 지원이 포함됩니다.

  • 사이트간 게이트웨이 시나리오의 경우 SLB는 단일 공용 IP를 활용할 수 있도록 모든 사이트-사이트 연결을 사용하도록 NAT 기능을 제공합니다.

규모와 성능

  • MUX 및 호스트 에이전트에 대한 스케일 아웃 및 스케일 업 기능을 포함하여 클라우드 확장에 대비합니다.

  • 하나의 활성 SLB Manager 네트워크 컨트롤러 모듈은 8개의 MUX 인스턴스를 지원할 수 있습니다.

고가용성

  • 활성/활성 구성에서 두 개 이상의 노드에 SLB를 배포할 수 있습니다.

  • MUX는 SLB 서비스에 영향을 주지 않고 MUX 풀에서 추가하거나 제거할 수 있습니다. 이렇게 하면 개별 MUX가 패치될 때 SLB 가용성이 유지됩니다.

  • 개별 MUX 인스턴스의 가동 시간은 99%입니다.

  • 상태 모니터링 데이터는 관리 엔터티에서 사용할 수 있습니다.

다음 단계

관련 정보는 다음을 참조하세요.