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 full-size slide

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

    View full-size slide

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

    View full-size slide

  4. ⚠大事な前置き⚠

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. DR完璧だよって人〜

    View full-size slide

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

    View full-size slide

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

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

    • Recovery Point Objective: 目標復旧時点

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

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

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

    View full-size slide

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

    View full-size slide

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

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

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

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

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

    View full-size slide

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

    View full-size slide

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

    バックアップ?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

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

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

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

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

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

    View full-size slide

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

    リプレースしてまして、

    View full-size slide

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

    行うことになりました!

    View full-size slide

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

    View full-size slide

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

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

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

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

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

    View full-size slide

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

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

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

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

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

    View full-size slide

  23. うーん、Glacierでも

    まぁまぁ高いな

    View full-size slide

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

    View full-size slide

  25. Glacier Deep Archive

    View full-size slide

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

    View full-size slide

  27. これしかねぇ・・・

    View full-size slide

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

    View full-size slide

  29. ߏ ੒
    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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    料金が変わります

    View full-size slide

  33. 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 full-size slide

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

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

    View full-size slide

  35. ύ ο έ ʔ δ ϯ ά
    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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  42. 絶賛進行中です

    View full-size slide

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

    View full-size slide

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

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

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

    • IaC

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

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

    View full-size slide

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

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

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

    View full-size slide

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

    View full-size slide