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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryo Takaishi
January 31, 2025
2
570
AWSを使ったカンファレンスの 配信アーキテクチャ - 吉祥寺.pm37
Ryo Takaishi
January 31, 2025
Tweet
Share
More Decks by Ryo Takaishi
See All by Ryo Takaishi
2025 年私の Terraform に関するふりかえり / ゆるSRE勉強会 #14
takaishi
0
290
スロークエリとの戦いの軌跡2024 / ゆるSRE勉強会 #10
takaishi
1
840
どうやればインシデント対応能力を鍛えられるのか? / SRE Kaigi 2025
takaishi
13
12k
Podcastを3年半続ける技術と得た物 / ya8-2024
takaishi
5
2k
入門!ClusterAPI 〜 k8s クラスターも k8s API で管理したい 〜 / k8s_meetup_31
takaishi
3
4.8k
CloudNativeへの道 リーダーシップとフォロワーシップ / 201911-cndjp13
takaishi
2
970
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
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
50
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing for humans not robots
tammielis
254
26k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
We Have a Design System, Now What?
morganepeng
54
8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
87
BBQ
matthewcrist
89
10k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
340
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年以降、このノウハウをどう活用するか ◦ オンライン開催のイベントもあるけど大規模じゃないとペイしない
• 全然分からない領域について試行錯誤するのは楽しい
コロナ禍の 知見忘れず 活用したい