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
VODのディザスタリカバリをAWSで考えてみる
Search
tinoji
June 12, 2019
Technology
560
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
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
400
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
210
AIで仕事のやり方を変える
matsu7874
2
980
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
300
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
160
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
200
V8コントリビュート超入門
riyaamemiya
0
150
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
200
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.7k
bet_ai_day_2026_session02
agenticsec
2
1.3k
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
160
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
160
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Unsuck your backbone
ammeep
672
58k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
HDC tutorial
michielstock
2
850
Building AI with AI
inesmontani
PRO
1
1.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Exploring anti-patterns in Rails
aemeredith
3
490
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Documentation Writing (for coders)
carmenintech
77
5.5k
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.またはその関連会社の商標です。