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
Classmethod Company Deck
satoshi7
0
140
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
140
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
870
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
420
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
130
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
390
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.7k
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
Deep Data Security 機能解説
oracle4engineer
PRO
2
800
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
DGX Spark でどこまでハッキングができるのか?
kash1064
0
1.1k
Featured
See All Featured
Music & Morning Musume
bryan
48
7.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Navigating Weather and Climate Data
rabernat
0
550
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
530
First, design no harm
axbom
PRO
2
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
How STYLIGHT went responsive
nonsquared
100
6.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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.またはその関連会社の商標です。