【2024年版】AWS上に動画配信プラットフォームを構築した場合にどの程度のコストがかかるのか?
目次
はじめに
過去に、以下の記事で「AWSを利用した動画配信におけるコスト試算」というテーマを取り上げました。
これらの記事では、動画の変換にElastic Transcoderを使用する方法が記載されていました。しかし、Elastic Transcoderは2025年11月にサービス終了が予定されており、今後利用が推奨されない状況です。また、これらの記事では説明内容が簡素な内容に留まっていたため、より実践的で応用可能な情報が求められると感じています。
そこで今回は2024年版のAWSでの動画配信コストの試算記事として、動画配信で用いられるエンコード後の動画の特性や配信の効率性を考慮しながら、最新のAWSサービスを用いた具体的な料金算出の解説をお届けします。
AWSで動画配信をする際のコスト計算について
まず、大前提として、どのような活動がAWSインフラのコストに影響を与えるかを整理します。AWSを利用した動画配信では、以下の要因によってより多くの料金が発生します。
- 多くの配信用動画をAWS上に保持する:動画のファイルサイズ合計が大きいほど、AWS S3などのストレージ料金が増加します。
- 利用者が多くのデータを消費する:動画配信時にAWSから外部(利用者)へ転送されるデータ量が増えるほど、データ転送料金が増加します。
これらの要因を抑えるため、以下のような方針の運用を行うことがコスト削減に効果的です。
配信用動画のファイルサイズを適切に管理する
配信用動画は、オリジナルの動画をエンコードし、配信に適した形に変換して使用します。この際、元の動画ファイルのサイズが非常に大きくても、配信目的に応じて適切な動画属性を設定することで、効率的な配信が可能となります。
たとえば、一般的な教育向け動画では、高い解像度やフレームレートは必須ではありません。むしろ、ファイルサイズを小さく抑えることで、利用者のネット環境に依存せず、スムーズな動画再生が可能になります。これは利用者側にとっても歓迎される特徴です。
一方、リアルタイム性の高いスポーツ中継や、細かい動きが重要なコンサート配信では、高い解像度やフレームレートが視聴体験を向上させ、配信サービスの価値を高める要素となるでしょう。
そのため、動画配信を行う際には、以下のような動画の性質を考慮して配信動画の設計を行うことが重要です。
- 最大解像度:配信動画の最大解像度を決定します。 4K(3840×2160)、FullHD(1920×1080)、HD(1280×720)などです。 高い解像度であるほど解像度の高いディスプレイ(4Kテレビなど)で動画を閲覧した時に良い画質で表示されるようになる一方、動画のファイルサイズは大きくなります。
- ビットレート:動画の品質を決定するデータ転送速度を指定します。 ビットレートが高いほど画質は良くなりますが、ファイルサイズは大きくなります。 2024年現在では主に Mbps(メガビット毎秒)の単位で表現されます。
- フレームレート:動画のスムーズさを左右する1秒間のフレーム数を決めます。24fps、30fps、60fpsなどです。 フレームレートが高くなるほど、1秒間に処理されるフレーム数が増えるため、動画の動きが滑らかに見えます。ただし、ビットレートが一定の場合、1フレームあたりに割り当てられるデータ量が減少するため、画質が低下する可能性もあります。そのため、高いフレームレートを採用する場合は、適切なビットレートの設定が重要です。
- コーデック:動画の圧縮技術を選択します。圧縮方式によって最終的な動画のファイルサイズが変わってきます。 具体的なコーデックには H.264(AVC)、H.265(HEVC)、VP9などがあります。 選択したコーデックによっては、再生できる環境が制限されることがあるため注意が必要です。
利用者ごとに適した動画データを配信する
たとえ最大解像度が4Kの高品質な動画を配信していたとしても、スマートフォンで視聴している利用者に同じ4K動画をそのまま配信するのは効率的ではありません。これは、4K動画のデータ量が非常に多い上に、スマートフォンの画面サイズでは4K解像度の動画と低解像度の動画との違いをほとんど感じられないことが多いためです。
そのため、動画配信を行う際には、視聴デバイスや視聴者のネットワーク環境に応じた解像度の動画を配信することが望ましいです。
一般的なMP4ファイルは固定解像度の動画ファイルですが、HLS形式やMPEG-DASH形式などの配信用に設計されたフォーマットでは、利用者の環境に応じた解像度の動画を自動的に選択して再生することができます。このような仕組みをアダプティブストリーミング(アダプティブ・ビットレート・ストリーミング)と呼びます。
アダプティブストリーミングでは、以下のような動作が可能になります。
- ネットワーク帯域幅が狭い場合は、低解像度・低ビットレートの動画を配信
- 高速なネットワーク環境では、最大解像度の高品質動画を配信
動画配信を効率化し、視聴者に快適な再生体験を提供するためにも、アダプティブストリーミングをサポートするHLS形式やMPEG-DASH形式を選ぶのが理想的です。
実際の動画配信基準の設計
これらの内容を踏まえ、今回のコスト見積を行う動画配信プラットフォームでは、以下の条件で配信動画をエンコードすることとしました。
- 配信動画の目的:教育・学習用途 (e-learningの教材として利用)
- 動画の本数:500本
- 動画の平均の長さ:10~15分程度
- 配信動画の形式:HLS形式
- コーデック:H.264 (AVC) (ブラウザでの視聴を想定しているため視聴環境の互換性を優先)
- 解像度および最大ビットレート: 4K (3840×2160, 最大25Mbps), FHD (1920×1080、最大8Mbps), HD (1280×720、最大4Mbps), 360p(640×360、最大1Mbps) の4種類を想定(※4Kは元動画の解像度がある場合に限る。 今回はコンテンツの内100本だけ4K動画がありとする)
- フレームレート: 30fps
ビットレートについては、動画配信サービスである JStream が公開している以下のページを参考に決定しています。 また、今回のコンテンツではそこまで解像度を重視していないため、やや低めに設定しています。
https://www.stream.co.jp/blog/blogpost-32369/
AWSでのコスト見積の要素
動画配信にかかるAWSのコストは、以下の3つの要素をもとに見積もることができます。
- 動画の変換コスト:動画1本あたり1回のみ発生するエンコードコスト
- 動画の維持コスト:配信動画ファイルの合計サイズ × 動画本数に基づくストレージコスト
- 動画の配信コスト:AWSから外部へのデータ転送量に依存する配信コスト
今回は配信用動画は MediaConvert を利用して、mp4ファイルをHLS形式に変換します。 その結果をS3上に保持しておき、そのファイルを CloudFront を使って配信します。
MediaConvert の変換コスト
AWSが提示する料金体系を基に、動画配信の変換コストを計算します。料金単価は記事執筆時点(2024年12月)のものです。
配信動画には暗号化(AES-128によるHLS暗号化)を行うため、全てProfessional階層でエンコードを実施します。エンコード設定は1パス変換および、品質が定義された可変ビットレート(QVBR)を利用します。
料金単価は「エンコードする動画1分あたりの単価」となるため、以下の条件で計算を行います。計算では、動画の長さを15分と仮定しています。
計算条件
- 360p, HD, FHD の合計分数: 500本 × 15分 = 7,500分
- 4K動画の合計分数: 100本 × 15分 = 1,500分
変換コスト
- 360p (640×360) の変換料金: USD0.0136USD×7,500分=102.0USD
- HD (1280×720) の変換料金: USD0.0272USD×7,500分=204.0USD
- FHD (1920×1080) の変換料金: USD0.0272USD×7,500分=204.0USD
- 4K (3840×2160) の変換料金: USD0.0544USD×1,500分=81.6USD
合計変換コスト
これらを合計して、591.6 USD (税別) が全ての動画をエンコードする際に必要なコストとなります。 ただし、このコストは初回動画登録時のみ必要なコストです。そのため、リザーブド料金を利用せず、オンデマンド料金での運用が適しています。
S3 の保持コスト
エンコード後の動画ファイルサイズの目安は以下の通りです。 ビットレートが1秒あたりの動画ファイルのビット数なので、ビットレートと動画の長さが分かればファイルサイズは計算可能です。
- 4K (3840×2160): 最大ビットレート 25 Mbps → 2.75 GB (15分あたり)
- FHD (1920×1080): 最大ビットレート 8 Mbps → 0.88 GB (15分あたり)
- HD (1280×720): 最大ビットレート 4 Mbps → 0.44 GB (15分あたり)
- 360p (640×360): 最大ビットレート 1 Mbps → 0.11 GB (15分あたり)
今回はアダプティブストリーミング対応なので、4K ありとなし、それぞれの動画1本あたりのファイルサイズ目安は
- 4Kあり: 4.18GB (全サイズの動画があるので全て合算)
- 4Kなし: 1.43GB (4K以外の動画のサイズを合算)
となります。 配信用動画ファイル500本(内、100本は4Kの解像度あり)の場合、その合計ファイルサイズは 4.18×100 + 1.43×400 = 990(GB) となり、約1TBのファイルを保持することになります。
S3 のファイル保持コストは 1GB あたり 0.025 USD なので、配信用動画保持コストは1月あたり24.75USDとなります。 実際には動画ファイルへのアクセス時に S3 操作の料金が発生するため、もう少し料金は高くなりますが、CloudFront を適切に利用すればあまり大きく変動することはありません。
動画の配信コスト
今回は1月の間に累計して1万本の動画が最初から最後まで視聴されたと仮定します。 この時、各動画はランダムに視聴されると仮定します。また、閲覧される動画の解像度比率は以下の通りと仮定します。
- 4K対応動画:4K動画での視聴が2割、FHDが3割、HDが1割、360pが4割
- 4K非対応動画: FHDが5割、HDが1割、360p が4割
この時のデータ流量の合計値は以下の様になり、約6TBとなります。
- 4K対応動画 (2,000回の視聴):2,000 x (2.75GBx1/5 + 0.88×3/10 + 0.44×1/10 + 0.11×2/5) = 1,804 GB (約1.8TB)
- 4K非対応動画(8,000回の視聴):8,000 x (0.88×1/2 + 0.44×1/10 + 0.11×2/5) = 4,224 GB (約4.2TB)
AWSのデータ転送料金(東京リージョン)は合計が10TB未満の場合、0.114USD/GB です。 ただし、10TB を超えると単価が 0.089USD/GB に、50TB を超えると 0.086 USD/GB に、利用するにつれて徐々に減少していく料金体系になっています。
今回は合計で10TBを超えていないので、料金の概算を計算すると 0.114USD/GB x 6000 (GB) = 684 となり、毎月 684 USD(税別)の費用が発生するということになります。 今回の条件では、一人あたりの動画の視聴コストをならすと 0.0684 USD (10.26 円 / 1ドル150円換算)となります。
料金見積の注意点
これまでに見てきた通り、AWSで動画ファイルを配信するプラットフォームを運営する場合、その多くの割合を占めるのは動画ファイルの転送料金です。 そのため、コストを抑える方法として、解像度やビットレート、フレームレートなどの動画の設定を見直し、ファイルサイズを減らすことが効果的です。今回のようにMediaConvertでQVBR(可変ビットレート)を採用した場合、動画にあまり動きがないシーンではファイルサイズが計算よりも小さくなる可能性があり、これもコスト削減に寄与します。
今回の計算結果は、最大限コストがかかる条件を想定したものであり、実際の運用コストは多くの場合、見積もりよりも小さくなることが期待されます。しかし、料金の多くがデータ流量に依存するため、動画の視聴者数や利用者のアクティブさによって実際のコストが大きく変動します。つまり、利用者数が多ければ多いほど、多くの動画が視聴されるほど、インフラ料金も比例して上昇します。
これらの点から、サービス設計段階では利用者数の増加に伴うコストの増大を十分に考慮する必要があります。見積もり段階では利用者数や視聴パターンの変動を考慮した試算を行っておかないと、予期しないコストの急増に対応できず、サービス運営に影響を及ぼす可能性があります。
また、今回は H.264 でのエンコードを実施しましたが、H.265 や VP9 などの別のコーデックを利用することで、同じ品質の配信用動画のファイルサイズを小さくすることができます。 しかし、これらのコーデックによってエンコードが行われた動画は2024年現在では再生環境を選ぶため、安易に効率の良いコーデックを選ぶだけではなく、動画の再生環境についても考慮した上でコーデックを選ぶべきです。
動画の解像度を落とした場合の見積例
今回の試算結果を見て、想定よりも高い金額であったため、改めて動画配信のコストの最適化を考えることにしました。 今回は高解像度は不要と判断して、配信動画の条件を以下の通り変更しました。
提供解像度をHD(1280×720, 最大ビットレート4Mbps)、SD (720×480, 最大ビットレート2Mbsp)、240p (426×240, 最大ビットレート750Kbps) の解像度を提供する
この時、これまでの計算式に当てはめると動画変換コストは
- 240p (426×240) の変換料金: USD0.0136USD×7,500分=102.0USD
- SD (720×480) の変換料金: USD0.0136USD×7,500分=102.0USD
- HD (1280×720) の変換料金: USD0.0272USD×7,500分=204.0USD
となり、変換コストは約2/3となります。
動画ファイルの合計サイズは
- HD (1280×720): 最大ビットレート 4 Mbps → 0.44 GB (15分あたり)
- SD (720×480): 最大ビットレート 2 Mbps → 0.22 GB (15分あたり)
- 240p (426×240): 最大ビットレート 0.75Mbps → 0.0825 GB (15分あたり)
となり、500本の動画の合計ファイルサイズは371.25GBとなり、元の条件の約40%となっています。
最後に動画配信コストについてを再計算すると、
- 視聴傾向: HDが6割、SDが3割、240p が1割
- 配信用動画(10,000万回の視聴):10,000 x (0.44×6/10 + 0.22×3/10 + 0.0825×1/10) = 3,382.5 GB (約3.4TB)
となり 0.114 x 3382.5 = 385.605 USD となります。
この条件であれば、1人あたりの動画視聴料金は 0.0385 USD (約5.78円 / 1ドル150円換算) となります。 元々の見積と比較して、動画視聴の見積は約45%程度の削減となりました。
また、計算式から分かりますが、各解像度がどれだけの割合で利用されるかも料金に大きく影響します。 そのため、正確な見積は難しいですが、PCユーザーが多いのであれば解像度が高い動画が視聴される可能性が高く、スマートフォンユーザーが多いのであれば解像度が低い動画が視聴される可能性が高くなりますので、新しく作成するサイトの利用者を想定することも重要になってきます。
まとめ
動画配信を行う場合はデータ流量が主なコストになるため、配信用動画に適切な設定を行う必要があることが分かりました。 以下は今回設定した最大ビットレートで1時間の動画を配信する場合、その動画のファイルサイズと1人あたりの動画配信コストがどの程度になるかの早見表です(1ドル150円換算)。
解像度 | ビットレート (Mbps) | ファイルサイズ (GB) | 1回分の視聴料金 (USD) | 1回分の視聴料金 (円) |
---|---|---|---|---|
4K (3840×2160) | 25 | 11.00 | 1.25 | 188 |
FHD (1920×1080) | 8 | 3.52 | 0.40 | 60 |
HD (1280×720) | 4 | 1.76 | 0.20 | 30 |
SD (720×480) | 2 | 0.88 | 0.10 | 15 |
360p (640×360) | 1 | 0.44 | 0.05 | 8 |
240p (426×240) | 0.7 | 0.31 | 0.04 | 6 |
高解像度版の動画の計算を行いたい場合は、ビットレートを増やして計算してください。 また、動画の時間が1時間とは異なる場合は、その時間に換算して計算してみてください(例: 動画の長さが10分の場合は、以下の表の1/6の値を用いてください)。
本記事ではAWSインフラを利用して動画配信を行う際に発生するコストについて、その内訳や見積の方法、さらにコストに大きく影響を与える要因について説明しました。動画配信の設計や運用において、各数値が明確であれば、(最悪の場合の)コストを見積もることが可能です。 この見積を基に適切な設計を行うことで、効率的な配信とコスト管理を実現できます。