🎥
Amazon Kinesis Video Streams with WebRTCについてまとめる(その1)
概要
re:Inventにて、Kinesis Video Streams with WebRTCを扱ったワークショップをしたが、
時間の関係上深く理解できてないので再学習としてまとめる
長くなりそうなのでシリーズに分ける
ドキュメンテーション
Amazon Kinesis Vide Streams(KVS)について
資料はBlackBeltより拝借
超低遅延でのメディアストリーミングと100万台規模のデバイス感での双方向通信をサポート
2種類のストリーミング方法
メディア形式とWebRTCとの使い分け
KVS WebRTCにおける用語
WebRTCの接続フロー
WebRTCとは
リアルタイムコミュニケーションのためのオープンな標準規格
簡易なAPIを経由してブラウザとモバイルアプリケーションとの間でリアルタイム通信(RTC)が可能
メリット
- パソコン、もしくはスマホがあれば利用
- 機材を購入しなくてもできる
- 新しいアプリケーションをインストールする必要がない
- ブラウザの中で完結できる
- 通信がとても軽い
- 「UDPプロトコル」を採用。通信の開始や終了の処理がない分、通信が速くなる。
デメリット
- セキュリティ面
- 通信の軽さを実現している反面、UDPプロトコルのセキュリティ面で信頼性が低下
- セキュアにしたいならSRTプロトコル
- 接続できる人数に限界がある
- 視聴者が増えれば増えるほど配信側のデータ送信の負担も増える
KVS WebRTC用語
シグナリング
接続のメタデータの交換
相互通信-Peer-to-peer(P2P)
Peer-to-peer接続の確率
メディア配信
低遅延でのメディアと任意のデータの双方向通信
暗号化
End-to-endでの暗号化
KVSを利用した構成例
BlackBeltより、ドローン・ロボットでの遠隔制御によるWebRTC構成
WebRTC SDK
WebRTCを備えたKinesis Video Streamには、次のSDKが含まれています。
- 組み込みデバイス用のWebRTC C言語 SDK
- WebRTC Webアプリケーション向けのJavaScriptのSDK
- WebRTC SDK for Android
- WebRTC iOS for SDK
詳細はこちら
WebRTCでのセキュリティ
WebRTCリソースを使用してKinesisビデオストリームを監視および保護について
- WebRTCによるKVSへのアクセスの制御 IAMを使用するリソース
- KVSのコンプライアンス検証 WebRTC
- KVSの回復力 WebRTC
- KVSのインフラストラクチャセキュリティ WebRTC
- KVSのセキュリティベストプラクティス WebRTC
メディアの保存 - データの暗号化と保存期間
これはKVSのメディア形式での場合
- データの暗号化
- 常にサーバーサイドの暗号化が有効になっている
- データはストレージレイヤーに書き込まれる前に暗号化され、ストレージから取得された後に復号される
- ストリームの作成時に、暗号化に使⽤する AWS KMS カスタマーマスターキー
(CMK) を指定できる(あとから変更はできない) - ストリームの作成時にユーザー指定のキーが指定されていない場合は、既定のキー (Kinesis Video Streams が提供) が使⽤される
- データの保存期間
- ストリーム作成時にデータの保存期間を指定できる(あとから変更もできる)
- 設定可能な範囲は、最短は0(保存しない)で最⻑は10年(87600時間)
- データの保存量に応じてサービス利⽤料⾦が発⽣する
今回はここまで
その1はここまでにします
Discussion