2K Views
August 27, 24
スライド概要
ウェルスナビ株式会社 技術広報チームの公式アカウントです。
EKS on Fargateのコストを 削減してみた 森祐太朗 SRE meetup 〜サービス事業会社のSREが向き合う課題〜 1
⾃⼰紹介 森 祐太朗(Mori Yutaro) ウェルスナビ株式会社 システム基盤 ウェルスナビでは ● 2024年3⽉ ⼊社 ● 新規プロダクトに向けた環境基盤を構築中 ひとこと ● 自社で発表は初めてなので妙な緊張感があります 2 @2024 WealthNavi Inc.
資産運用ロボアドバイザー 「 WealthNavi 」 3 ※ ⼀般社団法⼈⽇本投資顧問業協会「契約資産状況(最新版)(2024年3⽉末現在) 『ラップ業務』『投資⼀任業』」を基にネット専業業者を⽐較 ウエルスアドバイザー 社調べ(2024年6⽉時点) ※ 画⾯はイメージです。
アジェンダ 1. 課題 2. 概要 3. アーキテクチャ 4. 効果 5. さいごに 4 @2024 WealthNavi Inc.
1. 課題 2. 概要 3. アーキテクチャ 4. 効果 5. さいごに 5 @2024 WealthNavi Inc.
なんの数字でしょうか? 2019/6 107.88 2024/6 160.86 6 @2024 WealthNavi Inc.
ドル円レート 月足かつ終値表記 2019/6 107.88円 2024/6 160.86円 https://www.bk.mufg.jp/tameru/gaika/realtime/chart.html 7 @2024 WealthNavi Inc.
コスト最適化の⽅法 ● Reserved Instanceなど前払いプランを利⽤する ● 不要なリソースを削除する ● 最新世代のインスタンススペックを利⽤する ● 業務中しか使わないリソースを休⽇に⽌める 8 @2024 WealthNavi Inc.
コスト最適化の⽅法 ● Reserved Instanceなど前払いプランを利⽤する ● 不要なリソースを削除する 今回の取り組みはこちら ● 最新世代のインスタンススペックを利⽤する ● 業務中しか使わないリソースを休⽇に⽌める 9 @2024 WealthNavi Inc.
EC2やECS on Fargateはソリューションがあるが… 10 @2024 WealthNavi Inc.
EKS on Fargateは難しい… ● ● Fargateなので実行基盤の管理は不要 ECSと違いk8sベースのコンテナオーケ ストレーションなので Pod管理するAPIが ない ソリューションとしてAWSが提供 してくれるものはなく 作り込みが必要になる 11 @2024 WealthNavi Inc.
Argo Workflowsを使おう💡 12 @2024 WealthNavi Inc.
1. 課題 2. 概要 3. アーキテクチャ 4. 効果 5. さいごに 13 @2024 WealthNavi Inc.
Argo Workflowsとは ● Kubernetes上で並列ジョブをオーケストレーション してくれるワークフローエンジン ● ArgoCDと親和性があり連携が容易 https://argoproj.github.io/workflows/ 14 @2024 WealthNavi Inc.
ArgoCDについて ● GitOpsを実現するCDツール ● リポジトリで管理されてい るマニフェストの変更を⾃ 動検知し、Kubernetesに変 更を⾃動デプロイする ○ ⾃動検知が後々やっか いなことに… 15 @2024 WealthNavi Inc.
余談 ~他に検討したもの~ 魅力 課題 Amazon Managed Workflows for Apache Airflow(MWAA) ● AWSのマネージド・ サービスで他サービス と連携が容易 他社で事例があり参照 できる ● ● セットアップが複雑 Apache Airflow自体の運用 設計について新しく整備す る必要がある Kubernetes cronjob ● ● 機能がシンプル 追加コスト不要 ● GUIが提供されていない ● 16 @2024 WealthNavi Inc.
1. 課題 2. 概要 3. アーキテクチャ 4. 効果 5. さいごに 17 @2024 WealthNavi Inc.
アーキテクチャ 18 @2024 WealthNavi Inc.
⼀つ問題が… 問題 ⽬指す状態 ● ⾃動同期を有効化してる ○ リポジトリのマニフェストを定期的 に参照する ○ WorkflowsがPod停⽌しても ● Podを停⽌する前に⾃動同期を無効化 する ● 朝起動する前に⾃動同期を再び有効化 する マニフェストを⾒て起動する 19 @2024 WealthNavi Inc.
コードと解説⽂(⼀部改変) ● Podを停⽌する前にArgoCD CLIコンテナで⾃動同期を無効化 ● ReplicaSetの数を0にしてPodを停⽌する 20 @2024 WealthNavi Inc.
1. 課題 2. 概要 3. アーキテクチャ 4. 効果 5. さいごに 21 @2024 WealthNavi Inc.
休⽇のEKSコストが2/3まで削減🎉 8/9(金)に有効化 土日にコストがガクンと減っている 22 @2024 WealthNavi Inc.
1. 課題 2. 概要 3. アーキテクチャ 4. 効果 5. さいごに 23 @2024 WealthNavi Inc.
今後の予定 未導⼊のプロダクトへ実装 ● 全プロダクトのdev環境やstg環境に導⼊を今年中に進めていきコスト削減に貢献した い 開発者側でリソースの起動停⽌を設定できる運⽤設計 ● ● 開発者側で起動停⽌のスケジュールを設定変更できるようにドキュメントを整備する Aurora DBもk8sマニフェストで管理しArgo Workflows配下でスケジューリング ○ TerraformでIaC化しているが、開発者⾃⾝でDBも起動停⽌スケジューリングさ せて開発体験向上を狙う 24 @2024 WealthNavi Inc.
【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 25 @2024 WealthNavi Inc.
Appendix 1 定期的にWealthNaviの開発(技術‧組織)に関する情報を発信しています。 開発者ブログ ● 技術広報に関する お問い合わせ先 ● https://zenn.dev/p/wn_engineering ブックマーク追加や記事への「いいね」していただけると嬉しいです ウェルスナビ DevRelチーム([email protected]) 26 @2024 WealthNavi Inc.
Appendix 2 ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 主な採⽤中職種 ● ● ● ● ● モバイル開発エンジニア エンジニアリングマネージャー バックエンド開発エンジニア QAエンジニア データエンジニア 採⽤情報詳細 ● 下記URL(QRコード)よりご確認ください。 https://recruit.wealthnavi.com/ 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 27 @2024 WealthNavi Inc.
ご清聴ありがとうございました 28 @2024 WealthNavi Inc.