Notice
Recent Posts
Recent Comments
Link
투케이2K
108. (Aws/Amazon) [Aws Kinesis Video Streams] Aws KVS WebRTC 채널 생성 및 삭제에 관한 요금 정책 정리 본문
Aws (Amazon)
108. (Aws/Amazon) [Aws Kinesis Video Streams] Aws KVS WebRTC 채널 생성 및 삭제에 관한 요금 정책 정리
투케이2K 2025. 9. 4. 19:17728x90
[개발 환경 설정]
개발 환경 : Aws / Amazon Web Services

[설명 정리]
// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------
- 인프라 : Aws / Amazon Web Services
- 기술 구분 : Aws / Aws Kinesis Video Streams / WebRTC
- 사전) AWS KVS WebRTC 설명 :
>> WebRTC 란 웹, 애플리케이션, 디바이스 간 중간자 없이 오디오나 영상 미디어를 포착하고 실시간 스트림할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술입니다
>> WebRTC 는 간단한 API 를 통해 웹 브라우저, 모바일 애플리케이션 및 커넥티드 디바이스 간에 실시간 통신을 활성화할 수 있습니다
>> WebRTC 주요 용어 :
- SDP (Session Description Protocol) : 오디오/비디오 코덱, 해상도, 포트 등 스트리밍 정보를 담은 텍스트 포맷
- Offer / Answer : 통신 연결을 협상하기 위한 SDP 메시지 (초기 연결 설정)
- ICE (Interactive Connectivity Establishment) : NAT/P2P 환경에서도 연결 가능한 경로(IP, 포트 등)를 찾기 위한 기술
- Candidate : 가능한 연결 경로 (IP + Port 조합)
>> WebRTC [ICE] 연결 형태 :
- Relayed Address : TURN 서버가 패킷 릴레이를 위해 할당하는 주소
- Server Reflexive Address : NAT 가 매핑한 클라이언트의 공인망 (Public IP, Port)
- Local Address : 클라이언트의 사설주소 (Private IP, Port)
>> WebRTC STUN 및 TURN 서버 설명 :
- (같은 와이파이 망) STUN 서버는 HOST 를 거쳐 >> Server Reflexive Address 만을 응답하지만,
(릴레이서버 사용) TURN 서버는 Relayed Address와 Server Reflexive Address 를 모두 응답한다
- STUN, TURN 서버를 이용해 SDP Answer IP주소 를 취득 >> RTCPeerConnection Remote 연결 수행
>> WebRTC SDP 오퍼 생성 (뷰어) 및 응답 (마스터) 스트리밍 플로우 :
[Viewer → Signaling Server] -- SDP Offer --> [Master] : 뷰어는 마스터로 스트리밍 오퍼 신호 보낸다
[Master] -- SDP Answer --> [Viewer] : 마스터는 특정 뷰어의 오퍼 신호 확인 후 응답을 보낸다
[Viewer] -- ICE Candidate --> [Master] : 스트리밍을 할 수 있는 경로 확인
[Master] -- ICE Candidate --> [Viewer] : 스트리밍을 할 수 있는 경로 확인
P2P 연결 성립 → 스트리밍 시작
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------
1. WebRTC 관련 요금 항목 :
>> 활성 신호 채널 (Active Signaling Channels) :
- 요금 : $0.03 / 채널 / 월
- 한 달 동안 한 번이라도 연결된 채널은 "활성" 으로 간주되어 요금이 부과됩니다.
- 신호 채널이 "활성화" 되었다고 간주되는 조건 :
: 뷰어(Viewer) 또는 마스터(Master) 중 하나 이상이 signaling channel에 연결되었을 때
: 연결은 WebRTC signaling 메시지 (예: offer, answer, ICE candidate 등)를 통해 이루어짐
>> 신호 메시지 (Signaling Messages) :
- 요금 : $2.25 / 백만 메시지
- WebRTC 연결을 위한 offer/answer/ICE candidate 등 메시지들이 포함됩니다.
>> TURN 스트리밍 시간 (TURN Streaming Minutes) :
- 요금 : $0.12 / 1,000분
- P2P 연결이 불가능할 때 중계 서버(TURN)를 통해 전달되는 미디어 스트리밍 시간입니다.
2. 신호 채널 생성에 관한 요금 부과 기준 요약 :
>> 신호 채널을 생성만 하고, 한 번도 연결되지 않았다면 요금이 부과되지 않습니다.
>> 한 번이라도 연결되면 "활성 채널" 로 간주되어 월 $0.03 의 요금이 부과됩니다.
>> 활성 채널은 삭제하지 않으면 다음 달에도 계속 요금이 부과됩니다.
>> 즉, 채널을 생성한 후 사용하지 않더라도 삭제하지 않으면 요금이 계속 발생할 수 있습니다.
- 요금은 특정 30일자 기준이 아닌 달이 바뀌는 매월 1일에 요금이 부과됩니다.
- 전달 15일에 채널을 생성하고 사용하더라도 달이 바뀌어 1일이 되면 30일 기간이 되지 않더라도 요금이 부과됩니다
>> 요금 부과 기준 정리 :
------------------------------------------------------------
상태 | 요금 부과 여부 | 설명
------------------------------------------------------------
생성만 하고 사용 안 함 | ❌ 부과되지 않음 | 채널이 한 번도 연결되지 않으면 요금 없음
------------------------------------------------------------
한 번이라도 연결됨 | ✅ 부과됨 | "활성 채널"로 간주되어 월 $0.03 부과
------------------------------------------------------------
삭제됨 | ❌ 부과되지 않음 | 삭제된 채널은 요금 없음
------------------------------------------------------------
3. 채널 생성 및 요금 부과 시나리오 :
-------------------------------------------------------------------------
반복 횟수 | 연결 여부 | 삭제 여부 | 요금 발생 여부
-------------------------------------------------------------------------
5회 | 모두 연결됨 | 모두 삭제됨 | $0.15 (5 × $0.03)
-------------------------------------------------------------------------
5회 | 연결 안 됨 | 모두 삭제됨 | $0.00
-------------------------------------------------------------------------
5회 | 일부만 연결됨 | 모두 삭제됨 | 연결된 채널 수 × $0.03
-------------------------------------------------------------------------
4. WebRTC 비용을 줄이기 위한 방법 :
>> 마스터가 뷰어가 없을 때는 연결을 끊고, 필요할 때만 연결하도록 구성
>> 마스터가 뷰어 연결 여부를 감지해서 자동으로 연결/해제하는 로직 구현
>> 테스트 시에는 채널을 연결하지 않고 생성만 하거나, 하나의 채널을 재사용하는 방식으로 테스트를 구성
>> 장기간 채널을 사용하지 않는 것은 백엔드에서 배치를 돌리며 채널을 삭제하는 로직 구현
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[AWS 공식 요금 페이지]
https://aws.amazon.com/ko/kinesis/video-streams/pricing/
[AWS Kinesis 비디오 스트림 WebRTC 할당량 질의]
https://repost.aws/questions/QU3WL20CA7RTyhzcuiag3JKw/aws-kinesis-video-streams-webrtc-quotas
[AWS WebRTC 서비스 할당량 설명 문서]
https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-limits.html#limits-signaling-service
[자바스크립트 AWS Kvs WebRTC 디바이스 역할 (master) sdp answer 응답 및 실시간 비디오 스트림 전송 수행]
https://blog.naver.com/kkh0977/223863377974
[자바스크립트 AWS WebRTC 실시간 동영상 재생 수행]
https://blog.naver.com/kkh0977/223170500993?trackingCode=blog_bloghome_searchlist
[Aws Kvs WebRTC 실시간 영상 재생 관련 구성 요소 및 용어 정리]
https://blog.naver.com/kkh0977/223858189791
// --------------------------------------------------------------------------------------
728x90
반응형
'Aws (Amazon)' 카테고리의 다른 글
Comments
