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
470
AWSを使ったカンファレンスの 配信アーキテクチャ - 吉祥寺.pm37
Ryo Takaishi
January 31, 2025
Tweet
Share
More Decks by Ryo Takaishi
See All by Ryo Takaishi
スロークエリとの戦いの軌跡2024 / ゆるSRE勉強会 #10
takaishi
1
660
どうやればインシデント対応能力を鍛えられるのか? / SRE Kaigi 2025
takaishi
11
10k
Podcastを3年半続ける技術と得た物 / ya8-2024
takaishi
5
1.8k
入門!ClusterAPI 〜 k8s クラスターも k8s API で管理したい 〜 / k8s_meetup_31
takaishi
3
4.6k
CloudNativeへの道 リーダーシップとフォロワーシップ / 201911-cndjp13
takaishi
2
910
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
240
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
4 Signs Your Business is Dying
shpigford
183
22k
The Cult of Friendly URLs
andyhume
78
6.4k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
A Tale of Four Properties
chriscoyier
159
23k
Side Projects
sachag
454
42k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Building Applications with DynamoDB
mza
95
6.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
We Have a Design System, Now What?
morganepeng
52
7.6k
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年以降、このノウハウをどう活用するか ◦ オンライン開催のイベントもあるけど大規模じゃないとペイしない
• 全然分からない領域について試行錯誤するのは楽しい
コロナ禍の 知見忘れず 活用したい