RELIANOID 사용자 및 커널 공간의 Load Balancer Enterprise Edition 아키텍처 내부

카테고리 보기

RELIANOID 사용자 및 커널 공간의 Load Balancer Enterprise Edition 아키텍처 내부

4 분 읽음

회사 개요 #

다음 문서의 목적은 아키텍처 개요를 제공하는 것입니다. RELIANOID 로드 밸런서 방법에 대해 자세히 알고 싶은 관심이 있는 시스템 관리자 및 소프트웨어 개발자를 대상으로 하는 소프트웨어 내부 RELIANOID ADC 소프트웨어가 작동합니다. 이 모든 정보는 생산 시스템 구성이나 문제 해결 목적을 돕기 위해 사용될 수도 있습니다.

RELIANOID 아키텍처 #

RELIANOID 사용자 공간과 커널 공간 모두에서 프로세스를 관리하므로 최고의 성능을 얻을 수 있을 뿐만 아니라 로드 밸런싱, 보안, 고가용성 등 애플리케이션 제공 컨트롤러에 위임된 모든 작업을 가장 유연하게 수행할 수 있습니다.

아래 다이어그램은 구성 요소를 구성하는 다양한 구성 요소에 대한 전체적인 보기를 제공합니다. RELIANOID 내부적으로 시스템. 더 간단하고 명확한 보기를 제공하기 위해 덜 중요한 추가 부분은 생략되었습니다.

다음 섹션에서는 다양한 부분과 해당 부분이 어떻게 상호 연결되는지 설명합니다.

RELIANOID 사용자 공간의 로드 밸런서 #

사용자 공간에서 사용되는 하위 시스템은 다음과 같습니다.

웹 GUI: 사용자가 전체 시스템의 구성 및 관리를 관리하는 데 사용하는 웹 그래픽 사용자 인터페이스는 RELIANOID 로드 밸런서에 수행되는 모든 작업에 대한 API입니다.

RELIANOID API : or RELIANOID 다음과 같이 설계된 응용 프로그램 인터페이스 REST JSON HTTPS를 통해 소비되는 인터페이스는 사용자 관점에서 다른 사용자 인터페이스에서 사용됩니다. 웹 GUI 인터페이스 또는 ZCLI (RELIANOID 명령줄 인터페이스). 이 도구는 RBAC 하위 시스템에 대한 모든 작업을 확인하고 허용되는 경우 해당 작업이 다음에서 수행됩니다. RELIANOID 기구. API는 다이어그램에 설명된 다른 사용자 공간 하위 시스템을 연결하고 관리할 수 있습니다.

RBAC( 역할 기반 접근 제어)는 사용자, 그룹 및 역할을 중심으로 정의된 접근 및 제어 메커니즘입니다. 이 모듈은 그룹, 사용자 및 역할 간의 높은 수준의 구성을 통해 사용자가 수행할 수 있는 작업을 정의합니다. 웹 GUI 인터페이스에 완벽하게 통합되어 사용자 역할에 따라 웹 뷰를 로드할 수 있습니다. 또한 이 하위 시스템은 API 또는 API를 사용하는 다른 도구를 통해 사용할 수 있습니다.

LSLB – HTTP(S): HTTP(S) 프로파일로 구성된 LSLB(로컬 서비스 로드 밸런서) 모듈은 Zproxy라는 리버스 프록시를 통해 사용자 공간에서 실행되며, 높은 처리량의 애플리케이션을 매우 효율적으로 관리할 수 있습니다. 이 하위 시스템은 API를 통해 구성되며, IPDS 하위 시스템(블랙리스트, DoS 규칙, RBL 및 WAF 규칙 세트 사용)으로 보호할 수 있습니다.

GSLB: GSLB(Global Service Load Balancer) 모듈은 GSLB 프로파일 인스턴스와 함께 구현되며, 로드 밸런싱 기능을 갖춘 고급 DNS 네임서버 역할을 하는 Gdnsd라는 DNS 서버 프로세스에 의해 사용자 공간에서 실행됩니다. 이 하위 시스템은 API를 통해 구성되며, IPDS 하위 시스템(블랙리스트, DoS 공격 및 RBL 사용)으로 보호할 수 있습니다.

상태 점검: 이 하위 시스템은 API를 통해 구성되며 모든 로드 밸런싱 모듈(LSLB, GSLB 및 DSLB)에서 백엔드의 상태를 확인하는 데 사용됩니다. 백엔드에 대해 간단한 점검과 고급 점검이 실행되며, 점검에 실패하면 해당 팜의 백엔드는 다운된 것으로 표시되고 백엔드에 대한 점검이 다시 성공할 때까지 트래픽이 전달되지 않습니다. 팜 가디언(Farm Guardian)은 이러한 점검을 담당하며 높은 수준의 유연성과 구성 가능성을 갖도록 설계되었습니다.

구성 파일 시스템: 이 디렉터리는 구성 저장 용도로 사용되며, 해당 서비스가 활성화된 경우 이 디렉터리의 변경 사항은 클러스터에 복제됩니다.

Nftlb: 이 사용자 공간 프로세스는 API 하위 시스템에 의해 관리되며 LSLB(L4XNAT) 관리 및 IPDS 하위 시스템 모듈 구성이라는 두 가지 주요 목적으로 사용됩니다.

RELIANOID 커널 공간의 로드 밸런서 #

커널 공간에서 사용되는 하위 시스템은 다음과 같습니다.

Netfilter 시스템 LSLB L4xNAT: Netfilter 서브시스템은 Nftlb에서 로드 밸런싱 목적으로 사용됩니다. Nftlb 프로세스는 고성능 L4 로드 밸런서를 구축 하기 위해 Netfilter 규칙을 커널에 로드합니다 . Nftlb는 트래픽 패킷을 최대한 효율적으로 관리하기 위해 로드 밸런싱 규칙을 커널에 로드하는 방식을 최적화합니다. 또한, Nftlb는 침입 방지 및 보호(블랙리스트, RBL, DoS 공격 방지)를 위한 Netfilter 규칙도 로드합니다.

IPDS 블랙리스트: 이 하위 시스템은 Netfilter 시스템에 통합되어 Nftlb에 의해 관리됩니다. 이는 지정된 출발지 IP에 대한 연결을 차단 하기 위해 로드 밸런싱 규칙 이전에 구성된 규칙 그룹입니다 . 내부적으로는 범주, 국가, 공격자 유형 등에 따라 정렬된 규칙 집합을 생성하고 매일 업데이트합니다.

IPDS RBL : 이전 시스템과 마찬가지로 이 하위 시스템도 Netfilter에 통합되어 있으며 Nftlb에 의해 관리됩니다. 연결이 설정되기 전에 발신 IP를 캡처하고 클라이언트 IP는 외부 DNS 서비스를 통해 유효성을 검사합니다 . IP가 정상적으로 확인되면 해당 IP는 악성으로 표시되고 연결이 차단됩니다.

IPDS DoS: 이전 두 모듈과 동일한 구성 시스템으로, Netfilter에 통합되어 Nftlb에서 관리됩니다. 이는 로드 밸런싱 규칙 이전에 구성되는 규칙 집합으로, 패킷이 서비스 거부 공격(DoS 공격) 의 일부인지 확인합니다 . 일부 규칙은 공격이 실행되기 전에 패킷 흐름에 적용되어 공격을 차단합니다.

연결 추적 시스템: 이 시스템은 Netfilter 하위 시스템에서 연결 관리, 네트워크 변환 및 통계 모듈 에 사용되며 , 상태 점검 하위 시스템에서는 백엔드에서 문제가 감지되는 즉시 연결 조치를 강제하기 위해 사용됩니다. 또한 클러스터링 서비스 에서는 클러스터 마스터 노드에 장애가 발생할 경우 두 번째 노드가 이전 마스터와 동일한 연결 상태로 트래픽을 관리할 수 있도록 연결 상태를 클러스터의 두 번째 노드로 전달하는 데 사용됩니다.

라우팅 시스템 및 DSLB: 이러한 하위 시스템은 API를 통해 관리되며 커널 공간에서 구성됩니다. 라우팅 하위 시스템은 iproute2를 사용하여 구축되었으며, 이를 통해 복잡한 정적 라우팅 규칙 세트를 유지 관리할 필요 없이 여러 라우팅 테이블을 관리할 수 있습니다 . 또한 iproute2 덕분에 DSLB(데이터링크 서비스 로드 밸런싱) 모듈이 생성되어 여러 게이트웨이를 사용하는 업링크의 로드 밸런싱을 제공합니다.

이 글을 쓰는 순간, RELIANOID 6은 생산 중이므로 해당 하위 시스템은 향후 버전에서 더 나은 성능이나 더 많은 기능을 제공하도록 발전할 수 있습니다.

추가 문서 #

RELIANOID zproxy 벤치마크, LSLB -HTTP(S) 프로필
RELIANOID nftlb 벤치마크, LSLB – L4xNAT 프로필

📄 이 문서를 PDF 형식으로 다운로드하세요 #

    이메일 : *

    BetterDocs 제공