Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

https://autify.com/ja

Slide 5

Slide 5 text

https://autify.com/ja/mobile

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

コスト見直し開始

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

https://autify.com/ja/career

Slide 25

Slide 25 text

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