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

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

tinoji
June 12, 2019

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

tinoji

June 12, 2019
Tweet

More Decks by tinoji

Other Decks in Technology

Transcript

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

    View Slide

  2. View Slide

  3. View Slide

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

    View Slide

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

    View Slide

  6. ⚠大事な前置き⚠

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. DR完璧だよって人〜

    View Slide

  11. ͋ ͏ ͱ Β ͍ Μ
    Outline
    1. ディザスタリカバリの目標値
    2. DMM動画のバックアップって?
    3. バックアップ先の選定
    4. ディザスタリカバリの構成と試算
    5. 目標値 v.s. コスト
    6. その他のポイント・まとめ

    View Slide

  12. % 3 ͷ ໨ ඪ ஋
    Three Objective
    • Recovery Time Objective: 目標復旧時間

    災害発生から(暫定)復旧までの時間

    • Recovery Point Objective: 目標復旧時点

    災害発生からどの時点までさかのぼってデータを復旧するのか

    • Recovery Level Objective: 目標復旧レベル

    暫定復旧時にどの程度のサービスレベルを求めるか

    View Slide

  13. NEC ディザスタリカバリシステムの考え方: https://jpn.nec.com/solution/bcdr/dr_system01.html
    % 3 ͷ ໨ ඪ ஋
    Three Objective

    View Slide

  14. • Recovery Time Objective: 目標復旧時間

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

    => どれくらいのコンテンツ数を復旧するか(RLOにも関係)

    • Recovery Level Objective: 目標復旧レベル

    => 動画の品質(画質)をどこまで落とすか
    % 3 ͷ ໨ ඪ ஋
    Three Objective
    DMM動画の場合

    View Slide

  15. ͋ ͏ ͱ Β ͍ Μ
    Outline
    1. ディザスタリカバリの目標値
    2. DMM動画のバックアップって?
    3. バックアップ先の選定
    4. ディザスタリカバリの構成と試算
    5. 目標値 v.s. コスト
    6. その他のポイント・まとめ

    View Slide

  16. 弊サービスの動画ファイルの

    バックアップ?

    View Slide

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

    View Slide

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

    View Slide

  19. ໰ ୊ ఺
    Problems
    • 元ソースのバックアップではない

    配信用にエンコードしたものをバックアップしているので、再
    エンコードが不可能。
    • オペレーションコスト

    多くのファイルをリストアするオペレーションのコストが大。

    • ディザスタリカバリとしての利用が困難(不可能)

    一定期間(多分それなりに短い)後に消しているのでダメ・・・

    無通電で長期間保管されたHDDもある・・・(生きてるのか?)

    View Slide

  20. で、

    View Slide

  21. 最近エンコーダースタックを

    リプレースしてまして、

    View Slide

  22. バックアップの見直しも

    行うことになりました!

    View Slide

  23. ͋ ͏ ͱ Β ͍ Μ
    Outline
    1. ディザスタリカバリの目標値
    2. DMM動画のバックアップって?
    3. バックアップ先の選定
    4. ディザスタリカバリの構成と試算
    5. 目標値 v.s. コスト
    6. その他のポイント・まとめ

    View Slide

  24. ό ο Ϋ Ξ ο ϓ ઌ Ͳ ͏ ͢ Δ
    Backup Destination
    以下3サービスを検討。論点は値段とDR時の暫定運用の容易さ。
    • AWS

    Glacierがそこそこ安い。Media Servicesを利用して配信が可能。
    • GCP

    Coldlineでもかなり高い。GCPコンポーネントとして動画配信系の
    ものが存在しない(ソリューションサンプルはある)。

    • とある光ディスクアーカイブサービス

    コスト上限があるので安心だが、DR時の配信サーバは別途組む必要
    がある。

    View Slide

  25. ό ο Ϋ Ξ ο ϓ ઌ Ͳ ͏ ͢ Δ
    Backup Destination
    以下3サービスを検討。論点は値段とDR時の暫定運用の容易さ。
    • AWS

    Glacierがそこそこ安い。Media Servicesを利用して配信が可能。
    • GCP

    Coldlineでもかなり高い。GCPコンポーネントとして動画配信系の
    ものが存在しない(ソリューションサンプルはある)。

    • とある光ディスクアーカイブサービス

    コスト上限があるので安心だが、DR時の配信サーバは別途組む必要
    がある。

    View Slide

  26. うーん、Glacierでも

    まぁまぁ高いな

    View Slide

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

    View Slide

  28. Glacier Deep Archive

    View Slide

  29. ͜ ͍ ͭ ͸ ΍ ͹ ͍
    Deep Archive
    (MBDJFS (MBDJFS%FFQ"SDIJWF
    ετϨʔδྉۚ (#NPOUI (#NPOUI
    औΓग़͠ྉۚ (# (#
    औΓग़͠ϦΫΤετྉۚ SFR SFR
    ࠷খอଘظؒ EBZT EBZT
    औΓग़࣌ؒ͠ IPVST IPVST
    େ༰ྔऔΓग़࣌ؒ͠ IPVST IPVST

    View Slide

  30. View Slide

  31. これしかねぇ・・・

    View Slide

  32. ͋ ͏ ͱ Β ͍ Μ
    Outline
    1. ディザスタリカバリの目標値
    2. DMM動画のバックアップって?
    3. バックアップ先の選定
    4. ディザスタリカバリの構成と試算
    5. 目標値 v.s. コスト
    6. その他のポイント・まとめ

    View Slide

  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Ͱ
    ৯͑ΔΑ͏ʹʂ
    ϓϨΠϠʔ

    View Slide

  34. 試算!

    View Slide

  35. ͜ Μ ͳ ঢ় گ Λ ߟ ͑ ͯ Έ Δ
    Assumed Condition
    ①バックアップ開始から1年後のDRを考えてみる
    ・総ファイル時間 7.3万時間
    ・総ファイルサイズ 約1.5PB
    ②DR時には、1ヶ月間、低画質のみの配信を行うことを想定する
    (つまり1年間分のバックアップコンテンツを1ヶ月だけAWSから配信する)

    View Slide

  36. Ϩ ε τ Ξ
    Restoring Files
    ①Deep Archiveからのレストア
    大容量取り出しで1.5PBをレストアするとして、
    $0.0025/GB * 1,500,000GB = $3,750
    取り出しリクエストの料金は安いので無視。
    取り出し時間は
    > 48時間

    View Slide

  37. Τ ϯ ί ʔ υ
    Encoding
    ②MediaConvertによるエンコード
    2Dコンテンツは4,363,200minをSD/30fps、
    VRコンテンツは34,682minをUHD/30fps
    で1パスエンコードするとして、
    0.0075 * 4363200 + 0.03 * 34682 = $33,764
    解像度とFPSで

    料金が変わります

    View Slide

  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

    View Slide

  39. ͘ Β ͏ Ͳ ; Ζ Μ ͱ
    CloudFront
    ④CloudFront
    トラフィックout

    0.114*10000 + 0.089*40000 + 0.086*50000+0.084*170000
    = $23,280/day
    23280 * 30 = $698,400
    ウッ

    View Slide

  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

    View Slide

  41. ߹ ܭ
    Total Price
    αʔϏε ྉۚ
    (MBDJFS͔ΒͷϨετΞ BMMpMFT
    .FEJB$POWFSU BMMpMFT
    4 NPOUI
    .FEJB1BDLBHF NPOUI
    $MPVE'SPOU NPOUI
    ߹ܭ

    View Slide

  42. 月9000万円ぐらい
    ※ これでいくのかは検討中です

    View Slide

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

    View Slide

  44. ͋ ͏ ͱ Β ͍ Μ
    Outline
    1. ディザスタリカバリの目標値
    2. DMM動画のバックアップって?
    3. バックアップ先の選定
    4. ディザスタリカバリの構成と試算
    5. 目標値 v.s. コスト
    6. その他のポイント・まとめ

    View Slide

  45. 例えばこんな感じ
    RTO: 時間かかってもいいからオンプレから配信?
    RPO: 売れ筋コンテンツのみを配信する?
    RLO: 低画質1本ではなく複数画質?

    View Slide

  46. ͨ ͱ ͑ ͹ ʙ
    Example
    「MediaConvertの所要時間が予想しづらい!
    もしかするとRTOがすごく大きくなってしまうかも?」
    RTOの優先度は高いので、できるだけ短くしたい・・・
    => 低画質なエンコード済みファイルもバックアップしちゃおう!
    => ファイルサイズは小さいのでストレージコストは許容できる
    => 低画質を配信しておいて裏で高画質をエンコードすることも可能
    みたいな調整をしていく。

    View Slide

  47. 絶賛進行中です

    View Slide

  48. ͋ ͏ ͱ Β ͍ Μ
    Outline
    1. ディザスタリカバリの目標値
    2. DMM動画のバックアップって?
    3. バックアップ先の選定
    4. ディザスタリカバリの構成と試算
    5. 目標値 v.s. コスト
    6. その他のポイント・まとめ

    View Slide

  49. ͦ ͷ ଞ % 3 Ͱ ߟ ͑ Δ ΂ ͖ ͜ ͱ
    Other Important Points
    • ドキュメントやコードの置き場所

    ドキュメンテーションツールがオンプレだったりしますよね?

    DRに必要なドキュメントも一緒に死んだらつらい。

    • IaC

    ドキュメントを見ながらポチポチ構築する時間はもったいない。

    CloudFormationやTerraformを活用するといいかも。
    など...

    View Slide

  50. · ͱ Ί
    Summary
    • なにはともあれRTO・RPO・RLOを考える。
    • 先にざっくりコスト試算をして、すり合わせていくのがオススメかも。

    • Deep Archiveの登場により、大容量ファイルのバックアップに革命が起
    きた。コストを理由にバックアップを取れない時代は終わった。

    • 動画配信のDRなら、現状AWS一択では?
    • 他にベターな選択肢があれば教えてください

    View Slide

  51. Amazon Web Services、"Powered by AWS"ロゴ、およびかかる資料で使用されるその他のAWS商標は、
    米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

    View Slide