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

DynalystにおけるECSとAutoScalingを用いたアーキテクチャのアップデート | CA BASE NEXT

DynalystにおけるECSとAutoScalingを用いたアーキテクチャのアップデート | CA BASE NEXT

□ 登壇者
黒金 宗史

□ 発表について
Dynalystはゲームに特化したリターゲティング広告のシステムを開発、運用しています。リクエストは秒間数十万にも上り広告システムの制約上、100ms以内にレスポンスを返さなくてはなりません。
プロダクトに数々のMLモデルを組み込んだりさらにプロダクトをスケールさせるためにはシステムのアップデートが不可欠になりました。
このセッションでは高トラフィックかつ低レイテンシなシステムをより低コストで運用しやすいシステムにするためにECSとAutoScalingを用いてアップデートしたことについてご紹介させていただきます。

セッション動画はこちら

□ CA BASE NEXT (CyberAgent Developer Conference by Next Generations) とは
20代のエンジニア・クリエイターが中心となって創り上げるサイバーエージェントの技術カンファレンスです。
当日はセッション・LT・パネルディスカッション・インタビューセッションを含む約50のコンテンツをYouTube Liveを通じて配信します。
イベントページ

□ 採用情報
サイバーエージェントに少しでも興味を持っていただきましたら、お気軽にマイページ登録やエントリーをおねがいします!

◆新卒エンジニア採用
エントリー・マイページ登録はこちら
採用関連情報のまとめはこちら

◆新卒クリエイター採用
エントリー・マイページ登録はこちら

◆中途採用
採用情報はこちら

CyberAgent

May 28, 2021
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. ໨࣍ Contents ໨࣍ Contents ໨࣍ Contents ໨࣍ Contents ໨࣍ Contents

    Agenda 1 . Dynalstについて 2 . 旧アーキテクチャについて 1 . 旧アーキテクチャの概要 2 . 課題に感じていたところ 3 . ECSを⽤いたアーキテクチャのアップデートについて 1 . ECSの説明 2 . ECSを選択した経緯 3 . 新しいアーキテクチャとAutoScaling戦略 4 . よかったこと/悪かったこと
  2. • 踏み台サーバーからFabricを⽤いてデプロイする • ロードバランサーからデタッチしバージョンをリリース したロードバランサーにアタッチする • デプロイ先のサーバーはhostsファイルで管理 デプロイに労⼒をつかう Fabric 踏み台サーバー

    bidインスタンス Classic Loadbalancer デプロイのたびに踏み台にsshし、 デプロイが終わるまで⾒守る必要がある 毎回30分ほどかかる /etc/hosts 10 . 0 . 0 . 1 bid 01 10 . 0 . 0 . 2 bid 02 … .. 
 10 . 0 . 0 . 110 bid 120 $ deploy bid 01 ,bid 02 ,bid 03… bid 1 20
  3. ⻑期的なトラフィックの変化に対応できない EC 2 Launch Template 踏み台サーバー bid xxx • AWSのコンソールにてLaunchTemplateからEC

    2 を作成 • 新しいインスタンスのIPを控えhostsファイルを編集 • 踏み台サーバーからItamaeを使ってプロビジョニング • Fabricにてデプロイ ⼿作業を強いられる上に 1台追加ごとに最⼤30分ほど時間がかかる
  4. • フルマネージド型のコンテナオーケストレーションサービス • インスタンスは管理するEC 2 型と 
 インスタンスも管理しなくて良いFargateが選べる 
 •

    Cluster - タスクやサービスを使う論理的なグループ • Task De fi nition - コンテナの定義(使⽤するリソースなども含む) • Service - 実⾏環境の様々な設定を定義する • Task - TaskDe fi nitionに基づいて起動されたコンテナの実⾏単位 Elastic Container Service(ECS)
  5. • nginx,Datadog,Scala, fl uentdをそれぞれサイド カーで⼀つのインスタンスに • CapacityProviderとServiceAutoScalingでオー トスケーリングを実現 • EC

    2 型を使⽤することでボリュームのマウントが できるためログの収集を今まで通り⾏う • コンテナ間の依存関係を設定しログの⽋損を対策 • ELBからALBに移⾏ 新しいアーキテクチャ
  6. • ECS on EC 2 はスケーリングは速くないがDSPなど 
 トラフィックに傾向があるプロダクトでは⼗分 
 •

    ECSを使うことでオートスケーリングやオートプロビジョニング 、 
 デプロイなどで発⽣するさまざまな悩みから解放される • ECSを正しく利⽤すれば⾼トラフィック x 低レイテンシーな 
 ワークロードでも簡単にオートケーリングが導⼊できる まとめ