가용성이 높고 확장 가능한 Blackboard 서비스를 생성하는 방법

카테고리 보기

가용성이 높고 확장 가능한 Blackboard 서비스를 생성하는 방법

6 분 읽음

칠판이란 무엇입니까? #

블랙보드는 같은 이름의 회사가 개발한 교육 분야 애플리케이션으로, 교사가 편집하고 학생들이 쉽게 접근할 수 있는 교육적 콘텐츠를 제공하는 것을 목표로 합니다.

이 애플리케이션에는 시험 도구, 교사와의 화상 회의, 수업 등 학생들에게 중요한 도구들이 포함되어 있습니다. 이러한 유형의 애플리케이션은 동시 사용자 수가 많기 때문에 애플리케이션 서버 과부하로 인한 문제가 매일 발생할 수 있습니다.

이를 완화하기 위해서는 학생들이 연결 문제 없이 교육 리소스에 동시에 액세스할 수 있도록 보장하고 항상 최대 가용성으로 애플리케이션을 제공하기 위해 고가용성 모델을 사용하여 웹 애플리케이션을 배포하는 것이 좋습니다.

블랙보드 고가용성 환경 #

Blackboard 환경에는 두 가지 종류의 서버가 포함되어 있습니다.

애플리케이션 로직과 사용자 프로필을 관리하는 애플리케이션 서버입니다.
일부 도구에서 사용자 간 미팅이나 채팅 기능으로 사용되는 협업 서버입니다. 실제로 이는 몇 가지 특수한 구성을 갖춘 애플리케이션 서버입니다.

Blackboard 배포의 확장 가능하고 가용성이 높은 대상 환경은 아래 그림에 표시되어 있습니다.

이를 달성하기 위해 필요에 따라 서버 풀을 추가하는 액티브-액티브 모드로 애플리케이션 서버용 HTTP 팜을 하나 설정하는 것을 권장합니다.

반면, 협업 서버에는 모든 포트와 프로토콜을 사용하는 L4xNAT 팜을 권장합니다. 이러한 서버는 대화형 및 협업 서비스에 TCP 및 UDP 트래픽을 모두 사용할 수 있기 때문입니다. Blackboard에 따르면 이러한 서비스는 액티브-패시브 모드로만 설정할 수 있으므로 가상 서비스 구성 시 이 점을 고려해야 합니다.

예시에서 Blackboard 애플리케이션 서비스는 IP 주소 10.0.1.2 에서 제공되며, 이 주소는 DNS에서 blackboard.domain.org 도메인으로 확인되고 TCP 포트 44380을 사용합니다 (443번 포트로 리디렉션됨).

협업 서비스는 모든 포트와 프로토콜을 통해 IP 주소 10.0.1.3 (도메인 collab.blackboard.domain.org 로 확인됨)을 통해 접속할 수 있습니다.

모든 애플리케이션과 협업 서버는 동일한 네트워크 세그먼트 10.0.7.0/24 에 있습니다.

블랙보드 부하 분산 구성 #

요구조건 니즈 #

먼저, 고가용성으로 설정할 애플리케이션과 일부 로드 밸런서 유틸리티를 준비합니다.

고가용성을 위한 Blackboard 구성 #

고가용성을 위한 애플리케이션 및 협업 Blackboard 서버 구성은 다음 문서에서 자세히 설명합니다.

https://help.blackboard.com/es-es/Learn/Administrator/Hosting/Performance_Optimization/Load_Balancing

HA를 위해 Blackboard 배포가 준비되었는지 확인하려면 DNS 및 기타 필수 구성에 대한 지침을 따르세요.

블랙보드 가상 서비스 네트워크 구성 #

가상 서비스는 동일한 물리적 NIC 아래의 두 개의 서로 다른 가상 인터페이스에 게시되며 해당 인터페이스는 다음에서 공유됩니다. RELIANOID 로드 밸런서 클러스터. 처리량이 높고 지연 시간을 줄이기 위해 가상 서비스는 서로 다른 물리적 NIC를 사용할 수 있습니다.

가상 인터페이스는 기존 물리적 네트워크 인터페이스에 생성되므로 가상 인터페이스의 IP 주소와 동일한 네트워크에 NIC, 본딩 또는 VLAN 인터페이스가 있어야 합니다. 이 경우 왼쪽 메뉴에서 네트워크 > NIC를 클릭하고 목록에서 NIC 중 하나를 편집하여 NIC 인터페이스를 생성합니다.

이 예시에서는 서비스가 두 개의 인터페이스, 즉 IP 주소 10.0.1.2 를 사용하는 eth1:blackboard 와 IP 주소 10.0.1.3을 사용하는 eth1:collab 에 게시됩니다.

가상 인터페이스를 생성하려면 왼쪽 메뉴 모음에서 네트워크 > 가상 인터페이스 > 생성 옵션을 클릭하고 아래 그림과 같이 양식을 작성하십시오.

같은 방식으로 협업 가상 서비스에 대한 가상 인터페이스를 만듭니다.

블랙보드 상태 점검 모니터링 #

Blackboard는 이미 애플리케이션 서버 상태를 확인하는 전용 웹페이지를 제공하고 있으므로, 로드 밸런서에 구성된 고급 상태 점검에서 이 웹페이지를 사용하는 것이 좋습니다. 다음과 같은 맞춤형 FarmGuardian 점검을 통해 Blackboard 애플리케이션 상태를 확인할 수 있습니다.

왼쪽 메뉴 모음에서 모니터링 > 팜가디언을 클릭하고 팜가디언 생성을 누른 다음 아래 그림과 같이 "check_http"에서 복사 옵션을 선택합니다 .

Blackboard 애플리케이션 서버에 대한 새로운 상태 검사 매개변수는 다음과 같습니다.

이름: 체크_블랙보드
간격: 61세그
Command: check_http -I 호스트 -p 포트 -e 200 -t 20 -u “http://blackboard.domain.org/webapps/portal/healthCheck”

이 Farmguardian 검사는 백엔드가 4개 이하인 경우에 맞춰 조정됩니다. 애플리케이션 서버 풀에 백엔드가 4개 이상인 경우 interval=*20+1 공식에 따라 interval 매개변수를 설정하십시오.

이제 필요한 설정을 구성했으므로 Blackboard HA에 필요한 각 서비스에 대한 가상 서비스를 구성해 보겠습니다.

Blackboard 애플리케이션 서버 가상 서비스 구성 #

두 개의 서로 다른 HTTP 가상 서비스를 구성합니다. 하나는 보안 HTTPS를 위한 것이고, 다른 하나는 HTTP에서 HTTPS로 리디렉션하는 것입니다. 이를 구현하는 방법을 살펴보겠습니다.

애플리케이션 서버 HTTPS 가상 서비스 #

왼쪽 메뉴 모음에서 LSLB > 팜 옵션을 클릭한 다음 팜 생성 버튼을 클릭하여 새 LSLB HTTP 프로파일 팜을 생성합니다.

최상의 성능을 얻기 위해 다음 매개변수가 수정됩니다.

경청자:
HTTPS
활성화된 인증서. 여기에서는 왼쪽 메뉴 바 옵션에서 이전에 업로드한 서명된 인증서를 선택하는 것이 좋습니다. LSLB > SSL 인증서은 클릭 인증서 업로드 버튼을 클릭합니다.

Blackboard 애플리케이션은 HTTPS 가상 서비스에 하나의 서비스만 필요합니다. 서비스 탭을 클릭한 다음 새 서비스 버튼을 클릭하여 생성하세요. 서비스에서 구성해야 할 매개변수는 다음과 같습니다.

HTTPS 백엔드: 사용 가능
쿠키 삽입: 사용 가능
쿠키 이름: 젠세션아이디
쿠키 TTL: 10860, (3시간 1분)
쿠키 경로: /
농장 수호자: 체크_블랙보드 (이전에 생성됨)

수정이 완료되면 제출 버튼을 눌러야 합니다.

마지막으로, 백엔드 섹션에서 '백엔드 추가'를 클릭하여 애플리케이션 서버를 추가합니다 . 각 백엔드에 대해 IP 주소포트를 구성해야 합니다 . 모든 백엔드 추가가 완료되면 '팜 재시작' 버튼을 누릅니다.

애플리케이션 서버 HTTP에서 HTTPS로 리디렉션 서비스 #

이 HTTP 팜의 목표는 모든 클라이언트가 암호화된 서비스를 통과하도록 하기 위해 이전에 생성된 blackboard-application 이라는 이름의 HTTP 팜으로 HTTP 요청을 리디렉션하는 것입니다. 예시에서는 blackboard-redirect-ssl 이라는 이름의 새 LSLB 팜을 생성 하고 다음 매개변수를 설정하십시오.

이름: 블랙보드-리디렉션-ssl
프로필: HTTP
가상 IP: 10.0.1.2 (포트 443의 서비스와 동일합니다)
가상 포트: 80

팜이 생성되면 '서비스' 탭을 클릭하고 '새 서비스' 버튼을 클릭합니다 . 서비스 이름을 선택 하고 (이 예에서는 'redirect' ) 다음 매개변수를 사용하여 편집합니다.

리디렉션: 활성화됨
리디렉션 URL: https://blackboard.domain.org (이것은 DNS에서 사용되는 서비스 네임서버 이름입니다)
리디렉션 유형: 태만
리디렉션 코드: 301

마지막으로 제출 버튼 을 누르고 농장을 재시작하여 변경 사항을 적용하십시오.

Blackboard Collaborative Servers 가상 서비스 구성 #

이 기사의 서두에서 설명한 대로, Blackboard에 따르면 협업 서버는 부하를 분산할 수 없지만 고가용성으로 설정할 수 있습니다.

첫 번째 단계는 LSLB > 팜 > 팜 생성 메뉴를 통해 새 L4xNAT 팜을 생성하여 가상 서비스를 설정하는 것입니다 . Blackboard에서는 대화형 트래픽 성능 향상을 위해 서비스에 TCP 포트와 일부 UDP 포트를 활성화하도록 권장하므로, 이 가상 서비스는 * 로 표시된 모든 포트와 모든 프로토콜을 사용하도록 구성하는 것이 좋습니다 .

이 서비스는 액티브-패시브 모드로 구성되므로 특별한 알고리즘이나 영구 저장이 필요하지 않습니다. 다만, 활성 협업 서버가 다운될 경우 자동 페일오버가 발생하도록 백엔드 IP 주소 ( 포트 제외 )와 각 백엔드의 우선 순위를 추가 합니다. 2개 이상의 백엔드를 문제없이 구성할 수 있습니다.

마지막으로, 이 서비스에 대한 상태 점검을 구성하는 것이 좋습니다. 가상 서비스와 백엔드에서 특정 포트가 사용되지 않으므로, 협업 서버에 연결 가능한지, 그리고 ICMP 패킷에 올바르게 응답하는지 확인하기 위해 간단한 check_ping을 사용하겠습니다.

블랙보드 가상 서비스 요약 #

블랙보드의 가용성을 높이기 위해 만든 가상 서비스의 요약은 다음과 같습니다.

블랙보드 로드 밸런서 클러스터 #

단일 장애 지점을 방지하려면 로드 밸런서 클러스터가 필요합니다. 이를 통해 전체 환경을 여러 데이터 센터 또는 물리적 노드에 구성할 수 있습니다.

클러스터에 대한 자세한 내용은 https://www.relianoid.com/knowledge-base/howtos/configure-zevenet-cluster/ 를 참조하십시오.

블랙보드 가상 서비스 강화된 보안 #

RELIANOID 로드 밸런서에는 블랙리스트, DDoS 보호, DNS 실시간 블랙홀 목록, 웹 애플리케이션 방화벽을 포함한 침입 방지 및 탐지 시스템이 포함되어 있습니다. Blackboard HA 구현 시 이러한 보안 시스템을 활용하는 것이 좋습니다.

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

    이메일 : *

    BetterDocs 제공