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

AWSコスト削減事例祭り

Autify
February 27, 2023

 AWSコスト削減事例祭り

2023年2月22日に開催された「【Autify x ZOZO x dip共同開催】AWSコスト削減事例祭り」の発表資料

https://zozotech-inc.connpass.com/event/273113/

Autify

February 27, 2023
Tweet

More Decks by Autify

Other Decks in Technology

Transcript

  1. AWSコスト削減事例祭り
    Feb 22, 2023
    Autify 松浦隼人

    View Slide

  2. 今日のトピック
    ● AutifyでのAWSコスト見直しのきっかけと手法
    ● インパクトのあったコスト削減策

    View Slide

  3. 自己紹介
    松浦 隼人
    ● オーティファイ株式会社
    ● Twitter : dblmkt
    ● 経歴
    ○ インフラ何でも屋
    ○ 某ブログサービスのインフラ担当
    ○ テクニカルサポート
    ○ インフラ + Rails
    ● 趣味
    ○ 翻訳

    View Slide

  4. https://autify.com/ja

    View Slide

  5. https://autify.com/ja/mobile

    View Slide

  6. 以前(〜2022年)
    ● サービス開始当初(2019年)
    ○ 顧客数にコストが比例 = 無駄が多い
    ● 大幅なインフラ構成の見直し → テスト実行に応じたコスト構造に
    ○ 「FargateとLambdaで作るスケーラブルな E2Eテスト実行基盤」参照

    View Slide

  7. Web servers Workers
    Create
    test scenario
    Request
    test execution
    Upload test result
    User
    in
    customer A
    (on demand)
    (shared)
    Test devices
    (shared)
    View test result
    Hub
    Nodes
    Start
    Start
    Upload
    test scenario
    2
    1
    3
    Scenario
    Device farms
    Get test
    information
    4
    Execute
    test scenario
    5
    Result
    Result
    Result
    Test
    Test
    Test
    6
    7

    View Slide

  8. Ver. 3化
    週末
    顧客数5割増

    View Slide

  9. 以前(〜2022年)
    ● 基本的に売上増 = インフラコスト増の構造になった
    ○ 利用が増えればインフラコストはペイできる
    ○ 開発時はコスト構造意識しつつもコスト削減施策は劣後
    ○ コスト増と売上増の比率が近しいことのみ逐一確認
    ● クラスメソッドの5%ディスカウントプランに切り替え
    ○ サポート付きで一律安くなる
    ● Savings Planは積極的になっていなかった
    ○ Convertibleを買いたいが見通しが立たない

    View Slide

  10. 急激なコスト増
    ● 2022年8月リリースのAutify for Mobileの
    開発が本格化
    ○ 開発用インスタンスを一時的に起動
    ○ ユーザが少ないのでコスト効率が悪い
    ○ 相次いでいたWebの障害からの学びで
    やや大きめのリソースを割り当て
    ● 2022年5月からAWSコスト急増
    全体的なコスト見直しのきっかけに

    View Slide

  11. コスト見直し開始
    ● 2022年8月から本格的にAWSコスト見直しを開始
    ○ クラメソのダッシュボードからの情報をもとにSpreadsheet作成
    ○ 各項目に対して以下の項目で優先付け
    ■ 削減の方法
    ● コストへのインパクト
    ● 実装コスト

    View Slide

  12. コスト見直し開始

    View Slide

  13. コスト削減の具体策 : トラフィック削減
    ● NATゲートウェイを通るトラフィックの削減
    ○ 歴史的経緯からほぼ全トラフィックがNATゲートウェイを通過
    ■ トラフィック課金が大きい
    ○ VPCエンドポイント設定済みだからOK!
    ■ と思ったらされていないリージョンがあった。。。
    ■ 適切に設定して削減済み
    ○ 動的IPでいいコンポーネントはできるだけ動的IPへ移行済み

    View Slide

  14. コスト削減の具体策 : S3
    ● S3
    ○ テスト実行結果を保存 → かなりの容量
    ○ 全部Standardに保存してた
    ○ Intelligent tieringを有効に
    ○ 既存データが大きい場合、有効にした
    直後の一時的コスト増に注意

    View Slide

  15. コスト削減の具体策 : EC2・RDS関連
    ● インスタンスタイプのダウングレード
    ○ ただしCPU使用率・メモリ使用量には十分注意
    ● EBSボリュームのダウングレード
    ○ B2Bのアクセス量だとio2は不要、gp2/3で十分

    View Slide

  16. コスト削減の具体策 : ログ関連(CloudWatch)
    ● CloudWatchに何でもかんでも送りすぎていた
    ○ 必要そうだから送る、だとツラい(便利な時はあるけれど)
    ○ 削除または代わりにS3に送る
    ■ リアルタイム性が低い
    ■ 検索の必要性が低い

    View Slide

  17. コスト削減の具体策 : 余談(Datadog)
    ● Datadogにもログを送りすぎ
    ○ CloudWatchより(用途によるが)さらに高い
    ○ CloudWatchとの住み分けで使用量削減
    ● 必要ない監視項目
    ○ 停止
    ○ 間引きする

    View Slide

  18. コスト削減の具体策 : その他細かい改善
    ● ECRの不要なイメージ削除
    ○ ライフサイクル設定を入れて古いものを自動削除
    ● Packerが途中で失敗したインスタンスの削除
    ○ 見落としがあった

    View Slide

  19. コストの可視化
    ● 他のビジネスKPIと同様にBIツールで可視化
    ● ビジネスKPIの1つとして注視
    ○ インフラコストが売上の何%なのか

    View Slide

  20. その結果
    AWSコストの推移 AWSコスト・売上比率の推移

    View Slide

  21. コスト削減の具体策 : 着手中の項目
    ● リソースへのタグ付けと可視化
    ○ コンポーネントごと、リージョンごと
    ■ Web, Mobileその他サブコンポーネントごとのコストが
    即時に分かるように
    ○ Terraformでリソース作成時から付与
    ○ 約70%完了
    ● Savings Planの購入

    View Slide

  22. コスト削減の具体策 : 着手中の項目
    ● Fargate(ECS)からEC2(EKS)への移行
    ○ テスト実行のワークロード的にメモリの方が重要
    ■ メモリが多くvCPUが小さいコンテナが欲しいができない
    ■ メモリ多いEC2インスタンスに詰め込む方が効率的
    ■ コンテナキャッシュが効いて起動が早くなるなど利点が多い
    ○ 今週から本番移行開始、徐々に展開中

    View Slide

  23. まとめ
    ● 基本は売上とコストが比例するシステム構成を選ぶ
    ● それにあぐらかいてると痛い目に...
    ○ 定期的に見直し
    ○ コストの可視化
    ● 余談
    ○ AWS Solutions Architect (Associate|Professional)で
    コスト管理に関する問題が多い
    → テクニックとしてすぐ使える

    View Slide

  24. https://autify.com/ja/career

    View Slide

  25. Webアプリケーションの自動テスト
    Autify for Web
    14日間無料トライアル受付中
    https://autify.com/ja/trial
    ネイティブアプリケーションの自動テスト
    Autify for Mobile
    デモリクエスト受付中
    https://autify.com/ja/mobile
    アジャイル開発のための、
    ソフトウェアテスト自動化プラットフォーム「Autify」

    View Slide