Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]

13,718 views

Published on

DeNA のインフラエンジニアたちが IaaS を利用するにあたってどのようにして品質,コスト,リードタイムをマネジメントしてきたか,その具体的な方法についてご紹介いたします。

なお、こちらは AWS Summit Tokyo 2019 で発表した内容です。

Published in: Technology
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]

  1. 1. S U M M I T Tok yo
  2. 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T DeNA の QCT マネジメント IaaS 利用のベストプラクティス 土屋 圭 株式会社ディー・エヌ・エー システム本部 IT 基盤部第四グループ
  3. 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 土屋 圭 (Kei Tsuchiya) • 所属 • システム本部 IT 基盤部第四グループ マネージャー • 経歴 • 2014年4月 大学院修士課程修了後,DeNA 新卒入社 • 2014年~ 国内向けゲームプラットフォームの運用を担当 • 2016年~ 超大規模なゲームタイトルの運用を担当 • 2017年~ チームリーダー • 2019年~ グループマネージャー (現職) • 全世界向けに展開するゲームおよびゲームプラットフォームのインフラを担当 • クラウドの全社的な利用を管理するチームのリーダーも兼任
  4. 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T アウトライン 背景 DeNA のインフラの概況とコストコントロールの必要性 QCT マネジメント コストコントロール施策の検討と実サービスへの適用 まとめ QCT マネジメントの成果と今後の展望
  5. 5. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  6. 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T DeNA の QCT マネジメント • Quality 最高品質のインフラを提供する • Cost コストをきちんとコントロールする • Time インフラ提供までのリードタイムを短くする
  7. 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T DeNA インフラの概況 • オンプレからクラウドへ • メインのシステム基盤はオンプレ • 2013年~ クラウド利用開始,以降適材適所でクラウドを利用 • 2015年~ クラウド利用急増 • 2018年6月にクラウドへの全面移行を決定 [1], [2] • 移行プロジェクトスケジュール • 2018年~ 移行の準備期間 • クラウドに最適化したシステム基盤の実装・設計 • 既存クラウド利用サービスへのコストコントロール施策の適用 • 2019年~ 本格移行期間 • 2020年~ 完全移行,仕上げ期間 [1] オンプレミスに強みをもつDeNAはなぜクラウド化を決めたのか? その舞台裏と今後の展望 [フルスイング] https://fullswing.dena.com/archives/2638 [2] DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019] https://www.slideshare.net/dena_tech/dena-dena-techcon-2019
  8. 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T コストコントロールの必要性 • クラウド化の最大の懸念はコスト • オンプレ環境では圧倒的な低コストを実現 • 工夫なしでクラウド化するとコストが 3 倍に • コストコントロール施策の検討 • クラウドならではの様々な施策を検討 • 未実施比 50% 削減が可能という試算結果に • QCT マネジメントの実証へ • 本格移行前にコストコントロール施策の効果を実証する必要があった • 大規模にクラウド利用中のサービスへ施策を適用することに
  9. 9. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  10. 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  11. 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  12. 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 対象システムの構成図
  13. 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 対象システム構成の特徴 EC2 メインに利用 • オンプレのノウハウを最大限活用 • 柔軟な構成を組むことができる • マネージドサービスに比べ安価 複数 AZ に分散して配置 • 全コンポーネント均等に分散 • 1 AZ 障害時もサービス継続可能 内部通信の負荷分散は MyDNS • 負荷分散層を挟まずダイレクトに通信 • Weighted RR でのトラフィック制御 DB は MySQL on EC2 • Master HA による master 高可用性 • 高いスケーラビリティを確保 • Read: master-slave 構成 • Write: シャーディング (水平分割)
  14. 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 対象システムのコスト分析 EC2 (EBS, ELB 含む) ステートレスなサーバ群 (Proxy, Web, Cache, Daemon) ステートフルなサーバ群 (DB, Elasticsearch) 100 [%]908050 その他 その他 0 • コスト全体の 90% が EC2 • 最も支配的なステートレスサーバに対する施策は必須 • ステートフルサーバは性質上コスト削減は容易でないが,コストは大きく何らか対応が必要
  15. 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  16. 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T コストコントロール施策一覧 ステートレス ステートフル オートスケーリング導入 ◎ × スポットインスタンス導入 ◎ × サーバ集約 △ ◎ インタンス最新化 ○ ○ リザーブドインスタンス適用 ○ ○ スペック・台数適正化 ○ ○ 効果の大きさ ◎: 大,○: 中,△: 小,×: なし
  17. 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  18. 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケーリングの導入対象 台数が 非常に多い系統
  19. 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケーリングの導入検討 • これまで • 最大負荷を 50% の余裕を持って捌けるような台数に手動で調整 • オートスケールは入っていたが,安全弁用途 (スケールアウトしかしない) • 要件 • インフラ品質は最高水準維持 • 台数の自動調整,突発的なトラフィック急騰にも対応できるように わずか数秒の間にリクエスト数が 3 倍に リクエスト数の推移
  20. 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケーリングのシステム概要 • フルスクラッチで独自に開発 • マネージドサービスでは実現できない柔軟性の確保,既存資産の有効活用などの理由 API サーバ メトリクス 保管サーバ 1. メトリクス 取得 (CPU 使用率) 3. 台数増減 トリガ プロビジョニング 実行サーバ 4. 台数増減 2. メトリクス 監視 監視サーバ インスタンス起動 ping, ssh 疎通確認 アプリケーションのデプロイ Chef 適用 MyDNS へ登録 MyDNS から削除 アクセスが止まったか確認 ログ回収 インスタンス削除 アプリケーションの起動 ヘルスチェック 増設 撤去
  21. 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケーリングの高速化 • デプロイ・プロビジョニングの高速化 • 専用 AMI を定期作成,構築時のプロビジョニング処理やデプロイのスキップを可能にした • サーバ構築処理の高速化 • 構築処理は極限まで並列化,同時実行不可能な処理は複数インスタンスまとめて実行 同時実行可能な処理 同時実行不可能な処理 インスタンス 1 の構築処理 待ち時間 増設の時間短縮 インスタンス 2 の構築処理 インスタンス 3 の構築処理 インスタンス 1 の構築処理 インスタンス 2 の構築処理 インスタンス 3 の構築処理 一定時間,他の構築処理を待つ 3 インスタンス分の処理をまとめて実行
  22. 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケーリングの安定化 構築/撤去処理の安定化 • 適切なリトライ,タイムアウトの設定 • きめ細やかなエラーハンドリング 時間指定による増設 • 予測可能なトラフィック増への備え • 事前に増設して必要キャパシティ確保 監視 • オートスケール関連監視はオンコール • CPU 使用率の監視 • 台数監視 (事前増設の失敗検知) フラッピング防止 • 目標 CPU 使用率は 50% • 40% で撤去,60% で増設 必要台数計算の工夫 • 構築,撤去中のサーバ数も考慮 • 増やしすぎ,減らしすぎを防止 複数インスタンスファミリ • 特定インスタンスファミリの枯渇対策 • 例: c5 系枯渇時は c4, c3 も使う
  23. 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケーリング導入の効果 API サーバの費用 30% 減 安定稼働により運用工数ほぼゼロに インスタンス数の推移
  24. 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  25. 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T スポットインスタンスの導入対象 ステートレス サーバ
  26. 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T スポットインスタンスの導入検討 • 特徴 • オンデマンド比最大 90% の割引価格で利用できる EC2 インスタンス • ただし,いつ中断されるか分からず中断通知から 2 分後に強制シャットダウン • 安い代わりに高頻度で故障するインスタンスと考えれば良い • 要件 • インフラ品質は最高水準維持,特にストップ中断によるサービス影響はゼロにする • スポット率 100% • 導入に必要なこと • インスタンス管理の完全自動化 • インスタンスの構築/撤去,台数の維持/調整,サービス投入/切り離しなど • スポット中断への対策
  27. 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 想定されるサービス影響とその対策 • スポット中断 • 何もせずにシャットダウンされれば当然 failover が完了するまでエラーが返る • シャットダウンされるまでに即座にサービスから切り離す必要がある  スポット中断の常時監視  インスタンス撤去時の処理の非同期化 • 大量のスポット中断 • 残されたインスタンスの負荷が急激に上がり,エラーを返す可能性がある • オンデマンドインスタンスも一定数維持することによって, スポット全滅時も十分なキャパシティが確保されるような運用にすることで回避は可能 • しかし,こうするとスポット率を 100% にはできない  在庫特性を考慮したリスク軽減策の導入
  28. 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T スポット中断への対策 [1/2] • スポット中断通知の常時監視 • 監視 daemon をスポットインスタンス全台で稼働させる • リンクローカルアドレスを polling • 中断を検知したら即座にサービスからの切り離し処理を実行 • 例えば API サーバの場合は MyDNS から自身のレコードを削除する • DNS の TTL は 3 秒なので余裕を持って 2 分以内には切り離しが完了する スポットインスタンスMyDNS GET /meta-data/spot/instance-action 169.254.169.254 Delete DNS record
  29. 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T スポット中断への対策 [2/2] • インスタンス撤去処理の非同期化 • 特にログ回収がネック,圧縮と s3 への転送が 2 分以内ではとても間に合わない • インスタンスシャットダウン後も EBS は残す • 別インスタンスに EBS をマウントし,ログの圧縮と s3 への転送を行う • 専用のオンデマンドインスタンスを各 AZ に配置,上記処理を実施するバッチを定期実行 PUT スポットインスタンス + EBS マウント スポット中断 ログ回収用 オンデマンドインスタンス s3
  30. 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 大量のスポット中断への対策 [1/4] • 在庫特性を考慮したリスク軽減策 • プール数を増やし,スポット全滅のリスクを実質ゼロにする • プールとはインスタンスタイプと AZ の組み合わせのこと : スポットとして利用可能な空きリソース
  31. 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 大量のスポット中断への対策 [2/4] • 20 プール以上でスポット率 100% が可能 • 過去の統計情報からサービス影響のリスクを計算 • 20 プールあれば在庫薄の時期でもキャパシティが半分以下になる確率はほぼゼロ あるプールのスポットインスタンスが全滅 しかし,全体のキャパシティに与える影響は軽微 プールごとのスポットインスタンス数
  32. 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 大量のスポット中断への対策 [3/4] • 20 プールの確保方法 • インスタンスファミリーだけを変えるような単純な方法ではうまくいかない • 異なるファミリー間の性能差が無視できない • m5 系の不安定さ (おそらくターボブーストによる) • 落ちやすい/枯渇しやすいインスタンスファミリーが存在 (c5n, r5 など) AZ 数 c5.4xlarge 5 c4.4xlarge 5 c3.4xlarge 5 m5.4xlarge 5 合計 20 ✖️ 同一ワークロードでの CPU 使用率 c5.4xlarge c4.4xlarge 25% の性能差
  33. 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 大量のスポット中断への対策 [4/4] • ファミリー統一,タイプをバラバラに • セカンダリ IP を活用し,コア数に応じた負荷分散を可能にした • セカンダリ IP も含めて MyDNS に登録する • 4xlarge と 9xlarge ではコア数は 2 倍ではないが,性能比は 2 倍になった c5.2xlarge c5.4xlarge c5.9xlarge Proxy AZ 数 IP 数 c5.2xlarge 5 1 c5.4xlarge 5 2 c5.9xlarge 5 3 c5d.9xlarge 5 3 合計 20 -
  34. 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 大量のスポット中断の実例 • Amazon Cyber Monday Sale • 2018/12/06 • 4 プールで運用 • 10分間で c5.2xlarge が全滅 • Amazon New Year Sale • 2019/01/02~04 • 9 プールで運用 • 10 分間でスポットの約 30% が中断 最高品質維持のためにプール数確保は必須 プールごとのスポットインスタンス数
  35. 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T スポットインスタンスを含めた台数維持 スポット オンデマンド スポットインスタンスが枯渇した場合は オンデマンドインスタンスを起動 スポットインスタンスが回復した場合は オンデマンドインスタンスを撤去 一定台数を指定されたスポット比率で維持 インスタンス数
  36. 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T オートスケール + スポットインスタンス 大部分をスポットでカバー オンデマンドも合わせて必要キャパシティを確保 インスタンス (IP Address) 数
  37. 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T スポットインスタンス導入の効果 • 試行錯誤を繰り返しスポット率 100% へ ステートレスサーバのコスト 60% 減 スポット中断によるサービス影響ゼロ スポット率
  38. 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  39. 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T サーバ集約の対象 DB サーバ
  40. 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ゲーム利用における DB サーバの特徴 • 負荷傾向 • リリース当初は IO (特に write) がボトルネック,CPU も高めに推移 • リリース後しばらく経過すると IO, disk size がボトルネック,CPU はほぼ使わない • 基本構成 • r4.2xlarge + EBS 2TB • Master HA による master 高可用性 • master-slave 構成,シャーディング (水平分割) 多用 • サーバ集約の必要性 • リリース時は write のスケーラビリティが非常に重要,大量のシャードを用意 • シャーディングされた DB は維持コストが非常に高い • スペックダウンにも限界があるため,サーバの集約が必須になる
  41. 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ローカルストレージの利用 • 高 IO 性能で高集約率を実現 • IO がボトルネックの DB を集約するには,EBS の IO 性能では足りない • i3 インスタンスを活用,データを四重に保持しデータロストのリスクに備える 0 10,000 20,000 30,000 40,000 0 100 200 300 400 500 600 IOPS throughput [MB/s] rand read 16K rand write 16K read 16K write 16K r4.large, EBS 1TB i3.large※ 上記は当社環境での計測結果に基づいたものです。
  42. 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T DB サーバの集約方法 • 1 インスタンス上に複数 MySQL プロセスを動かす • セカンダリ IP を付与し,各 MySQL プロセスを bind • リソースを効率的に利用するための方法としてオンプレ環境で活用 • メンテなしで集約,リードタイム削減 • 各シャードの master から集約先へレプリケーションを張る • その後 Master HA によるオンライでの master 切替 • 再度スケールアウトさせることも可能 • 万一高負荷になっても即日スケールアウト可能 • DB サーバ数を 75% 削減 • 負荷傾向を見ながら段階的に集約を進めた Replication 旧 master 新 master
  43. 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T QCT マネジメント • 施策実施対象システムの概況 • 施策一覧 • オートスケーリング導入 • スポットインスタンス導入 • サーバ集約 • その他
  44. 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T その他の施策 • インスタンスタイプ最新化 • 最新のインスタンスは高性能かつ安価,例えば c3 を c5 換装するだけで 20% コスト減 • 台数・スペックの適正化 • オートスケールが入っていない系統は徹底的に性能管理,定期的にスペック見直し • オンプレと違い不要なリソースを削除すれば即座にコストメリットが得られる • リザーブドインスタンス適用 • 台数もスペックも変わらない系統には積極的に適用する • マネージドサービス活用 • 台数的に小規模なものは費用が割高でも管理工数を考えてマネージドへ • 例えば Redis は高可用性維持の手間を考え ElastiCache へ
  45. 45. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  46. 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T コストコントロール施策の成果 EC2 ステートレスなサーバ群 ステートフルなサーバ群 100 [%]90 その他 その他 0 60% 超削減 Before After 40
  47. 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T まとめと今後の展望 • まとめ • クラウド移行の準備として,コストコントロール施策を実証 • 最終的にコストは何もしない場合と比べ 60% 以上削減 • QCT マネジメントにより,インフラ品質は最高品質維持,リードタイムも変わりなし • 今後の展望 • クラウドへの本格移行 • 本施策の仕組みを各サービスへ展開 • 継続して QCT マネジメントを実践 • まだまだ他にも実施できる施策がある • マネージドサービスの活用も積極的に検討 • DeNA は事業会社であり,インフラ運用が目的ではない

×