|

2025-03-13

Tips

低コストで AWS Elemental MediaLive から MP4 アーカイブを作成してみる ②費用編

AWS動画配信

AWS Elemental MediaLive から MP4 でアーカイブ出力したい

※ 本記事は 低コストで AWS Elemental MediaLive から MP4 アーカイブを作成してみる ①構成編 の続きです。

具体的にどのくらい費用が削減できたのか?

それでは気になる費用を計算してみましょう。比較するのは前記事で登場した下記 3 つのパターンです。今回構築したのはパターン 3 です。

 

  1. MediaLive から TS を出力し、MediaConvert で MP4 へ変換 3

     

  2. MediaLive から TS を出力し、ECS 上の ffmpeg で MP4 へ変換 1

     

  3. MediaLive からは アーカイブ用ファイルを出力せず、ECS 上の ffmpeg で m3u8 を収録 2

     

 

前提条件

費用計算にあたって前提条件を定義しておきましょう。

金額計算対象の範囲は根幹部分における差分に限定します。つまり、CloudWatch へのログ出力や SNS + Chatbot 通知などの根幹以外の部分であったり、共通してほぼ同じ分だけ利用する MediaLive の入力やアーカイブ以外の出力、 Lambda の実行費用は比較対象外とします。AWS の環境としては、全てリザーブドではなくオンデマンド、リージョンは東京とします。また、無料枠があるとややこしいので、同じ AWS アカウントで無料枠は使い尽くされていることとします。

動画の品質については、解像度: 720p / フレームレート: 30fps / コーデック: H.264 (AVC) / ビットレート: 3Mbps で、10 時間配信した場合を考えます。アーカイブされる動画のサイズは 13.5GB 程度になりますね。

 

それでは比較してみます 💰

 

1. MediaLive から TS を出力し、MediaConvert で MP4 へ変換

S3 へのアップロードや S3 → MediaConvert は課金されませんので、

  • MediaLive からシングルパイプラインチャネルでの TS 出力

  • MediaConvert からのコンテンツ出力

が計算対象になります。

「MediaLive からシングルパイプラインチャネルでの TS 出力」は前提条件に当てはめると 0.7452 USD / 時間 x 10時間 = 7.45 USD

「MediaConvert からのコンテンツ出力」は仮に 20,000,000 正規化時間 (分) / 月以上使用していて最安になっていたとしても 600分 x 2 = 1,200 正規時間 (分) x 0.0021 USD / 分 = 2.52 USD となります。MediaConvert の当該月の既稼働時間が 1,000,000 正規化時間 (分) 以下だとすると 3 倍程度の費用になりますので、合計 10 ~ 15 USD 程度です。高いですね。

 

2. MediaLive から TS を出力し、ECS 上の ffmpeg で MP4 へ変換

パターン 1 から MediaConvert がなくなり、ECS が追加になりました。

  • MediaLive からシングルパイプラインチャネルでの TS 出力

  • Public IP Address の利用

  • ECS の稼働

  • ECR の利用

が計算対象です。

Internet Gateway は無料、VPC Endpoint も Gateway 型なので課金なしです。

「MediaLive からシングルパイプラインチャネルでの TS 出力」はパターン 1 と同額の 7.45 USD ですね。

「Public IP Address の利用」については、配信中のみ使用というわけにもいきませんので、10 日使用したとして 0.005 USD / 時間 x 240 時間 = 1.20 USD としておきましょう。以前は IP Address がアタッチされていれば無料だったのにいつのまにか有料になってしまったんですね 😇

ECR についても同じく 10 日使用したとします。今回の実験にあたって実際に作成したイメージが 0.333GB だったので、容量は同じとして 0.10 USD / GB-月 x 0.333GB x 1 / 3 月 = 0.01 USD になります。ECS でしかイメージを使わないためデータ転送量に応じた課金は発生しません。

最後に ECS です。実際にこの手法で動作をさせたわけではないので変換にかかる時間が読めないのですが、OS: Linux/X86_64 / タスク CPU: 1,024 ユニット (1 vCPU) / タスクメモリ: 2,048 MiB (2 GB) を使用し、変換に実尺かかったとします。とすると 0.05056 USD / 時間-vCPU x 10 時間 x 1vCPU = 0.50 USD + 0.00553 USD / 時間-GB x 10 時間 x 2GB = 0.11 USD で 0.61 USD ですね。

ECS の費用が仮に 2 倍だったとしても 合計 9 ~ 10 USD 程度でしょうか。少し安くなりました。

 

3. MediaLive からは アーカイブ用ファイルを出力せず、ECS 上の ffmpeg で m3u8 を収録

パターン 2 から MediaLive の TS 出力がなくなりました。EventBridge は同じAWSアカウント内なので無料です。

  • Public IP Address の利用

  • ECS の稼働

  • ECR の利用

のみが計算対象となります。

ECS の稼働環境はパターン 2 と同じで、稼働時間は収録時間 ( = 配信時間) となるので、費用は 合計 2 USD もかかりませんね 👏

 

実運用を想定する

なんとなく想像できていたとおり、MediaLive および MediaConvert 利用削減の効果は大きいということがわかりました。しかもパターン 3 では、配信時間が増加しても金額が変わらない Public IP Address と ECR の費用が大部分を占めているので、仮に 1 ヶ月間で 100 倍の時間 = のべ 1,000 時間の配信するとなっても 65 USD 程度と 100 倍の費用にはなりません。一方で、パターン 1 は時間課金要素しかないので単純に 100 倍、パターン 2 でもほぼ 100 倍の費用になります。

さらに、上記の計算は Fargate 環境での ECS 料金としていましたが、Fargate Spot でも良いとなると ECS の費用は さらに 70% 程度削減できます。場面に合わせて使い分け、しっかり節約したいところですね。

 

おわりに

2 回に分けてコストを抑えつつ AWS Elemental MediaLive から MP4 アーカイブしてみた実験結果を記載しました。

クラウドサービスは便利な分、使い方を間違えるとオンプレよりもはるかにコストがかかってしまうということも起こり得ます。しかも料金体系はややこしいものも多いので、費用の計算はざっくりしてしまいがちです。細かく計算するのはなかなか手間がかかりますが、いざ構築した後にアーキテクチャを大幅に変更することを考えると、構築前にしっかり調査しておくことは大事だなと改めて感じました。

 


この記事の著者

プロフィール画像

山野 悠

朝日放送グループホールディングス株式会社 DX・メディアデザイン局 R&Dチーム

動画配信・災害情報・データ放送など社内の運用負荷軽減のためのCMS開発に従事。 プロジェクトの規模に応じて、ディレクション業務からアプリケーション開発、サーバ設計までを担当。 デスクワークによる運動不足解消のため、日々ウエイトトレーニングに励む。