Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VODのディザスタリカバリをAWSで考えてみる

B8f11a1b6b139771b88154ae7938f443?s=47 tinoji
June 12, 2019

 VODのディザスタリカバリをAWSで考えてみる

B8f11a1b6b139771b88154ae7938f443?s=128

tinoji

June 12, 2019
Tweet

More Decks by tinoji

Other Decks in Technology

Transcript

  1. VODのディザスタリカバリを AWSで考えてみる DMM.com 動画配信事業部 菊地 弘晃 @Media-JAWS#2 20190612

  2. None
  3. None
  4. Summit行ってません!! 会社から来ました!

  5. ࣗ ݾ ঺ հ Who am I 菊地 弘晃 ͖ͪ͘ͻΖ͖͋

    C V 菊地 弘晃 T E A M 動画配信事業部 配信基盤チーム @_tinoji 新卒3年目になってしまった 大学でX線の 研究をしてましたが飽きたのでエンジニアに なりました。仕事ではGoとかLuaを書いてま す。なぜかここ2ヶ月ほどAndroid Kotlinやっ てました。二郎系と温泉とラジオが好き。
  6. ⚠大事な前置き⚠

  7. ೥݄ɺ%..DPNͷ੒ਓ޲͚ࣄۀ ݱ'"/;" ͸ גࣜձࣾσδλϧίϚʔεࣾʹঝܧ͞Ε·ͨ͠ɻ ͨͩ͠ɺγεςϜͷ։ൃ΍ӡ༻ɺҰ෦ͷӦۀۀ຿͸ σδλϧίϚʔε͔ࣾΒ%..DPNʹҕୗ͞Ε͓ͯΓɺ ϓϥοτϑΥʔϜ͸%..DPN͕ܧଓͯ͠ఏڙ͢Δ͜ͱ Ͱ߹ҙ͓ͯ͠Γ·͢ɻ

  8. ೥݄ɺ%..DPNͷ੒ਓ޲͚ࣄۀ ݱ'"/;" ͸ גࣜձࣾσδλϧίϚʔεࣾʹঝܧ͞Ε·ͨ͠ɻ ͨͩ͠ɺγεςϜͷ։ൃ΍ӡ༻ɺҰ෦ͷӦۀۀ຿͸ σδλϧίϚʔε͔ࣾΒ%..DPNʹҕୗ͞Ε͓ͯΓɺ ϓϥοτϑΥʔϜ͸%..DPN͕ܧଓͯ͠ఏڙ͢Δ͜ͱ Ͱ߹ҙ͓ͯ͠Γ·͢ɻ おk?

  9. ディザスタリカバリ(DR)の話です

  10. DR完璧だよって人〜

  11. ͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.

    DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
  12. % 3 ͷ ໨ ඪ ஋ Three Objective • Recovery

    Time Objective: 目標復旧時間
 災害発生から(暫定)復旧までの時間
 • Recovery Point Objective: 目標復旧時点
 災害発生からどの時点までさかのぼってデータを復旧するのか
 • Recovery Level Objective: 目標復旧レベル
 暫定復旧時にどの程度のサービスレベルを求めるか
  13. NEC ディザスタリカバリシステムの考え方: https://jpn.nec.com/solution/bcdr/dr_system01.html % 3 ͷ ໨ ඪ ஋ Three

    Objective
  14. • Recovery Time Objective: 目標復旧時間
 => 配信の再開までの時間 • Recovery Point

    Objective: 目標復旧時点
 => どれくらいのコンテンツ数を復旧するか(RLOにも関係)
 • Recovery Level Objective: 目標復旧レベル
 => 動画の品質(画質)をどこまで落とすか % 3 ͷ ໨ ඪ ஋ Three Objective DMM動画の場合
  15. ͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.

    DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
  16. 弊サービスの動画ファイルの
 バックアップ?

  17. どうやってると思います??

  18. 真心を込めて、HDDに、手動で

  19. ໰ ୊ ఺ Problems • 元ソースのバックアップではない
 配信用にエンコードしたものをバックアップしているので、再 エンコードが不可能。 • オペレーションコスト


    多くのファイルをリストアするオペレーションのコストが大。
 • ディザスタリカバリとしての利用が困難(不可能)
 一定期間(多分それなりに短い)後に消しているのでダメ・・・
 無通電で長期間保管されたHDDもある・・・(生きてるのか?)
  20. で、

  21. 最近エンコーダースタックを
 リプレースしてまして、

  22. バックアップの見直しも
 行うことになりました!

  23. ͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.

    DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
  24. ό ο Ϋ Ξ ο ϓ ઌ Ͳ ͏ ͢

    Δ Backup Destination 以下3サービスを検討。論点は値段とDR時の暫定運用の容易さ。 • AWS
 Glacierがそこそこ安い。Media Servicesを利用して配信が可能。 • GCP
 Coldlineでもかなり高い。GCPコンポーネントとして動画配信系の ものが存在しない(ソリューションサンプルはある)。
 • とある光ディスクアーカイブサービス
 コスト上限があるので安心だが、DR時の配信サーバは別途組む必要 がある。
  25. ό ο Ϋ Ξ ο ϓ ઌ Ͳ ͏ ͢

    Δ Backup Destination 以下3サービスを検討。論点は値段とDR時の暫定運用の容易さ。 • AWS
 Glacierがそこそこ安い。Media Servicesを利用して配信が可能。 • GCP
 Coldlineでもかなり高い。GCPコンポーネントとして動画配信系の ものが存在しない(ソリューションサンプルはある)。
 • とある光ディスクアーカイブサービス
 コスト上限があるので安心だが、DR時の配信サーバは別途組む必要 がある。
  26. うーん、Glacierでも
 まぁまぁ高いな

  27. 3月末、世界に衝撃が走るッ

  28. Glacier Deep Archive

  29. ͜ ͍ ͭ ͸ ΍ ͹ ͍ Deep Archive (MBDJFS

    (MBDJFS%FFQ"SDIJWF ετϨʔδྉۚ (#NPOUI (#NPOUI औΓग़͠ྉۚ (# (# औΓग़͠ϦΫΤετྉۚ SFR SFR ࠷খอଘظؒ EBZT EBZT औΓग़࣌ؒ͠ IPVST IPVST େ༰ྔऔΓग़࣌ؒ͠ IPVST IPVST
  30. None
  31. これしかねぇ・・・

  32. ͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.

    DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
  33. ߏ ੒ 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Ͱ ৯͑ΔΑ͏ʹʂ ϓϨΠϠʔ
  34. 試算!

  35. ͜ Μ ͳ ঢ় گ Λ ߟ ͑ ͯ Έ

    Δ Assumed Condition ①バックアップ開始から1年後のDRを考えてみる ・総ファイル時間 7.3万時間 ・総ファイルサイズ 約1.5PB ②DR時には、1ヶ月間、低画質のみの配信を行うことを想定する (つまり1年間分のバックアップコンテンツを1ヶ月だけAWSから配信する)
  36. Ϩ ε τ Ξ Restoring Files ①Deep Archiveからのレストア 大容量取り出しで1.5PBをレストアするとして、 $0.0025/GB

    * 1,500,000GB = $3,750 取り出しリクエストの料金は安いので無視。 取り出し時間は > 48時間
  37. Τ ϯ ί ʔ υ Encoding ②MediaConvertによるエンコード 2Dコンテンツは4,363,200minをSD/30fps、 VRコンテンツは34,682minをUHD/30fps で1パスエンコードするとして、

    0.0075 * 4363200 + 0.03 * 34682 = $33,764 解像度とFPSで
 料金が変わります
  38. 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
  39. ͘ Β ͏ Ͳ ; Ζ Μ ͱ CloudFront ④CloudFront

    トラフィックout
 0.114*10000 + 0.089*40000 + 0.086*50000+0.084*170000 = $23,280/day 23280 * 30 = $698,400 ウッ
  40. ύ ο έ ʔ δ ϯ ά 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
  41. ߹ ܭ Total Price αʔϏε ྉۚ (MBDJFS͔ΒͷϨετΞ  BMMpMFT .FEJB$POWFSU

     BMMpMFT 4  NPOUI .FEJB1BDLBHF  NPOUI $MPVE'SPOU  NPOUI ߹ܭ  
  42. 月9000万円ぐらい ※ これでいくのかは検討中です

  43. これをもとに目標値とコストを すり合わせていく

  44. ͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.

    DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
  45. 例えばこんな感じ RTO: 時間かかってもいいからオンプレから配信? RPO: 売れ筋コンテンツのみを配信する? RLO: 低画質1本ではなく複数画質?

  46. ͨ ͱ ͑ ͹ ʙ Example 「MediaConvertの所要時間が予想しづらい! もしかするとRTOがすごく大きくなってしまうかも?」 RTOの優先度は高いので、できるだけ短くしたい・・・ =>

    低画質なエンコード済みファイルもバックアップしちゃおう! => ファイルサイズは小さいのでストレージコストは許容できる => 低画質を配信しておいて裏で高画質をエンコードすることも可能 みたいな調整をしていく。
  47. 絶賛進行中です

  48. ͋ ͏ ͱ Β ͍ Μ Outline 1. ディザスタリカバリの目標値 2.

    DMM動画のバックアップって? 3. バックアップ先の選定 4. ディザスタリカバリの構成と試算 5. 目標値 v.s. コスト 6. その他のポイント・まとめ
  49. ͦ ͷ ଞ % 3 Ͱ ߟ ͑ Δ ΂

    ͖ ͜ ͱ Other Important Points • ドキュメントやコードの置き場所
 ドキュメンテーションツールがオンプレだったりしますよね?
 DRに必要なドキュメントも一緒に死んだらつらい。
 • IaC
 ドキュメントを見ながらポチポチ構築する時間はもったいない。
 CloudFormationやTerraformを活用するといいかも。 など...
  50. · ͱ Ί Summary • なにはともあれRTO・RPO・RLOを考える。 • 先にざっくりコスト試算をして、すり合わせていくのがオススメかも。
 • Deep

    Archiveの登場により、大容量ファイルのバックアップに革命が起 きた。コストを理由にバックアップを取れない時代は終わった。
 • 動画配信のDRなら、現状AWS一択では? • 他にベターな選択肢があれば教えてください
  51. Amazon Web Services、"Powered by AWS"ロゴ、およびかかる資料で使用されるその他のAWS商標は、 米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。