Adobe Connect 12.2 설치 안내서(고급 오디오-비디오 설정)

소개

Adobe Connect에서는 고급 오디오 및 비디오 기능을 제공하기 위해 최신 WebRTC 프레임워크를 사용합니다. 이러한 고급 오디오-비디오 설정은 일반적으로 특정 역할을 가진 여러 Linux® 노드에서 실행됩니다. 다중 노드는 신호 노드, 미디어 노드 및 레코딩 노드입니다. 이 설치에서는 사용량에 따라 하나 또는 별도의 컴퓨터에 설치할 수 있는 PostgreSQL 및 Redis 데이터베이스도 사용합니다.

각 노드는 설치 관리자 zip 파일을 해당 노드에 복사하고, 구성 파일을 편집하고, 종속성 설치 스크립트를 실행하고 마지막으로 기본 설치 스크립트를 실행하면 설치가 완료됩니다. 다음은 이 문서에서 다루는 항목입니다.

이러한 단계는 설치 섹션에 설명되어 있습니다.

필수 구성 요소 및 시스템 요구 사항 

고급 오디오/비디오 서버/노드 크기 예측 

session_participants_count.sql 파일을 실행하여 고급 오디오/비디오 서버의 크기를 예측할 수 있습니다. SQL 쿼리의 출력은 계산기에 대한 입력으로, Excel 파일(Additional Enhanced A/V hardware estimator.xlsx)이 됩니다.

계산기는 Adobe Connect의 과거 사용량을 기반으로 필요한 VM 수를 예측하는 데 도움이 됩니다. 계산기에는 다음과 같은 입력 세트가 필요합니다.

  • 서버 CPU 코어 및 RAM 수. 
  • 연결된 SQL 쿼리는 지난 12개월 동안 수행된 최대 동시 세션 수와 평균 참석자 수를 결정하는 데 사용됩니다.

  • 각 세션의 예상 게시자 수 게시자는 회의 참석자(주최자, 발표자 또는 참가자)로, 회의실에서 마이크(음소거 또는 음소거 해제)와 웹캠(실시간 및 일시 중지)을 연결합니다.

참고:

session_participants_count.sql 및 Additional Enhanced A/V hardware estimator.xlsx 파일은 모두 설치 관리자 패키지에 포함되어 있으며 다른 곳에서는 사용할 수 없습니다. 

FQDN 및 SSL 인증서 요구 사항 추정

FQDN:

  • 외부 응용 프로그램 Load Balancer에 대한 공용 DNS 레코드 하나(예: webrtc.example.com)

  • 각 미디어 서버에 대한 공용 DNS 레코드 하나(예: media-1.example.com)

SSL 인증서:

  • LB FQDN에 대한 SSL 인증서 하나 

  • TURNS 구성은 미디어 서버에 권장되므로, 각 미디어 서버에 대해 하나의 인증서를 사용할 수 있습니다.

네트워크 아키텍처 이해

포트 열기 요구 사항

소스 대상 포트 프로토콜 사용
신호 노드 Redis 6379 TCP  
Postgres 5432 TCP  
레코딩 노드 5000-5100 TCP  
SIP 또는 미디어
서버 노드
5060 UDP  
SIP 또는 미디어
서버 노드
5060 TCP SIP 신호용
CPS 서버 443 TCP
레코딩 노드 미디어 서버
노드(*)
443 TCP TURNS
3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000-65535 UDP SRTP(실시간 미디어 흐름)
CPS 서버 443 TCP  
Redis 6379 TCP  
신호 노드 8090 TCP
 
WebRTC Load Balancer(**) 443 TCP
 
미디어 서버 노드 Redis 6379 TCP
 
Postgres 5432 TCP
 
stun.I.google.com 19302 UDP 공용 IP 검색용. NAT 유형을 확인하는 중입니다. 
stun1.I.google.com
19302 UDP 공용 IP 검색용. NAT 유형을 확인하는 중입니다. 
WebRTC Load Balancer(**) 443 TCP
WebRTC 게이트웨이에 등록용 
CPS 서버 WebRTC Load Balancer 
443 TCP
 
레코딩 노드 80 TCP
레코딩 파일 다운로드 중
사용자/클라이언트/인터넷 미디어 서버 노드(*)
443 TCP

 

 

 

 

TURNS(TLS를 통한 오디오-비디오) 

3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000-65535 UDP SRTP(실시간 미디어 흐름)
CPS 서버 443 TCP
 
WebRTC Load Balancer 
443 TCP
 
SIP 노드 Redis 6379 TCP
대부분의 경우 SIP 서비스는 미디어 서버 노드에서 실행됩니다. 
Postgres 5432 TCP
WebRTC Load Balancer 
443 TCP

* 대부분의 경우 미디어 서버에는 공용 IP 주소가 있지만, 인터넷을 통해 Adobe Connect에 액세스할 필요가 없는 제한된 환경에서는 개인 IP 주소에 포트가 열려 있어야 합니다.

** 트래픽을 여러 신호 노드로 라우팅하고 SSL 오프로딩을 위한 외부 WebRTC Load Balancer가 있습니다. LB는 새 WebRTC 서버와 CPS 및 최종 사용자 간의 인터페이스 역할을 합니다.

부하 균형 조정은 일반적으로 아래 구성의 외부 응용 프로그램 Load Balancer를 통해 수행됩니다.

  • HTTPS 포트 443: 신호 노드 HTTP 포트 18443 - CPS 및 최종 사용자가 이 수신기에 연결하며, 이것은 새 WebRTC 클러스터의 진입점입니다.

  • HTTPS 포트 443: 신호 노드 HTTP 포트 9090 - 관리자가 WebRTC 관리 웹 패널에 연결하여 TURNS 및 SIP/전화 연결을 구성하는 데 사용합니다.

고급 오디오/비디오 서버의 시스템 요구 사항

  • OS - Red Hat Enterprise Linux 64비트 버전 8.6
  • 서버에 설치된 타사 라이브러리(오픈 소스):
    • Podman 4.2.0
    • Virtualenv 20.19.0
    • Python 3.9
    • Pip 21.3.1
    • Python 라이브러리(pydantic, pyhocon, docker, redis, packaging, psycopg2-binary, python-json-logger, pystun3, coloredlogs, colorama)

환경 준비

일반적인 고급 AV 설정에는 최소 3대의 Red Hat 서버가 필요합니다. 신호, 미디어, 레코딩 노드에 대해 각각 하나씩 회의 부하에 따른 추정기는 여러 미디어 서버, 레코딩 및 신호 노드를 제안할 수 있습니다. 응용 프로그램 Load Balancer는 신호 노드를 사용하는 최종 사용자 클라이언트와 CPS 간의 통신 및 SSL 오프로딩에 사용됩니다.

부하에 따른 일부 설정은 신호 노드에서 실행되는 레코딩 서비스 컨테이너가 있는 두 개의 서버만 가질 수 있습니다.

여기에서는 가장 일반적인 세 가지 서버 설정에 대해 자세히 설명하겠습니다.

  • Red Hat 서버 3대를 제공합니다. 하드웨어 추정기를 참조하여 구성하십시오.
  • 설치하려면 sudo 액세스 권한이 있는 루트가 아닌 사용자가 필요합니다.
    • Red Hat을 새로 설치한 후 새 user-id를 만듭니다.
    • RHEL에서 새 사용자 ID에 대해 sudo를 활성화하려면 ID를 휠 그룹에 추가합니다.
      • su를 실행하여 root가 됩니다.
      • usermod -aG wheel your_user_id를 실행합니다.
      • 로그아웃한 후 새 ID를 사용하여 다시 로그인합니다.
  • 신호 및 레코딩 노드에 고정 IP 주소를 할당합니다.
  • 미디어 서버의 공용 IP 주소를 제공하고 할당합니다. 1:1 NAT를 사용하는 경우 공용 IP를 미디어 서버의 개인 IP에 매핑해야 합니다.
  • 미디어 서버에 대한 공용 DNS 레코드를 만듭니다. TURNS(TLS 443을 통한 연결)를 설정하는 것이 좋습니다. 따라서 이 FQDN에 대한 SSL 인증서도 제공하십시오. 
  • 세 노드 간에 필요한 네트워크 포트를 엽니다. 네트워크 아키텍처 섹션을 참조하십시오. 
  • 이전 섹션에서 설명한 대로 외부 응용 프로그램 Load Balancer를 설정합니다. 또한 LB에 대한 공용 DNS 레코드를 설정하고 SSL 인증서를 제공합니다. 

설치 관리자 zip 파일 복사

  1. NCC_Onprem_12_2_Installer.zip을 모든 노드의 홈 디렉터리에 복사합니다.
    예: scp  NCC_Onprem_12_2_Installer.zip -i ssh_key.pem  my-user@webrtc.corp.example.com:/home/my-user/

  2. 선택적으로 Jarsigner를 사용하여 다운로드한 서명된 zip을 확인합니다. Jarsigner는 JAVA의 일부로 설치됩니다.

    1. [ java -version ] 명령을 사용하여 JAVA가 설치되어 있는지 확인합니다. Java가 설치되어 있으면 JAVA 버전을 출력으로 얻습니다.
    2. 컴퓨터에 Java가 없으면 JAVA를 설치합니다.
      sudo yum install java-1.8.0-openjdk-devel 
    3. 이제 터미널 창에서 아래 명령을 복사하고 Enter를 클릭합니다.
      jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip
    4. 확인 출력에는 다음이 포함됩니다.
      • zip 파일 내부 목록
      • 인증을 위한 Adobe의 인증서 정보
      • 출력 성공 메시지("jar가 확인됨") 또는 실패 메시지("jar가 확인되지 않음")
    5. 인증서 정보가 유효하고 확인 성공 출력 메시지가 표시되면 사용자는 zip 콘텐츠를 사용한 다음 설치를 계속할 수 있습니다. 그렇지 않은 경우 Adobe 지원에 문의해야 합니다. 
  3. ZIP의 압축을 풉니다. 파일에 적절한 권한이 있는지 확인합니다.
    다음 명령을 사용합니다. 명확하게 지정된 경우가 아니면 root/sudo 액세스 권한으로 명령을 실행하지 마십시오.

     NCC_Onprem_12_2_Installer.zip
    의 압축을 풉니다
    설치 관리자 상위 디렉터리로 이동합니다. 예:
    cd  ~/ncc-onprem-installer/
    sudo chmod +x ExternalDependencies/install.sh
    sudo chmod +x MainInstall.sh
    sudo chmod +x check-connectivity.sh
    sudo chmod +x uninstall.sh

    참고:

    인터넷에 액세스할 수 없거나 잠긴 환경에서 설치 프로그램을 실행하는 경우 다음 명령을 실행합니다.

    sudo chmod +x Externaldependecies/package-util.sh
  4. 종속성 설치 스크립트 실행.

    1. 인터넷에 액세스할 수 없거나 잠긴 환경에서 설치 프로그램을 실행하는 경우 다음 명령을 실행하여 외부 종속성을 설치합니다. 인터넷에 연결되어 있는 경우 2단계를 계속합니다.
      설치 관리자 상위 디렉터리로 이동합니다. 예를 들면 ~/ncc-onprem-installer/ 디렉터리에 있는지 확인합니다.
      bash ExternalDependencies/package-util.sh --install을 실행합니다. 그러면 상자에 필요한 모든 외부 종속성이 설치됩니다.

      이 작업은 노드당 한 번 필요합니다.
    2. 설치 관리자 상위 디렉터리로 이동합니다. 예를 들면~/ncc-onprem-installer/ 디렉터리에 있는지 확인합니다.
      bash ExternalDependencies/install.sh를 실행합니다. 그러면 상자에 필요한 모든 외부 종속성이 설치됩니다.

      이 작업은 노드당 한 번 필요합니다.

설치 프로세스

다음 단계에서는 3개의 개별 Red Hat 인스턴스에 WebRTC 환경을 설치하는 과정을 단계별로 안내합니다.  신호 노드, 레코딩 노드, 미디어 서버 노드.  각 노드의 지침에 대해 containers.conf에 구성된 서비스를 주의 깊게 살펴보십시오. 구성 파일의 특정 서비스/컨테이너 집합을 사용하여 각 노드를 구성해야 합니다.

** 실습실 시스템에서는 Linux 인스턴스 하나에 이러한 '노드'(신호, 레코딩, 미디어 서버)를 모두 설치할 수 있습니다.  그런 경우에는 containers.conf에서 환경에 필요한 모든 서버/컨테이너에 대해 'count=1'을 설정합니다. 

신호 노드

신호 노드에서는 일반적으로 다음 서비스를 실행합니다. 각 서비스는 docker 컨테이너로 실행됩니다.

  • config(구성 서비스)
  • cas(새 Connect API 서비스)
  • apigw(API 게이트웨이/라우터)
  • liveswitcher-gateway(WebRTC 게이트웨이 서비스)

일반적으로 신호 노드는 외부 Load Balancer를 통해 Connect 클라이언트에 액세스할 수 있는 개인 서브넷에 있어야 합니다. 

절차

  1. 호스트 파일 편집 

    신호 노드에서 호스트 파일을 업데이트해야 합니다. nano 또는 vi와 같은 텍스트 편집기를 사용할 수 있습니다. 

    1. nano 또는 vi 편집기를 사용하여 /etc/hosts 파일을 엽니다(예: sudo vi /etc/hosts)
    2. 끝에 다음 줄을 추가합니다. <private-ip>를 호스트의 개인 IP로 바꿉니다. 아래 각 단어 사이에는 공백이 있습니다. 

    <private-ip> cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local

    참고:

    환경에 맞게 예제 IP 값을 변경합니다.

    192.168.1.100 cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local

  2. 구성 파일 편집

    1. ncc-onprem-installer/Config/config.conf에 있는 구성 파일을 편집합니다. 파일 편집 지침이 구성 파일에 주석으로 추가됩니다. 이 파일은 각 호스트에 대해 개별적으로 편집해야 합니다.  
    2. 이제 ncc-onprem-installer/Config/containers.conf를 편집합니다. 파일 편집 지침은 파일에 주석으로 추가됩니다. 이 파일은 각 호스트에 대해 개별적으로 편집해야 합니다. 설치할 서비스 및 배포할 컨테이너 수에 따라 다릅니다. 
    3. 일반적인 신호 노드에 다음을 설치합니다.
      • casServer
      • configService
      • apiGateway
      • gatewayServer
      • redis
      • postgres
      • lb(선택 사항. 추가 구성 단계는 아래의 Load Balancer 섹션을 참조하십시오.)
    4. 따라서 위의 모든 서비스에 대해 count=1을 설정하고 다른 모든 서비스에 대해 0을 설정합니다. 
    5. 중요: Config.conf를 변경한 후 configService에 대해 restart=1을 설정하십시오. 
    6. 여러 신호 노드가 필요한 설정에서, Redis 및 Postgres 데이터베이스는 첫 번째 노드에만 설치됩니다. 
  3. 기본 설치 관리자 스크립트 실행 .
    기본 설치 관리자 디렉터리(cd ~/ncc-onprem-installer/)로 전환합니다 
    기본 설치 관리자 스크립트(bash MainInstall.sh)를 실행합니다. 확인 메시지를 기다립니다.
    성공 메시지: 
                   2023-01-31 18:21:34,033 : INFO : Main : 55 :설치 성공. 
    실패 메시지:
                   2023-01-31 20:04:44,849 : ERROR : Main : 59 : 설치 실패. 자세한 내용은 installer.log를 참조하십시오. 

    문제 해결 섹션을 참조하십시오.

  4. 설치 확인

    • 상태 검사 API 
      노드의 상태를 확인하려면 URL: http://<private_ip>:18443/health를 찾아볼 수 있습니다. 정상 응답은 200 OK {"apigw":"ok"}이어야 합니다.  

      RedHat 컴퓨터에서 확인하려면 CURL 명령을 사용할 수 있습니다. 
      예: curl -v http://172.31.56.203:18443/health 
    • 컨테이너 상태 확인 
      터미널 창에서 docker ps 명령을 실행합니다.
      아래와 같은 출력과 STATUS(상태)는 컨테이너에 대해 다시 시작하지 않아야 합니다.
    컨테이너 상태

  5. lb 컨테이너라는 번들로 제공되는 Nginx Load Balancer 사용

    이제 설치 관리자는 SSL 오프로딩을 위한 오픈 소스 Nginx 컨테이너와 함께 번들로 제공됩니다. 

    이것은 실험실 또는 신호 노드 하나만 있는 작은 설정에만 사용되어야 합니다. 

    신호 노드에 LB를 설치해야 합니다.

    이 번들된 LB를 사용할 때 신호 노드는 공용 서브넷(또는 DMZ)에 있어야 하며 공용 IP를 할당하거나 1:1 NAT를 통해 공용 IP에 매핑되어야 합니다. 클라이언트는 포트 443의 LB URL을 통해 직접 노드에 연결합니다.

    인터넷에서 Connect에 액세스할 필요가 없는 설정에서 신호는 개인 서브넷에 있어야 하지만 포트 443의 내부 네트워크에서도 계속 액세스할 수 있습니다.

    요구 사항:

    • 사용 사례에 따른 공용/개인 DNS 레코드
    • DNS 레코드에 대한 SSL 인증서
    • SSL 인증서의 개인 키

    Load Balancer 사용 단계: 

    1. mkdir -p ~/connect/loadbalancer/certs
    2. SSL 인증서(신호 노드의 FQDN에 대해 발급됨) 및 개인 키를 certs 디렉터리에 복사합니다. 이름이 cert.crt 및 key.key인지 확인합니다.
    3. config.conf 파일에서 hostnames>lb 섹션과 hostnames>fqdn 섹션에도 FQDN을 추가하여 이제 WebRTC 클러스터의 진입점이 되도록 합니다.
    4. container.conf 파일에서 lb 수를 1로 업데이트합니다.
    5. 이제 bash MainInstall.sh를 실행합니다.

    AWS EC2 인스턴스에서 와일드카드 인증서를 사용하는 경우: 

    1. Route53에서 A 레코드를 만듭니다. 예를 들어, 와일드카드 인증서가 *.example.com인 경우 A 레코드를 webrtc.example.com으로 만들고 이를 EC2 인스턴스의 Elastic IP에 매핑합니다.
    2. 와일드카드 인증서 및 키를 ~/connect/loadbalancer/certs 디렉터리에 복사합니다. 이름이 cert.crt 및 key.key인지 확인합니다.
    3. FQDN을 추가합니다. 예: hostnames>lb 섹션과 hostnames>fqdn의 webrtc.example.com.
    4. container.conf 파일에서 lb 수를 1로 업데이트합니다.
    5. 이제 bash MainInstall.sh를 실행합니다.
미디어 서버 노드

미디어 노드에서 다음 서비스를 실행합니다. 

  • liveswitch-media-server(미디어 서버) – 고급 오디오/비디오용
  • liveswitch-sip-connector(SIP 서비스) – SIP 사용

미디어 노드는 공용 서브넷(또는 DMZ)에 있어야 하며 공용 IP를 할당하거나 1:1 NAT를 통해 공용 IP에 매핑되어야 합니다. 클라이언트는 미디어 노드의 공용 IP에 직접 연결합니다. 

고급 AV(WebRTC) 클라이언트는 연결에 ICE 메서드를 사용하고 아래 포트 및 프로토콜을 통해 미디어 서버와 오디오-비디오 스트림을 설정하려고 합니다. 

  • 30000 – 65535 범위의 UDP 포트는 실시간 미디어 흐름을 처리합니다.
  • UDP 및 TCP 포트 3478은 STUN 및 TURN 트래픽을 처리하여 클라이언트가 방화벽을 통해 스트리밍하는 데 도움을 줍니다.
  • 제한된 네트워크에서 스트리밍을 위한 고가용성을 보장하기 위해 TURNS를 활성화하는 포트 443을 통한 TLS .
  • C12 WebRTC 기반 클라이언트는 포트 443을 통해 TLS로 전환하기 전에 모든 옵션(TCP 및 UDP)을 시도합니다.
  • UDP 및 TCP 포트 5060은 트렁크/PBX 등록 및 인바운드/아웃바운드 호출을 위한 SIP 트래픽을 처리합니다. (SIP를 사용하는 경우 필수)

절차

  1. 기본 설치 관리자 스크립트 실행.
    기본 설치 관리자 디렉터리( cd ~/ncc-onprem-installer/
    )로 전환합니다
    기본 설치 관리자 스크립트(bash MainInstall.sh)를 실행합니다. 확인 메시지를 기다립니다.
    성공 메시지
           2023-01-31 18:21:34,033 : INFO : Main : 55 : 설치 성공. 
    실패 메시지:
                   2023-01-31 20:04:44,849 : ERROR : Main : 59 : 설치 실패. 자세한 내용은 installer.log를 참조하십시오.    

    문제 해결 섹션을 참조하십시오.

  2. 설치 확인

    컨테이너 창에서 docker ps 명령을 실행하고 liveswitch-media-server 컨테이너가 실행 중인지 확인합니다. 

레코딩 노드 

레코딩 노드는 개인 네트워크에서 실행해야 합니다. 레코딩 노드에서 다음 중 하나 이상의 인스턴스를 실행할 수 있습니다. 

  • hcr(레코딩 컨테이너. hcr 컨테이너 수에 따라 실행할 수 있는 동시 레코딩이 결정됩니다.) 
  • recordingserver(레코딩 파일을 CPS에 제공하는 웹 서버. 레코딩 노드당 1개) 

레코딩 노드는 다음에서 연결할 수 있어야 합니다.

  • 로컬 네트워크의 TCP 80(CPS가 레코딩을 다운로드할 수 있도록)
  • 로컬 네트워크의 TCP 5000-5100. 개별 레코딩 컨테이너는 해당 범위의 호스트 포트에 바인딩됩니다. 
  • 로컬 네트워크의 TCP 8090. 

레코딩 노드의 성공적인 레코딩을 위해서는 미디어 노드 섹션에 나열된 포트의 공용 IP에 있는 미디어 노드와 포트 443의 CPS에 연결할 수 있어야 합니다.

절차

  1. 구성 파일 편집 

    1. config.conf 파일을 편집하거나 신호 노드, ~/ ncc-onprem-installer /Config/config.conf에서 이 파일을 복사합니다. 
    2. 이제  ~/ncc-onprem-installer/Config/containers.conf를 편집합니다. 파일 편집 지침은 파일에 주석으로 추가됩니다.
    3. 레코딩 서버 노드에 다음을 설치합니다.
      • recordingContainer  
      • recordingserver  
    4. 따라서, recordingContainer에 대해 count >= 1, recordingserver에 대해 1, 다른 모든 서버에 대해 0을 설정합니다.
  2. 기본 설치 관리자 스크립트 실행
    기본 설치 관리자 디렉터리로 전환합니다. cd ~/ncc-onprem-installer/ncc-onprem-installer/
    기본 설치 관리자 스크립트를 실행합니다. bash MainInstall.sh 확인 메시지를 기다립니다. 
    성공 메시지
                    2023-01-31 18:21:34,033 : INFO : Main : 55 : 설치 성공. 
    실패 메시지:
                    2023-01-31 20:04:44,849 : ERROR : Main : 59 : 설치 실패. 자세한 내용은 installer.log를 참조하십시오

    문제 해결 섹션을 참조하십시오.

  3. 설치 확인

    컨테이너 창에서 B 명령을 실행하고 hcr 및 recordingserver 컨테이너가 실행 중인지 확인합니다. 

12.0, 12.1, 12.1.5 시스템 업그레이드 

환경 준비 

설치 관리자 zip 파일 복사.

  1. NCC_Onprem_12_2_Installer.zip을 모든 노드의 홈 디렉터리에 복사합니다.
    예: scp  NCC_Onprem_12_2_Installer.zip -i ssh_key.pem  my-user@webrtc.corp.example.com:/home/my-user/

  2. 선택적으로 Jarsigner를 사용하여 다운로드한 서명된 zip을 확인합니다. Jarsigner는 JAVA의 일부로 설치됩니다.

    1. [ java -version ] 명령을 사용하여 JAVA가 설치되어 있는지 확인합니다. Java가 설치되어 있으면 JAVA 버전을 출력으로 얻습니다.
    2. 컴퓨터에 Java가 없으면 JAVA를 설치합니다.
      sudo yum install java-1.8.0-openjdk-devel 
    3. 이제 터미널 창에서 아래 명령을 복사하고 Enter를 클릭합니다.
      jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip
    4. 확인 출력에는 다음이 포함됩니다.
      • zip 파일 내부 목록
      • 인증을 위한 Adobe의 인증서 정보
      • 출력 성공 메시지("jar가 확인됨") 또는 실패 메시지("jar가 확인되지 않음")
    5. 인증서 정보가 유효하고 확인 성공 출력 메시지가 표시되면 사용자는 zip 콘텐츠를 사용한 다음 설치를 계속할 수 있습니다. 그렇지 않은 경우 Adobe 지원에 문의해야 합니다. 
  3. ZIP의 압축을 풉니다. 파일에 적절한 권한이 있는지 확인합니다.
    다음 명령을 사용합니다. 명확하게 지정된 경우가 아니면 root/sudo 액세스 권한으로 명령을 실행하지 마십시오.

    NCC_Onprem_12_2_Installer.zip
    의 압축을 풉니다
    설치 관리자 상위 디렉터리로 이동합니다. 예:
    cd  ~/ncc-onprem-installer/
    sudo chmod +x ExternalDependencies/install.sh
    sudo chmod +x MainInstall.sh
    sudo chmod +x check-connectivity.sh
    sudo chmod +x uninstall.sh

  4. 종속성 설치 스크립트 실행.

    설치 관리자 상위 디렉터리로 이동합니다. 예를 들면
    ~/ncc-onprem-installer/디렉터리에 있는지 확인합니다.
    bashExternalDependencies/install.sh를 실행합니다. 그러면 상자에 필요한 모든 외부 종속성이 설치됩니다. 

    이 작업은 노드당 한 번 필요합니다.

참고:

업그레이드 프로세스에는 다운타임이 필요합니다.

신호 노드 

신호 노드에서는 일반적으로 다음 서비스를 실행합니다. 각 서비스는 docker 컨테이너로 실행됩니다. 

  • config(구성 서비스)
  • cas(새 Connect API 서비스)
  • apigw(API 게이트웨이/라우터)
  • liveswitcher-gateway(WebRTC 게이트웨이 서비스)

절차

  1. 구성 파일 편집

    1. ncc-onprem-installer/Config/config.conf에 있는 구성 파일을 편집합니다. 파일 편집 지침이 구성 파일에 주석으로 추가됩니다. 이 파일은 각 호스트에 대해 개별적으로 편집해야 합니다. 이전 설치의 config.conf 파일을 참조로 사용할 수 있습니다. 새 파일을 이전 파일로 대체하지 마십시오. 최신 버전에는 중요한 업데이트가 있습니다. 
    2. 이제  ncc-onprem-installer/Config/containers.conf를 편집합니다. 파일 편집 지침은 파일에 주석으로 추가됩니다. 이 파일은 각 호스트에 대해 개별적으로 편집해야 합니다.  
    3. 신호 노드를 업그레이드할 때 일반적으로 다음을 설치합니다. 
      • casServer
      • configService
      • apiGateway
      • gatewayServer
    4. 이전 설치의 파일을 참조하여 설치될 서비스와 배포될 컨테이너 수를 확인하십시오. 이전에 설치된 모든 서비스에 대해 count=1을 설정하고 다른 모든 서비스에 대해서는 0을 설정합니다. 
    5. 중요: Config.conf 파일을 변경한 후 또는 최신 설치 관리자 버전을 사용하여 업그레이드할 때 configService에 대해 restart=1을 설정하십시오. 
    6. 중요: 업그레이드할 때 배송된 Redis 및 Postgres 데이터베이스는 설치되지 않으므로, containers.conf 파일에서 해당 카운트를 0으로 유지하십시오. 
  2. 기본 설치 관리자 디렉터리(cd ~/ncc-onprem-installer/ )로 전환합니다 
    기본 설치 관리자 스크립트(bash MainInstall.sh)를 실행합니다 . 설치 관리자는 서비스를 최신 버전으로 자동 업그레이드합니다. 확인 메시지를 기다립니다. 
    성공 메시지:
                    2023-01-31 18:21:34,033 : INFO : Main : 55 : 설치 성공. 
    실패 메시지:
                  2023-01-31 20:04:44,849 : ERROR : Main : 59 : 설치 실패. 자세한 내용은 installer.log를 참조하십시오. 
  3. 설치 확인 

    • 상태 검사 API 
      노드의 상태를 확인하려면 URL http://<private_ip>:18443/health를 찾아볼 수 있습니다. 정상 응답은 200 OK {"apigw":"ok"}이어야 합니다. RedHat 컴퓨터에서 확인하려면 CURL 명령을 사용할 수 있습니다.
      예: curl -v http://172.31.56.203:18443/health
    • 컨테이너 상태 확인
      터미널 창에서 docker ps 명령을 실행합니다.
      아래와 같은 출력과 STATUS(상태)는 컨테이너에 대해 다시 시작하지 않아야 합니다.

    컨테이너 상태

미디어 서버 노드

미디어 노드에서 다음 서비스를 실행합니다.

  • liveswitch-media-server(미디어 서버) – 고급 오디오/비디오용
  • liveswitch-sip-connector(SIP 서비스) – SIP 사용

절차

  1. 구성 파일 편집.

    1. config.conf 파일을 편집하거나 신호 노드, ~/ncc-onprem-installer /Config/config.conf에서 이 파일을 복사합니다. 이전 설치의 config.conf 파일을 참조로 사용할 수 있습니다. 새 파일을 이전 파일로 대체하지 마십시오. 최신 버전에는 중요한 업데이트가 있습니다.

      참고:

      제한된 환경에 있는 경우 gatewayServer 섹션에서 externalStunUrls0 및 externalStunUrls1에 대한 항목을 비워 둡니다. 예: externalStunUrls0="" , externalStunUrls1="" 

    2. 이제 ~/ncc-onprem-installer/Config/containers.conf를 편집합니다. 파일 편집 지침은 파일에 주석으로 추가됩니다.
    3. 이제 ~/ncc-onprem-installer/Config/containers.conf를 편집합니다. 파일 편집 지침은 파일에 주석으로 추가됩니다.

    4. 미디어 서버 노드에서 다음을 업그레이드합니다. 

      • mediaServer
      • sipServer(SIP/전화 연결이 필요한 경우)
    5. 이전 설치의 파일을 참조하여 설치될 서비스와 배포될 컨테이너 수를 확인하십시오. 이전에 설치된 모든 서비스에 대해 count=1을 설정하고 다른 모든 서비스에 대해서는 0을 설정합니다. 

    6. mediaServer 블록에서 mediaNodePublicIP 및 mediaNodePublicFQDN에 대한 값을 업데이트합니다. 자세한 내용은 인라인 댓글을 참조하십시오.

  2. 기본 설치 관리자 스크립트(
    )를 실행합니다  기본 설치 관리자 디렉터리(cd ~/ncc-onprem-installer/
    )로 전환합니다  기본 설치 관리자 스크립트(bash MainInstall.sh)를 실행합니다. 설치 관리자는 서비스를 최신 버전으로 자동 업그레이드합니다. 확인 메시지를 기다립니다.
    성공 메시지:
                    2023-01-31 18:21:34,033 : INFO : Main : 55 : 설치 성공. 
    실패 메시지:
                   2023-01-31 20:04:44,849 : ERROR : Main : 59 : 설치 실패. 자세한 내용은 installer.log를 참조하십시오. 

    문제 해결 섹션을 참조하십시오.

  3. 설치 확인

    터미널 창에서 docker ps 명령을 실행하고 liveswitch-media-server 및 liveswitch-sip-connector(선택적 설치) 컨테이너가 실행 중인지 확인합니다.

레코딩 노드

레코딩 노드는 개인 네트워크에서 실행해야 합니다. 레코딩 노드에서 하나 이상의 인스턴스를 실행할 수 있습니다. 
hcr(레코딩 컨테이너. hcr 컨테이너 수는 실행할 수 있는 동시 레코딩 수와 같습니다.)

절차

  1. 구성 파일 편집 

    1. config.conf 파일을 편집하거나 신호 노드, ~/ ncc-onprem-installer /Config/config.conf에서 이 파일을 복사합니다. 이전 설치의 config.conf 파일을 참조로 사용할 수 있습니다. 새 파일을 이전 파일로 대체하지 마십시오. 최신 버전에는 중요한 업데이트가 있습니다. 
    2. 이제  ~/ncc-onprem-installer/Config/containers.conf를 편집합니다. 파일 편집 지침은 파일에 주석으로 추가됩니다. 
    3. 레코딩 서버 노드에 다음을 업그레이드합니다. 
      • recordingContainer
    4. 이전 설치 디렉터리의 containers.conf를 참조하고 recordingContainer에 대한 카운트에 동일한 값을 설정하고 다른 모든 서비스에는 0을 설정하십시오. 
  2. 기본 설치 관리자 스크립트 실행.
    기본 설치 관리자 디렉터리(cd ~/ncc-onprem-installer/ncc-onprem-installer/ 
    )로 전환합니다 기본 설치 관리자 스크립트(bash MainInstall.sh)를 실행합니다. 설치 관리자는 서비스를 최신 버전으로 자동 업그레이드합니다. 확인 메시지를 기다립니다. 
    성공 메시지:
                   2023-01-31 18:21:34,033 : INFO : Main : 55 : 설치 성공. 
    실패 메시지:
                2023-01-31 20:04:44,849 : ERROR : Main : 59 : 설치 실패. 자세한 내용은 installer.log를 참조하십시오.

    문제 해결 섹션을 참조하십시오.

  3. 설치 확인

    터미널 창에서 docker ps 명령을 실행하고 hcr 컨테이너가 실행 중인지 확인합니다.

CPS(Adobe Connect 서비스)의 고급 오디오-비디오 구성

모든 Adobe Connect 12(CPS) 서버에서 다음 단계를 수행해야 합니다.

  1. <Installation_Dir>/Connect/custom.ini에 있는 모든 Connect 서버의 custom.ini에서 아래 구성을 추가합니다.
    # 쉼표로 구분된 CAS 디렉터리 URL 목록
    # 가능한 값
    WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Node IP >:18443/api/cps/ingest
    WEBRTC_CAS_DISCOVERY_URLS=http://<Load Balancer URL>/api/cps/ingest
    # CAS에 대한 요청 서명에 사용되는 CAS용 공유 비밀. 신호 노드의 config.conf 파일에서 hmac 섹션 아래에 설정한 값을 입력합니다.
    WEBRTC_CAS_SHARED_SECRET=CorrectHorseBatteryStaple
  2. 파일을 저장하고 connectpro 서비스를 다시 시작합니다.

설치 후 프로세스

  1. 네트워크 연결 확인

    연결 테스트 워크플로를 실행하여 다른 노드 간의 네트워크 연결을 확인합니다. 

    1. 신호 노드에 로그인합니다.
    2. 설치 관리자 상위 디렉터리로 이동합니다. 예:
      cd ~/ncc-onprem-installer/ncc-onprem-installer/
    3. bash check-connectivity.sh
      명령을 실행합니다.
    4. 연결 도구는 Config.conf 파일에서 제공된 값을 사용하여 다음과 같은 기본 네트워크 테스트를 실행합니다. 
      • 서로 다른 서비스 간의 HTTP 요청 
      • 필수 TCP 및 UDP 포트에 대한 네트워크 연결 테스트
      • 이름 확인
      • 데이터베이스 연결
    5. 이 테스트는 노드와 서비스 간의 필수 연결을 확인하고 결과를 공유하여 네트워크 연결 문제를 진단하는 데 도움을 줍니다.
  2. 고급 오디오-비디오로 Adobe Connect 회의 테스트 

    1. 새 회의를 만들고 고급 오디오/비디오 옵션이 선택되어 있는지 확인합니다.
    2. 회의실에 참여하고 마이크와 카메라를 켭니다.
    3. 가능한 경우 다른 PC 또는 모바일 장치에서도 회의실에 참여하고 오디오-비디오 교환을 확인합니다.
    4. 화면 공유를 시도합니다.    
    5. 레코딩을 시작합니다. 30초 동안 기다렸다가 중지합니다. 이제 레코딩에 액세스할 수 있는지 확인합니다.

추가 기능 설정 

SIP 구성 

SIP를 구성하려면 FM 관리 웹 패널에 액세스해야 합니다. 

  1.  http://<your-load-balancer-address>:9090/admin으로 이동하여 config.conf에 구성된 사용자 이름과 암호로 로그인합니다. Load Balancer를 사용하지 않으면 http://<Signalling_Node-address>:9090/admin을 찾아봅니다.
  2. 응용 프로그램과 adobeconnect로 이동한 다음 채널로 스크롤합니다.
    default (*)  및 broadcast-* 채널 그룹 모두에 대해 SIP 아웃바운드 호출자 ID 구성을 구성합니다.
    SIP 아웃바운드 호출자 ID 구성

  3. 주 메뉴에서 배포로 이동하고 SIP 구성을 편집합니다. 

    SIP 구성

FM 관리자에게 TURNS 인증서 업로드 

TURNS 바인딩에 대한 SSL 종료를 제공하려면 인증서를 FM 관리 패널에 업로드합니다.

인증서는 PFX  형식이어야 합니다.

다음 단계를 따르십시오.

  1.  http://<your-load-balancer-address>:9090/admin으로 이동하여 config.conf에 구성된 사용자 이름과 암호로 로그인합니다. Load Balancer를 사용하지 않으면 http://<Signalling_Node-address>:9090/admin을 찾아봅니다.

  2. 인증서로 이동합니다. 

  3. 파일 인증서에서 + 기호를 선택하고 사용 중인 도메인 인증서를 업로드합니다. 

TURNS 바인딩 구성 

TURNS 바인딩 구성은 안전한 TURN 통신을 위해 필요합니다.

이전 섹션에서 설명한 대로 인증서를 이미 업로드한 경우 다음 단계를 수행하십시오.

  1. 배포로 이동한 다음, 기본값을 선택합니다. 

  2. 고급 구성 섹션으로 스크롤합니다.

  3. 이전에 업로드한 인증서로 TURNS 바인딩 을 구성합니다.

    TURNS 바인딩 구성

설치 제거

  1. 설치 관리자 루트 디렉터리(루트 디렉터리에 uninstall.sh 포함)로 변경합니다.  cd ~/ncc_onprem_installer

  2. bash uninstall.sh를 실행합니다.

  3. 신호 노드에서 Postgres 및 Redis 데이터베이스 데이터 디렉터리를 제거하려면 아래 명령을 실행하십시오.

    sudo rm -rf ~/connect  

참고:

이렇게 하면 시스템에서 모든 NCC 구성 요소와 이미지가 제거됩니다. 그러나 외부 종속성(Python, PIP, Virtualenv 및 Python 패키지)은 삭제되지 않습니다. 

문제 해결

docker.errors.DockerException: 서버 API 버전을 가져오는 중 오류 발생: ('연결 중단됨.', FileNotFoundError(2, '해당 파일 또는 디렉터리 없음'))

DOCKER_HOST 환경 변수가 제대로 설정되지 않은 경우 이 오류 메시지가 표시됩니다. 다음 단계를 따르십시오.

  1. 설치 관리자 상위 디렉터리로 이동합니다. 예:
    cd ~/ncc-onprem-installer/
  2. source ~/.bash_profile 명령을 실행합니다.

위의 단계를 수행해도 문제가 해결되지 않으면 아래 단계를 따르십시오.

  1. Podman 제거, sudo yum remove podman-remote 
  2. 현재 사용자에서 로그아웃한 다음 다시 로그인합니다.
  3. 설치 관리자 상위 디렉터리로 이동합니다. 예:
    cd  ~/ncc-onprem-installer/
  4. bash ExternalDependencies/install.sh를 실행합니다.
참고:

명확하게 지정된 경우가 아니면 root/sudo 액세스 권한으로 명령을 실행하지 마십시오.

2023-03-22 03:27:12 : ERROR : Main : 48 : Postgres를 시작하지 못했습니다.

이 오류 메시지는 Postgres docker 컨테이너가 권한 문제로 인해 호스트 볼륨을 마운트할 수 없을 때 표시됩니다. 다음 단계를 따르십시오.·         

  1. 설치 관리자 상위 디렉터리로 이동합니다. 예:
    cd ~/ncc-onprem-installer/
  2. docker load -i images/postgres.tar.gz 명령을 실행합니다.
  3. 그리고 다음을 실행합니다.
    docker run -d \
    --env POSTGRES_PASSWORD='PostPass1234' \
    --volume  ~/connect/postgres/data:/var/lib/postgresql/data \
    --publish 5432:5432 \
    --network host \
    --user 0 \
    --restart always \
    --name postgres \
    docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.2
  4. 이렇게 하면 호스트 디렉터리의 권한 문제가 해결됩니다.
  5. 이제 아래 명령을 실행하여 Postgres docker 컨테이너를 제거합니다.
    docker rm -f postgres
  6. 마지막으로, MainInstaller를 다시 실행합니다.
    bash MainInstall.sh 

미디어 서버에는 1:1 NAT가 필요합니다. 즉, 인터넷용 미디어 서버의 모든 트래픽 송신 및 수신에 공용 IP를 사용해야 합니다. 라우터나 방화벽에서 미디어 서버에 대해 1:1  NAT를 구성하면 미디어 서버는 STUN 프로토콜을 사용하기 위해 공용 IP를 자동 검색합니다 WebRTC 게이트웨이의 관리자 인터페이스로 이동하여 미디어 서버가 공용 IP 주소를 감지할 수 있는지 확인하십시오. 

https://adminwebrtc.yourdomain.com/admin/#/servers

1:1 NAT가 제대로 작동한 후에도 클라이언트에서 미디어 서버에 연결할 수 없음

WebRTC 클라이언트는 ICE를 사용하며 아래 순서대로 미디어 서버와 오디오-비디오 스트림을 설정하려고 시도합니다.

  • 포트 범위 35000~65535의 UDP 

  • 포트 3478을 통한 TCP

  • 포트 443을 통한 TLS 

  • C12 WebRTC 기반 클라이언트는 포트 443을 통해 TLS로 전환하기 전에 모든 옵션(TCP 및 UDP) 시도

Connect 12.2은 기본적으로 CPS와 WebRTC 및 NCC(새로운 연결 클러스터)가 동일한 VLAN/VPC 또는 브로드캐스트 도메인에 있다는 가정하에 설계되었습니다. 다른 네트워크에 있는 경우 CPS와 NCC/WebRTC 간에 적절한 레이어 3 라우팅이 있는지 확인하여 양방향으로 네트워크를 연결하십시오. 

CPS와 NCC 간의 네트워크 연결을 확인하려면 CURL과 Telnet을 사용하십시오. 

CPS와 NCC는 HTTPS를 통해서만 연결할 수 있습니다.

아래 오류가 FMGW 컨테이너 로그에 표시됩니다. 두 번째 Redis 인스턴스는 복제본으로 실행되도록 설정됩니다. 

ERROR [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z 대기 스레드에 예기치 않은 오류가 발생했습니다. 
StackExchange.Redis.RedisServerException: READONLY 읽기 전용 복제본에 대해 쓸 수 없습니다. 

해결 방법:  

Redis 서비스에 해당하는 구성 파일을 열고 'slave-read-only' 속성값을 'no'로 수정합니다. 

대안으로 아래 단계를 따르십시오.

  1. cd ncc-onprem-installer.
  2. mv Images images.
  3. sed -i 's/Images\//images\//' Installer/utils/global_constants.py.
  4. 제거 - uninstall.sh를 실행합니다.
  5. 다시 설치 - MainInstall.sh를 실행합니다.       

현재는 로그의 유입 DB 예외를 무시할 수 있습니다.

인스턴스를 재부팅하고 docker 컨테이너를 다시 시작한 후 cas 컨테이너에 대한 로그를 확인하면 예외가 표시됩니다.

이 문제를 해결하려면 cas 컨테이너를 다시 시작하십시오. docker restart cas를 입력합니다.

상세 내용

Adobe, Inc.

쉽고 빠르게 지원 받기

신규 사용자이신가요?