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
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
160
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
150
Tab5をRubyで動くパソコンにする
kishima
2
360
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
130
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
790
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
360
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
130
2026-09-09 【sigma_ucj#1】Sigma を IaC 管理したい! / IaC for Sigma
civitaspo
0
120
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
660
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
660
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
330
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Music & Morning Musume
bryan
47
7.4k
We Are The Robots
honzajavorek
0
370
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Faster Mobile Websites
deanohume
310
32k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
780
Test your architecture with Archunit
thirion
2
2.4k
Un-Boring Meetings
codingconduct
0
410
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
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.またはその関連会社の商標です。