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
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
210
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
450
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
4
420
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
300
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
620
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
150
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
520
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
730
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
260
Jitera Company Deck
jitera
0
270
Kaggleで成長するために意識したこと
prgckwb
2
440
20260720_クラウド女子会×PyLadiesTokyoコラボ Amazon Bedrock ハンズオン用資料
yuuka51
1
110
Featured
See All Featured
Between Models and Reality
mayunak
4
380
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
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.またはその関連会社の商標です。