Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
VODのディザスタリカバリをAWSで考えてみる
Search
tinoji
June 12, 2019
Technology
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VODのディザスタリカバリをAWSで考えてみる
Media-JAWS#2
https://media-jaws.doorkeeper.jp/events/91677
tinoji
June 12, 2019
More Decks by tinoji
See All by tinoji
ちょっと冷や汗かいたけどAWS MediaLiveは最高!って話
tinoji
1
430
DMM動画の可用性を支えるConsul
tinoji
1
2.8k
Other Decks in Technology
See All in Technology
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
110
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
130
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.7k
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
300
AI AgentによるEmbedded SREの取り組み
tgidgd
1
350
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
15k
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
230
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
420
AIエージェントの監視、思考を見るか行動を見るか / Monitoring AI Agents: Thoughts or Actions
yusukeshimizu
2
170
kintoneで在庫管理システムを作るときの要件定義・設計ポイント
kai0707
0
280
公共システムAdventCalendar2026
toru_kubota
0
260
登壇はいいぞ! 〜Kaigi on Railsに登壇して起きた3つの変化〜
occhi
0
110
Featured
See All Featured
A Soul's Torment
seathinner
8
3.9k
WENDY [Excerpt]
tessaabrams
14
40k
Bash Introduction
62gerente
615
220k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
760
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
290
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
430
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
390
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
Transcript
VODのディザスタリカバリを AWSで考えてみる DMM.com 動画配信事業部 菊地 弘晃 @Media-JAWS#2 20190612
None
None
Summit行ってません!! 会社から来ました!
ࣗ ݾ հ Who am I 菊地 弘晃 ͖ͪ͘ͻΖ͖͋
C V 菊地 弘晃 T E A M 動画配信事業部 配信基盤チーム @_tinoji 新卒3年目になってしまった 大学でX線の 研究をしてましたが飽きたのでエンジニアに なりました。仕事ではGoとかLuaを書いてま す。なぜかここ2ヶ月ほどAndroid Kotlinやっ てました。二郎系と温泉とラジオが好き。
⚠大事な前置き⚠
݄ɺ%..DPNͷਓ͚ࣄۀ ݱ'"/;" גࣜձࣾσδλϧίϚʔεࣾʹঝܧ͞Ε·ͨ͠ɻ ͨͩ͠ɺγεςϜͷ։ൃӡ༻ɺҰ෦ͷӦۀۀ σδλϧίϚʔε͔ࣾΒ%..DPNʹҕୗ͞Ε͓ͯΓɺ ϓϥοτϑΥʔϜ%..DPN͕ܧଓͯ͠ఏڙ͢Δ͜ͱ Ͱ߹ҙ͓ͯ͠Γ·͢ɻ
݄ɺ%..DPNͷਓ͚ࣄۀ ݱ'"/;" גࣜձࣾσδλϧίϚʔεࣾʹঝܧ͞Ε·ͨ͠ɻ ͨͩ͠ɺγεςϜͷ։ൃӡ༻ɺҰ෦ͷӦۀۀ σδλϧίϚʔε͔ࣾΒ%..DPNʹҕୗ͞Ε͓ͯΓɺ ϓϥοτϑΥʔϜ%..DPN͕ܧଓͯ͠ఏڙ͢Δ͜ͱ Ͱ߹ҙ͓ͯ͠Γ·͢ɻ おk?
ディザスタリカバリ(DR)の話です
DR完璧だよって人〜
͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.
DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
% 3 ͷ ඪ Three Objective • Recovery
Time Objective: 目標復旧時間 災害発生から(暫定)復旧までの時間 • Recovery Point Objective: 目標復旧時点 災害発生からどの時点までさかのぼってデータを復旧するのか • Recovery Level Objective: 目標復旧レベル 暫定復旧時にどの程度のサービスレベルを求めるか
NEC ディザスタリカバリシステムの考え方: https://jpn.nec.com/solution/bcdr/dr_system01.html % 3 ͷ ඪ Three
Objective
• Recovery Time Objective: 目標復旧時間 => 配信の再開までの時間 • Recovery Point
Objective: 目標復旧時点 => どれくらいのコンテンツ数を復旧するか(RLOにも関係) • Recovery Level Objective: 目標復旧レベル => 動画の品質(画質)をどこまで落とすか % 3 ͷ ඪ Three Objective DMM動画の場合
͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.
DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
弊サービスの動画ファイルの バックアップ?
どうやってると思います??
真心を込めて、HDDに、手動で
Problems • 元ソースのバックアップではない 配信用にエンコードしたものをバックアップしているので、再 エンコードが不可能。 • オペレーションコスト
多くのファイルをリストアするオペレーションのコストが大。 • ディザスタリカバリとしての利用が困難(不可能) 一定期間(多分それなりに短い)後に消しているのでダメ・・・ 無通電で長期間保管されたHDDもある・・・(生きてるのか?)
で、
最近エンコーダースタックを リプレースしてまして、
バックアップの見直しも 行うことになりました!
͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.
DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
ό ο Ϋ Ξ ο ϓ ઌ Ͳ ͏ ͢
Δ Backup Destination 以下3サービスを検討。論点は値段とDR時の暫定運用の容易さ。 • AWS Glacierがそこそこ安い。Media Servicesを利用して配信が可能。 • GCP Coldlineでもかなり高い。GCPコンポーネントとして動画配信系の ものが存在しない(ソリューションサンプルはある)。 • とある光ディスクアーカイブサービス コスト上限があるので安心だが、DR時の配信サーバは別途組む必要 がある。
ό ο Ϋ Ξ ο ϓ ઌ Ͳ ͏ ͢
Δ Backup Destination 以下3サービスを検討。論点は値段とDR時の暫定運用の容易さ。 • AWS Glacierがそこそこ安い。Media Servicesを利用して配信が可能。 • GCP Coldlineでもかなり高い。GCPコンポーネントとして動画配信系の ものが存在しない(ソリューションサンプルはある)。 • とある光ディスクアーカイブサービス コスト上限があるので安心だが、DR時の配信サーバは別途組む必要 がある。
うーん、Glacierでも まぁまぁ高いな
3月末、世界に衝撃が走るッ
Glacier Deep Archive
͜ ͍ ͭ ͍ Deep Archive (MBDJFS
(MBDJFS%FFQ"SDIJWF ετϨʔδྉۚ (#NPOUI (#NPOUI औΓग़͠ྉۚ (# (# औΓग़͠ϦΫΤετྉۚ SFR SFR ࠷খอଘظؒ EBZT EBZT औΓग़࣌ؒ͠ IPVST IPVST େ༰ྔऔΓग़࣌ؒ͠ IPVST IPVST
None
これしかねぇ・・・
͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.
DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
ߏ Architecture ΤϯίʔμʔελοΫ ϥΠηϯεαʔό POQSFNJTFT "NB[PO4 "NB[PO4(MBDJFS %FFQ"SDIJWF "84-BNCEB
"84&MFNFOUBM .FEJB$POWFSU "84&MFNFOUBM .FEJB1BDLBHF "NB[PO$MPVE'SPOU ϨετΞΛ ϑοΫ 41&,&Λ࣮༧ఆ ࠷ۙ.1Λ+*5Ͱ ৯͑ΔΑ͏ʹʂ ϓϨΠϠʔ
試算!
͜ Μ ͳ ঢ় گ Λ ߟ ͑ ͯ Έ
Δ Assumed Condition ①バックアップ開始から1年後のDRを考えてみる ・総ファイル時間 7.3万時間 ・総ファイルサイズ 約1.5PB ②DR時には、1ヶ月間、低画質のみの配信を行うことを想定する (つまり1年間分のバックアップコンテンツを1ヶ月だけAWSから配信する)
Ϩ ε τ Ξ Restoring Files ①Deep Archiveからのレストア 大容量取り出しで1.5PBをレストアするとして、 $0.0025/GB
* 1,500,000GB = $3,750 取り出しリクエストの料金は安いので無視。 取り出し時間は > 48時間
Τ ϯ ί ʔ υ Encoding ②MediaConvertによるエンコード 2Dコンテンツは4,363,200minをSD/30fps、 VRコンテンツは34,682minをUHD/30fps で1パスエンコードするとして、
0.0075 * 4363200 + 0.03 * 34682 = $33,764 解像度とFPSで 料金が変わります
4 Standard S3 ③スタンダードなS3の料金 レストアしたデータを1ヶ月間だけスタンダードで保持するとして、 ・50TB分 $0.023/GB/month => $1,150/month
・450TB分 $0.022/GB/month => $9,900/month ・残り1PB分 $0.021/GB/month => $21,000/month 合計 $32,050
͘ Β ͏ Ͳ ; Ζ Μ ͱ CloudFront ④CloudFront
トラフィックout 0.114*10000 + 0.089*40000 + 0.086*50000+0.084*170000 = $23,280/day 23280 * 30 = $698,400 ウッ
ύ ο έ ʔ δ ϯ ά Packaging ⑤MediaPackageによるパッケージング •
一日に視聴される時間 • ちょっと多めに見積もって200,000時間/dayとしよう。 • ビットレート • 2DとVR計算するのめんどくさいのでだいたい2Mbpsってことにしてしまおう。 • ということで配信されるのは・・・ • 2 * 60 * 60 / 8 / 1024 = 0.9GB/h • 0.9 * 200,000 = 180,000GB/day • オリジンから出るのは・・・ • ドキュメントと同様にヒット率を80%とする。 • 180,000 * 0.2 = 36,000GB/day • 36,000 * 0.05 = $1,800/day 1800 * 30 = $54,000
߹ ܭ Total Price αʔϏε ྉۚ (MBDJFS͔ΒͷϨετΞ BMMpMFT .FEJB$POWFSU
BMMpMFT 4 NPOUI .FEJB1BDLBHF NPOUI $MPVE'SPOU NPOUI ߹ܭ
月9000万円ぐらい ※ これでいくのかは検討中です
これをもとに目標値とコストを すり合わせていく
͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.
DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
例えばこんな感じ RTO: 時間かかってもいいからオンプレから配信? RPO: 売れ筋コンテンツのみを配信する? RLO: 低画質1本ではなく複数画質?
ͨ ͱ ͑ ʙ Example 「MediaConvertの所要時間が予想しづらい! もしかするとRTOがすごく大きくなってしまうかも?」 RTOの優先度は高いので、できるだけ短くしたい・・・ =>
低画質なエンコード済みファイルもバックアップしちゃおう! => ファイルサイズは小さいのでストレージコストは許容できる => 低画質を配信しておいて裏で高画質をエンコードすることも可能 みたいな調整をしていく。
絶賛進行中です
͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.
DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
ͦ ͷ ଞ % 3 Ͱ ߟ ͑ Δ
͖ ͜ ͱ Other Important Points • ドキュメントやコードの置き場所 ドキュメンテーションツールがオンプレだったりしますよね? DRに必要なドキュメントも一緒に死んだらつらい。 • IaC ドキュメントを見ながらポチポチ構築する時間はもったいない。 CloudFormationやTerraformを活用するといいかも。 など...
· ͱ Ί Summary • なにはともあれRTO・RPO・RLOを考える。 • 先にざっくりコスト試算をして、すり合わせていくのがオススメかも。 • Deep
Archiveの登場により、大容量ファイルのバックアップに革命が起 きた。コストを理由にバックアップを取れない時代は終わった。 • 動画配信のDRなら、現状AWS一択では? • 他にベターな選択肢があれば教えてください
Amazon Web Services、"Powered by AWS"ロゴ、およびかかる資料で使用されるその他のAWS商標は、 米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。