WEB_RTC 프로젝트 중 프로젝트를 같이 진행하던 분과 테스트를 해보니 STUN 서버만으로는 불가능 하더라구요.
그래서!! TURN 서버를 사용하기로 했습니다.
그래서 AWS EC2에 node express 서버와 함께 코툰(COTURN) 서버를 올렸습니다.
COTURN 서버는 말 그대로 TURN 서버 역할을 하고 있는 친굽니다.
AWS에 COTURN 서버를 설치해 볼까요?~
1. AWS에 코툰 서버 설치
(AWS에 프리티어 생성 및 EC2 생성은 나중에 다루겠습니다.) - 프리티어 만으로도 충분합니다.
1-1 아래와 같이 보안그룹에 EDIT을 눌러 수정페이지로 들어갑니다.
1-2 UDP TCP 3478을 열어주세요
만약에 TLS를 사용한다면 UDP/TCP 5349포트도 를 열어주어야 합니다. 아래 사진처럼 해주시면 되겠습니다.
1-3 EC2에서 Coturn 서버 설치
sudo apt-get -y update
sudo apt-get -y install coturn
1-4 시스템 시작시 코툰 서버 자동 실행
sudo vi /etc/default/coturn
# 을 지워주세요
TURNSERVER_ENABLED=1
1-5 코툰 설정 파일 변경
sudo vi /etc/turnserver.conf
해당 파일을 vi로 열어주세요~
listening-ip=<X.X.X.X>
external-ip=<Y.Y.Y.Y>/<X.X.X.X>
# Lower and upper bounds of the UDP relay endpoints:
# (default values are 49152 and 65535)
min-port=49152
max-port=65535
# Uncomment to run TURN server in 'normal' 'moderate' verbose mode.
# By default the verbose mode is off.
verbose
# Uncomment to use fingerprints in the TURN messages.
# By default the fingerprints are off.
fingerprint
# Uncomment to use long-term credential mechanism.
# By default no credentials mechanism is used (any user allowed).
lt-cred-mech
# Server name used for
# the oAuth authentication purposes
realm=<domain>
# define user and password (usr:pass)
user=<ID>:<PASSWORD>
turnserver.conf 설정에 제가 쓴건 이 정도에요~
listening-ip 는 EC2의 내부 IP를 쓰면 되겠고 EX) <X.X.X.X>
external-ip 는 EC2의 외부 IP EX) <Y.Y.Y.Y> 와 내부IP <X.X.X.X> 를 같이 써주면 됩니다.
EC2 에서 인스턴스를 들어가보면 내부 및 외부 IP를 알수있어요~
아래는 tureserver.conf 세부 옵션을 더 볼 수 있어요~
1-6 마지막으로 서버를 재시작 해주면 끝~
sudo service coturn restart
1.7 그러면 잘 동작하는지 확인을 해봐야겠죠?
sudo service coturn status
1.8 그러면 잘 동작하는지 실제 테스트를 해볼까요?
위 사이트를 들어가서 아래처럼 주소를 입력하고 Gather candidates를 눌러보세요~
위 사진처럼 done이 뜬다면 성공입니다~
한줄 요약 : 코툰을 설치했지만 파일 설정이 귀찮다 하시는분은 커맨드 창에 한줄만 입력하면 OK~
turnserver -L <내부IP> -a -f -r <realm domain> -V -X <외부IP>/<내부IP>
반응형
'Programming Tech > Web-RTC' 카테고리의 다른 글
Web-RTC 정리 (0) | 2021.06.20 |
---|
댓글