Agora의 기업 방화벽 우회 전략 — Cloud Proxy와 Firewall Whitelist
Agora는 자체 솔루션 Cloud Proxy로 기업 방화벽을 우회합니다. Firewall Whitelist(도메인·포트)와 Cloud Proxy(TCP 443, SD-RTN®) 두 가지 방식을 정리합니다.
목차(15개 항목)
- Agora가 제공하는 두 가지 방식
방식 1 — Firewall Whitelist (도메인 + 포트 허용)
방식 2 — Cloud Proxy (클릭 시 시각화)
- SD-RTN® 이란?
- 핵심 요약
Cloud Proxy 역할 상세
- Firewall Whitelist만으로 충분한가?
- Firewall Whitelist 설정
Agora는 자체 솔루션으로 기업 방화벽을 우회합니다. 핵심은 Cloud Proxy입니다. 이 글에서는 Agora가 제공하는 두 가지 방식(Firewall Whitelist, Cloud Proxy)과, 언제 어떤 방식을 쓰면 되는지 정리합니다.
Agora가 제공하는 두 가지 방식
| 방식 | 설명 |
|---|---|
| 방식 1 | Firewall Whitelist — 도메인·포트 허용 |
| 방식 2 | Cloud Proxy — (제한된 환경용) |
방식 1 — Firewall Whitelist (도메인 + 포트 허용)
"IP 말고 도메인으로 허용해라"가 핵심입니다. 일반 TURN은 IP를 허용해야 하는데, Agora는 도메인 기반 허용을 권장합니다.
허용해야 할 도메인 (예시)
포트 허용
| 포트 | 타입 | 용도 |
|---|---|---|
| 443, 80 | TCP | 기본 통신 (HTTPS 포트라 거의 안 막힘) |
| 3478 | UDP | TURN 표준 포트 |
| 4700~5000 | UDP/TCP | 미디어 전송 |
| 6443 | TCP | 보안 연결 |
IP가 아닌 도메인으로 허용하는 이유 → Agora 서버 IP는 수시로 바뀌기 때문에 IP 고정 허용이 불가능합니다.
방식 2 — Cloud Proxy (클릭 시 시각화)
화이트리스트도 못 하는 제한된 환경을 위한 솔루션입니다.
- 일반 WebRTC TURN: 클라이언트 → TURN 서버 → Peer
- Agora Cloud Proxy: 클라이언트 → Cloud Proxy → Agora SD-RTN® → 상대방
동작 흐름
- SDK가 Cloud Proxy에 연결 요청
- Cloud Proxy가 프록시 정보 반환
- SDK → Cloud Proxy → Agora SD-RTN® (Agora 글로벌 네트워크)
- SD-RTN® → Cloud Proxy → SDK (역방향)
코드 한 줄로 활성화
일반 TURN vs Agora Cloud Proxy
| 항목 | 일반 TURN | Agora Cloud Proxy |
|---|---|---|
| IP 허용 | 고정 IP 필요 | ❌ 불필요 (도메인 기반) |
| 포트 | 3478 (UDP) | 443 (TCP, HTTPS 포트) |
| 방화벽 우회 | 어려움 | 443 포트라 거의 통과 |
| 설정 | 복잡 | SDK 한 줄 |
| 네트워크 | 단순 중계 | Agora 글로벌 SD-RTN® 경유 |
SD-RTN® 이란?
SD-RTN = Software Defined Real-Time Network
Agora가 전 세계에 구축한 자체 미디어 전송 네트워크입니다. 일반 인터넷이 아닌 Agora 전용 백본망으로 데이터를 전송합니다.
핵심 요약
기업 방화벽에서 Agora가 살아남는 이유:
- 도메인 허용 → IP가 바뀌어도 문제 없음
- 443 포트 사용 → 거의 모든 방화벽이 HTTPS 포트는 열어둠
- Cloud Proxy → 극단적 제한 환경에서도 SDK 한 줄로 우회
- SD-RTN® → 일반 인터넷 대신 Agora 전용망 사용 → 안정성 ↑
Cloud Proxy 구조 시각화 (클릭 시 시각화)
Cloud Proxy 역할 상세
① 고정 진입점 제공 — 왜 필요한가?
Agora 일반 연결
- SDK →
*.agora.io→ 실제 서버 IP (1.2.3.4 or 5.6.7.8 or …) - 이 IP가 계속 바뀜 (글로벌 로드밸런싱)
기업 방화벽 입장: "어? 오늘은 1.2.3.4, 내일은 5.6.7.8… 어떤 IP를 허용해야 해?" → IP 기반 방화벽은 사실상 허용 불가
Cloud Proxy 연결
- SDK → Cloud Proxy (고정 IP 대역) → SD-RTN®
- 이 IP 대역만 방화벽에 등록하면 끝 (예: 148.153.x.x 대역만 허용)
핵심: Agora 전체 인프라 IP를 허용할 필요 없이, Cloud Proxy IP 대역만 허용하면 됩니다.
② 프로토콜 변환 — 구체적으로
기업 내부망 상황
- UDP 3478 → ❌ 차단
- UDP 4700~5000 → ❌ 차단
- TCP 443 → ✅ 허용 (HTTPS니까)
Cloud Proxy가 하는 일
즉, 클라이언트는 TCP 443으로 보내고, Cloud Proxy가 내부적으로 UDP로 변환해서 SD-RTN®에 전달합니다.
setCloudProxy(TRANSPORT_TYPE_TCP_PROXY)→ 클라이언트는 TCP 443 사용- Cloud Proxy 내부에서 변환
- SD-RTN®는 UDP로 수신 (성능 최적화)
Firewall Whitelist만으로 충분한가?
| 환경 | Whitelist 충분? | 이유 |
|---|---|---|
| 일반 기업 (도메인 허용 가능) | ✅ 충분 | *.agora.io 도메인 + 포트만 열면 됨 |
| UDP 전체 차단 기업 | ❌ 부족 | UDP 못 쓰면 미디어 전송 불가 |
| IP 기반 방화벽 (도메인 불가) | ❌ 부족 | Agora IP가 동적이라 허용 불가 |
| 병원 / 은행 / 군 | ❌ 부족 | Cloud Proxy 필수 |
Firewall Whitelist 설정
기업 IT 관리자에게 아래를 요청하면 됩니다.
도메인 허용
포트 허용
- TCP: 80, 443, 3433, 4700~5000, 5668, 5669, 6080, 6443, 8667, 9667
- UDP: 3478, 4700~5000
결론: Whitelist는 IT팀이 협조적이고 도메인 허용이 가능한 환경에서만 충분합니다. 그 외에는 Cloud Proxy가 필요합니다.
실제 데모
/agora-demo/rtc