Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSを使ったカンファレンスの 配信アーキテクチャ - 吉祥寺.pm37
Search
Ryo Takaishi
January 31, 2025
2
500
AWSを使ったカンファレンスの 配信アーキテクチャ - 吉祥寺.pm37
Ryo Takaishi
January 31, 2025
Tweet
Share
More Decks by Ryo Takaishi
See All by Ryo Takaishi
スロークエリとの戦いの軌跡2024 / ゆるSRE勉強会 #10
takaishi
1
720
どうやればインシデント対応能力を鍛えられるのか? / SRE Kaigi 2025
takaishi
11
11k
Podcastを3年半続ける技術と得た物 / ya8-2024
takaishi
5
1.8k
入門!ClusterAPI 〜 k8s クラスターも k8s API で管理したい 〜 / k8s_meetup_31
takaishi
3
4.6k
CloudNativeへの道 リーダーシップとフォロワーシップ / 201911-cndjp13
takaishi
2
930
ClusterAPI v1alpha1 → v1alpha2 / k8s_meetup_23
takaishi
1
1.6k
実録!CloudNativeを 目指した230日 / cloud-native-days-tokyo-2019
takaishi
2
2.6k
Consul Connect and Kubernetes Integration / cloud native meetup tokyo 7
takaishi
2
2.3k
ソフトウェアエンジニア の楽しみ / 2018-pepaboudon
takaishi
0
250
Featured
See All Featured
Visualization
eitanlees
146
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Being A Developer After 40
akosma
90
590k
Adopting Sorbet at Scale
ufuk
77
9.5k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
The Pragmatic Product Professional
lauravandoore
36
6.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Transcript
AWSを使ったカンファレンスの 配信アーキテクチャ 髙石 諒 / @r_takaishi 吉祥寺.pm37
None
自己紹介 • 髙石 諒 / @r_takaishi • ソフトウェア エンジニア /
ポッドキャスター • 現所属は株式会社フライル ◦ クラウドインフラ中心にいろいろ • 副業でスタートアップのクラウドインフラ・基盤整備 • CloudNative Daysのシステム開発
None
こういうの作ってます • tfclean (https://github.com/takaishi/tfclean) ◦ terraformの import/moved/removed ブロックを削除するツール • terraform-j2md
(https://github.com/reproio/terraform-j2md) ◦ terraform planの結果をMarkdownとして整形するツール • batron (https://github.com/takaishi/batron) ◦ AWS Batchのジョブ定義をデプロイするツール
時はコロナ禍
カンファレンスも 「密」回避が求められ た
オンライン開催
オンラインカンファレンスで 快適な視聴環境を提供する
アーキテクチャの 試行錯誤を紹介します
CloudNativeDaysが目指した体験 • 前提として、複数トラック開催 • シームレスにセッションを切り替えられる体験 • セッション終了後のアーカイブ公開
第一世代
第一世代アーキテクチャ • Vimeoを使用 ◦ 記憶が曖昧なので割愛 • ライブ配信用のリソースをVimeoに作ったりするのが大変だった気がする
第二世代
AWSが配信・動画系サービスを提供している • Amazon Interactive Video Service (Amazon IVS) ◦ 低レイテンシー配信のためのマネージドサービス
◦ RubyKaigiでも使用された • AWS Elemental MediaLive ◦ ライブストリーミングのエンコードサービス ◦ 変換して複数の宛先に送ることも可能 • AWS Elemental MediaPackage ◦ エンコードされたデータの動画配信及びVODパッケージングサービス
第二世代アーキテクチャ MediaLive IVS Channel S3 Bucket CloudFront Rails React OBS
オペレーター 参加者 RTMP(push) RTMP(Pull) トラック毎にリソースを用意 ライブ配信を視聴 アーカイブ配信を視聴 アーカイブを保存 起動・停止
第二世代の課題 • 高コスト ◦ IVSを複数トラック分、複数日使うのはかなりお金がかかる • アーカイブの作成が大変 ◦ MediaLiveチャンネルの起動・停止が職人技 ◦
タイムラグ問題
第三世代
AWSが配信・動画系サービスを提供している • Amazon Interactive Video Service (Amazon IVS) ◦ 低レイテンシー配信のためのマネージドサービス
◦ RubyKaigiでも使用された • AWS Elemental MediaLive ◦ ライブストリーミングのエンコードサービス ◦ 変換して複数の宛先に送ることも可能 • AWS Elemental MediaPackage ◦ エンコードされたデータの動画配信及びVODパッケージングサービス
第三世代アーキテクチャ MediaLive IVS Channel MediaPackageChannel Endpoint S3 Bucket CloudFront Rails
MediaPackage HarvestJob React OBS オペレーター 参加者 RTMP(push) RTMPS HLS トラック毎にリソースを用意 ライブ配信を視聴 アーカイブ配信を視聴 アーカイブを保存 アーカイブ作成 HarvestJob作成
第三世代アーキテクチャ • アーカイブ作成にMediaPackageを使用 • HarvestJob ◦ VOD用の機能 ◦ バッファされたストリーミングデータの任意の範囲を切り出してS3バケットに保存 •
Rails上で範囲指定・プレビューしてHarvestJobを作成する機能を実装
第三世代の課題 • 高コスト ◦ IVSを複数トラック分、複数日使うのはかなりお金がかかる
第四世代
第四世代アーキテクチャ • MediaPackage V2登場 ◦ 低レイテンシーに対応 [速報] low-latency HLSにも対応したMediaPackage v2がリリースされました![NEW]
| DevelopersIO https://dev.classmethod.jp/articles/aws-elemental-mediapackage-v2/
第四世代アーキテクチャ MediaLive MediaPackage v2 Channel Endpoint MediaPackageChannel Endpoint S3 Bucket
CloudFront Rails MediaPackage HarvestJob React OBS オペレーター 参加者 RTMP(push) RTMP HLS トラック毎にリソースを用意 ライブ配信を視聴 アーカイブ配信を視聴 アーカイブを保存 アーカイブ作成 HarvestJob作成
第四世代アーキテクチャ • IVSを止めて大幅にコストダウンに成功 • MediaPackageのHarvestJobを使い、セッション終了後数十分でアーカイブ 作成・公開
第四世代アーキテクチャの課題 • MediaPackageとMediaPackageV2の両方を使っている ◦ MediaPackage V2がHarvestJobに対応していなかった
まとめ
まとめ • 2020年以降のコロナ禍で、CloudNativeDaysはオンライン配信をかなり作 り込んだ ◦ シームレスなトラック切り替え、迅速なアーカイブ公開 • インパーソン開催に戻った2025年以降、このノウハウをどう活用するか ◦ オンライン開催のイベントもあるけど大規模じゃないとペイしない
• 全然分からない領域について試行錯誤するのは楽しい
コロナ禍の 知見忘れず 活用したい