본문 바로가기
카테고리 없음

[OpenVidu] EC2에서 OpenVidu 배포하기 (화상 회의)

by 웅대 2023. 11. 1.
728x90
반응형

https://growth-coder.tistory.com/257

 

[WebRTC] WebRTC, KMS, OpenVidu 개념

WebRTC는 브라우저 간에 플러그인의 도움 없이 통신할 수 있도록 설계된 API이다. 즉 따로 소프트웨어를 설치할 필요가 없이 여러 종류의 데이터들을 교환할 수 있게 해준다. WebRTC는 다음 그림과

growth-coder.tistory.com

이전 포스팅에서 기본적인 WebRTC, KMS, OpenVidu의 개념에 대해서 알아보았다.

 

이번에는 OpenVidu를 사용해서 화상 회의 웹 사이트를 배포해보려고 한다.

 

그 전에 OpenVidu 애플리케이션 아키텍처에 대해서 알아보자.

 

OpenVidu 아키텍처

아래 링크의 공식 문서를 살펴보면 OpenVidu 아키텍처에 대해서 자세하게 설명되어 있다.

https://docs.openvidu.io/en/2.29.0/developing-your-video-app/

 

Developing your video app - OpenVidu Docs

From here you can search these documents. Enter your search terms below.

docs.openvidu.io

자세한 내용은 위 문서를 참고하고 간단하게 정리해보자.

 

1. OpenVidu deployment

실시간으로 오디오, 비디오 스트리밍에 필요한 모든 인프라를 제공한다.

 

이전 포스팅에서 WebRTC, KMS에 대해서 알아볼 때 실시간으로 미디어 스트리밍을 하기 위해서 여러 제한이 있다고 했었다.

 

그래서 signaling server, stun server, turn server, media server 등등을 추가로 구축해야 원활한 미디어 스트리밍이 가능하다.

 

이를 직접 구축해도 되지만 OpenVidu를 사용하면 필요한 모든 것들을 구축해준다.

 

위 아키텍처에서 OpenVidu deployment가 이를 담당한다.

 

2. application server

OpenVidu를 배포했다면 애플리케이션 서버에서 SDK 또는 REST API를 통해서 이를 사용할 수 있다.

 

SDK 또는 REST API를 통해서 세션을 생성하고 이 세션에 참가할 유저만큼 커넥션을 생성한다.

 

그리고 세션에 연결할 수 있도록 토큰을 클라이언트에게 준다.

 

3. application client

클라이언트는 토큰을 openvidu-browser.js를 사용해서 세션에 연결하고 stream을 게시할 수 있다.

 

이제 OpenVidu를 배포해보자.

 

OpenVidu 배포

OpenVidu를 배포하기 위해서는 docker, docker-compose, SSL/TLS 인증서에 대한 개념을 이해하고 오는 것을 추천한다.

(몰라도 아래 과정을 따라한다면 배포 할 수는 있긴 하다.)

 

<docker 설명>

https://growth-coder.tistory.com/216

 

[Docker] 도커 개념 및 사용법

프로젝트를 진행하면서 로컬에서 잘 작동하던 프로젝트가 서버에 배포하면 잘 작동하지 않을 수 있다. 수많은 원인이 존재하겠지만 라이브러리 버전이 다르다거나 네트워크 환경이 다르다거나

growth-coder.tistory.com

<docker-compose 설명>

https://growth-coder.tistory.com/230

 

[Spring] 스프링 부트 Redis를 사용하여 refresh token 저장하기 (2) - docker-compose 사용법

https://growth-coder.tistory.com/228 [Spring][Redis] 스프링 부트에서 redis 연동 및 RedisTemplate 사용법 이번 포스팅에서는 스프링 부트에서 redis와 연동하고 값을 저장해보려고 한다. 먼저 스프링 부트에 redis

growth-coder.tistory.com

<https 설명>

https://growth-coder.tistory.com/261

 

EC2 인스턴스는 이미 실행 중이라는 가정 하에 진행한다.

 

AMI는 Amazon Linux 2023을 사용하여 만들었다. (패키지 관리 명령어 yum 사용)

 

먼저 docker와 docker-compose를 설치해야 한다.

 

1. 루트 권한 획득
sudo su

2. docker 설치

yum install docker 

3. docker-compose 설치
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

4. docker-compose 실행 권한 주기
chmod +x /usr/local/bin/docker-compose

5. docker 실행
 service docker start

openvidu를 배포해보자.

1. /opt 디렉토리로 이동
cd /opt

2. 스크립트 실행
curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_openvidu_latest.sh | bash 

3. openvidu 디렉토리 이동
cd openvidu

4. .env 파일 편집
vi .env

설정 파일인 .env 파일을 편집하기에 앞서 유효한 도메인 혹은 public ip 주소(aws 기준 탄력적 ip 주소)이 필요하다.

 

도메인이 없다면 탄력적 ip 주소를 사용하고 도메인이 있다면 도메인을 사용하자.

 

나는 옛날에 사용하고 남은 도메인이 있어서 도메인을 사용했다.

 

텍스트 에디터로 .env 파일을 편집하자.

 

모든 준비가 끝났고 ./openvidu start 명령어를 작성하여 실행해보자.

도메인 이름으로 접속해보자.

728x90
반응형

댓글