피드로 돌아가기
Dev.toBackend
원문 읽기
관리형 Media Plane 도입으로 세션당 $0.20의 초저비용 1:1 화상통화 구현
Videollamadas 1:1 en ~180 líneas de backend a $0.20 por sesión, no necesitas más
AI 요약
Context
SaaS 기반의 과도한 구독 비용과 WebRTC 직접 구현에 따른 STUN/TURN 서버 및 코덱 관리의 높은 공수 사이의 Trade-off 발생. 단순 1:1 통화 기능을 위해 복잡한 시그널링 서버를 직접 운영하는 대신 인프라 관리 부담을 최소화하는 전략 필요.
Technical Solution
- AWS Chime SDK의 Managed Media Plane을 채택하여 미디어 라우팅과 SFU 관리를 외주화하고 서버는 오직 오케스트레이션 및 액세스 제어만 수행하는 구조 설계
ExternalMeetingId와ExternalUserId에 서비스 자체 DB ID를 매핑하여 Managed 서비스 로그와 내부 데이터 간의 상관관계 확보 및 디버깅 효율성 증대- 클라이언트의 중복 요청으로 인한 자원 낭비를 방지하기 위해 Join 및 Attendee 생성 로직에 Idempotency 보장 설계 적용
- 비정상 종료된 세션으로 인한 비용 폭증을 막기 위해 60분 강제 종료 Worker(Reaper)를 도입하여 비용 상한선(Cost Cap) 설정
- 서버 사이드에서
MAX_ATTENDEES = 2제약을 강제하여 UI 우회 접속을 차단하는 보안 모델 적용 - Host 권한 기반의 녹화 시작 트리거와 S3 private 저장소 및 90일 Lifecycle 정책을 통한 데이터 거버넌스 구축
실천 포인트
1. 관리형 서비스 이용 시 비용 폭증 방지를 위한 자동 종료 Worker(Reaper) 설계 여부 확인
2. 외부 API 연동 시 추적 가능성을 위해 내부 시스템 ID를 외부 서비스의 Correlation ID로 전달하는지 검토
3. 클라이언트 요청의 Idempotency를 보장하여 중복 자원 생성을 방지하는 로직 구현
4. 비즈니스 제약 조건(인원 제한 등)을 클라이언트가 아닌 서버 사이드에서 강제하는지 확인