LoginSignup
13
10

More than 5 years have passed since last update.

AWS Media Servicesの料金について

Last updated at Posted at 2018-02-28

雑感

AWS Media Servicesを使ってみました。Qiitaの投稿とかみながらぽちぽちやっていましたが、UIがもう変わっていて、なかなか苦労します。配信スタートするまでに2時間ほど掛かりました……
最初はなかなかうまくいかず、同じ設定で全作り直ししたら配信できたりして、何が悪かったのか不明でした。アラートは上がるんですけど、何がアラートなのかをどこで見ることができるのか調べるのも面倒で試行錯誤していました……

M3U8のところで低遅延設定にしてみましたが、配信はなかなか不安定です。設定項目は膨大なので、これはかなり調整をしていかなとダメだなって感じています。AWS Elemental MediaPackageのChannelのEndpointの設定を以下の通りにした場合、

Packager settings Value
Segment duration 1sec
Playlist window duration 5sec

CDNをかませない状態での遅延は約9秒でした。配信側はWirecastの初期設定状態です。MediaLive、MediaPackage、Wirecastという3つの設定を試行錯誤していかないといけないんですね……
この設定だとMediaPackageのEndpointをVLCで視聴していても、たまに止まります。そして数秒してまた再生が再開する感じ。やっぱり5秒だとバッファ足りないのかなって思いました。

料金詳細

本題の料金について。これがまた良く分かりません。なので、ここに書いてみますので、間違っていましたらどなたかご指摘ください!

まず、配信のデータフローとしては以下の通りと認識しています。

Wirecast ---> MediaLive ---> MediaPackage ---> CDN(CloudFront) ---> Web Browser

というわけで、AWSの料金としてはMediaLive、MediaPackage、CloudFrontの料金が掛かることになるのだと思います。順に料金を確認していきます。前提として「リージョンはTOKYO」「アップはフルHD30fps」「ダウンは1280x720x30fps」「配信尺は60分」「視聴者は500人」とします。また、ギガやテラが1000なのか1024なのかは面倒なので、Googleの検索フォームで「3Mbps*60分」などで検索して出た数字をそのまま使っています

MediaLive

料金テーブルはこちらです。いっぱいありますが、前提の通りに抜き出しますと以下の通りとなります。

入力料金

エンコーダからPUSHされたストリームデータを受け取る部分の料金です。ここはトラフィック単価ではなく時間単価になっています。もちろんおおざっぱにビットレートで分けられていますが。

HD画質×10Mbps未満×AVC入力
0.0069 USD/分
74 USD/月

一番使いそうな「HD画質」「10Mbps未満」「AVC入力」を選んでいます。料金ページの料金例を見る限りにおいては、1分単価と1カ月単価は合算されるのではなく、単なる長期割引みたいですね。24時間×365日LIVE配信などの場合は年間契約して月額払いができるみたいな感じかな? 今回は無視して1分単価のみチェックします。

0.0069USD/分 × 60分 = 0.414USD

出力料金

受け取ったデータを様々な解像度×ビットレートに変換して出力する部分の料金です。この先は直接CDNでもOKなのかな?デフォルトではMediaPackageが受け取るみたいですが。

HD画質×10Mbps未満×AVC出力×30fps以下
0.0207 USD/分
222 USD/分

出力で重要なのが「出力の料金の合計は、チャネルで生成されたすべての出力の合計です。」という記述があり、料金例にもある通り、アウトプットが複数ある場合は、それぞれで料金を計算し最後に足し算しています。500kが10本の場合、合算して5Mが1本という計算ではなく、500kの金額の10倍ってことです。たとえば、MediaLiveのOutput設定で「HTTP live streaming」を選択した場合、デフォルトで以下のようなOutputsがプリセットされています。

TN2224(HLS) ピクセル ビットレート
Output 1 416x234 200k
Output 2 480x270 400k
Output 3 640x360 800k
Output 4 768x432 1200k
Output 5 960x540 2000k
Output 6 1280x720 3300k
Output 7 1280x720 5000k
Output 8 1280x720 6500k
Output 9 1920x1080 8000k
Output 10 webvtt -

すべて10Mbps以下ですが、このままの設定で配信すると、単純に料金10倍ってことになりますかね?このプリセットは削除していくこともできるのですが、とりあえずデフォルトのまま動かしたかったのでそのままいくこととします。

0.0207USD/分/Ch × 10ch × 60分 = 12.42USD

IDLE料金

料金表の最下部に「実行状態ではない各チャネルに対して日割り計算で 1 時間あたり 0.01 USD」という記述があります…… 配信後すぐに削除すれば掛かりませんが、普通は配信設定は残しておくことも多いと思います。1日だけ配信すると残り平均して29日は未使用になります。

0.01USD/時 × 24時間 × 29日 = 6.96USD

MediaPackage

料金テーブルはこちらです。こちらもいっぱいありますが、前提の通りに抜き出しますと以下の通りとなります。

ストリームの取り込みに関する料金

MediaLiveから出力されたOutputsを受け取るための料金です。MediaLiveとは異なり、GB単価となっています。そのため、MediaLiveから出力されるファイルサイズを計算してみます。

MediaLive 出力ファイルサイズ

200k × 60分 = 90MB
400k × 60分 = 180MB
800k × 60分 = 360MB
1200k × 60分 = 540MB
2000k × 60分 = 900MB
3300k × 60分 = 1.485GB
5000k × 60分 = 2.25GB
6500k × 60分 = 2.925GB
8000k × 60分 = 3.6GB
webvtt × 60分 = 無視
合計12.33GB

1TB以下ですので、料金表からその部分だけ抜き出します。

1TB/月まで
0.088 USD/GB

もう1つのポイントは、MediaPackageにはメインとバックアップの2系統があることです。常に2chで受信しますので、入力はちょうど2倍となります。

0.088USD/GB × 13GB × 2 = 2.288USD

生成とパッケージ化に関する料金

これはCloudFrontなどのCDNに送出する部分の料金です。こちらもGB単価ですが、どのくらい送出されるかはCDNのヒット率に依存します。まず、視聴者の総受信データサイズを計算します。

視聴者 受信ファイルサイズ

Outputsはwebvttを除いて9つありますが、平均として3Mbpsとした場合を計算します。
3Mbps × 60分 × 500人 = 675GB
この値が、CloudFrontとMediaPackageに効いてきます。

これが全てMediaPackageに来ても1TB未満ですから、料金表はこちら。

1TB/月まで
0.176 USD/GB

視聴者500人程度であればあまり高いキャッシュヒット率は望めません。とりあえず80%とします。その場合、MediaPackageに来るリクエストは20%ですから、675GBのうちの2割をMediaPackageが送出することになります。

0.176USD/GB × 675GB × 0.2 = 23.76USD

CloudFront

こちらはおなじみの料金表です。

インターネットへのリージョンデータ転送送信

最初の10TB/月
0.140 USD/GB

0.140USD/GB × 675GB = 94.5USD

HTTP メソッドのリクエスト料金

HTTPS リクエスト
0.0120 USD/10kReq

5MBごとに1リクエストとします。

0.0120 USD × (675GB÷5MB÷10000) = 0.162USD

料金まとめ

全部足してみます。

MediaLive入力 MediaLive入力 MediaLive IDLE MediaPackage取込 MediaPackage生成 CloudFront転送 CloudFrontリク
0.414USD 12.42USD 6.96USD 2.288USD 23.76USD 94.5USD 0.162USD

合計:140.504USD

結構高いですね…… 一番高いのはCloudFrontですが、だいたいその4-5割増しになる感覚でしょうか。1ドル120円だと17,000円です。500人で割ると1人当たり34円です。

Wowzaとの比較

比較対象として、WowzaをEC2で上げる場合を考えます。現状でEC2のMarketplaceにWowzaがありますので、その料金を確認します。稼働時間は前日+当日の48時間のみとします。CDNを使う前提でベンダー推奨のm3.large×2とします。

15USD/月 + (0.549USD/時 × 48時間) = 41.352USD × 2(Main/Backup) = 82.704USD

CloudFrontを使ってしまうと、Media Servicesの料金よりも高くなってしまいますが、うまくいかないときにも対応のしようがあります。フルマネージドで安いMedia Servicesと、自由に設定できて状況も良く分かるWowza/EC2にするか悩むところですね。

13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10