AWSコストが増えた!リソースランキングTOP5
MIXTENDのインフラエンジニアの森です。弊社ではAWSを利用していますが、2025年の一年間でAWSコストが大きく増加し、問題となっていました。コスト削減の対応方針をまとめる機会があったので、この記事ではインフラで利用しているAWSサービスを一部紹介しつつ、コスト増加の原因となったリソースTOP5とその対策案を紹介していきます。
コスト増加の背景
インフラの継続的な開発
弊社ではインフラを継続的に開発、アップデートしています。
特に去年から今年にかけてEC2からECSへの移行を実施しており、その影響でコストが増加していました。
ユーザ数・リクエスト数の増加
弊社では主に調整さんとTimeRexという2つのサービスがありますが、どちらもユーザ数、利用数が伸びており、リクエスト数の増加によりコスト増加していました。仕方ない面もあるとはいえ、リクエスト数が増加してもコスト増加が抑えられるよう対策していきたいところです。
円安
どの企業もダメージを受けてると思いますが、弊社も漏れなく円安の煽りを受けています。
リソースTOP5
コスト増加の原因となったリソースTOP5です。コストが高い順ではなく、1年間でのコスト増加分が多い順に取り上げています。
第1位🥇 ECS Fargate vCPU
ECS Fargateの利用料
調整さんのECS移行を実施したため、ECS Fargateのコストが増加しました。ECSはこれまで使っていなかったので当然と言えば当然ですし、EC2削除によるコスト削減分も差し引かないといけませんが、コストは抑えていきたいところです。
第2位🥈 CloudWatch metric updates
Datadogへのデータ連携費用
弊社ではシステム監視にDatadogを利用していますが、AWSからDatadogへのデータ連携費用が思ったより増加していました。
第3位🥉 ELB data transfer out
調整さんELBからインターネットへのデータ転送費用
調整さんのリクエスト数増加により、インターネットへのデータ転送費用も大きく増加していました。
第4位 Lambda - Total Compute
調整さんOG画像作成Lambda リソース費用
調整さんにはOG画像を自動で作成してくれる機能があるのですが、その処理を行うLambdaのリソース費用も意外と増加していました。
第5位 CloudWatch custom log data ingested
調整さんRDS一般ログ取り込み費用
調整さんのリクエスト数増加に伴いRDSのログが増え、その取り込み料金が大きく上がっていました。
対策案
上記リソースのコスト削減案です。
1. ECS Fargateの利用料
- CPUアーキテクチャをx86からARMに変更
- 約20%削減見込み
- Savings Planの適用
- 約15%の削減見込み
- 開発環境ではFargate spotを利用
調べたところCPUアーキテクチャをARMに変更するとコスト削減できるようだったので変更します。
またSavings Planは既に購入済みでしたが、追加で購入できる余地があるようでした。
2. Datadogへのデータ連携費用
- 連携するメトリクスを絞る
- 約20%削減見込み
すべてのデータをDatadogに連携していたのですが、連携データを絞ることでコスト削減できるようでした。
3. 調整さんELBからインターネットへのデータ転送費用
- レスポンスを圧縮
- 約20%削減見込み
- CloudFrontを前段に置き、CloudFront Savings Bundleを利用
- 約30%削減見込み
今回の調査でレスポンスが圧縮されていなかったことに改めて気付いたため、Nginxでレスポンスをgzip圧縮します。
また現状の構成ではALBの前段にはCloudFrontを配置していないのですが、CloudFrontを配置することでCloudFront Savings Bundleを利用してコスト削減できそうでした。こちらは比較的大掛かりな変更となるため、どこかのタイミングで実施できればいいというところです。
4. 調整さんOG画像作成Lambda リソース費用
- CPUアーキテクチャをx86からARMにする
- 約20%削減見込み
- LambdaからECSに変更
- 約20%削減見込み
LambdaもECSと同様にCPUアーキテクチャをARMに変更することでコスト削減できるようでした。
また調査したところ、Lambdaへのリクエスト数が多いためLambdaを毎回起動するよりも、ECSを常時稼働してリクエストを捌いた方がコスト削減できる見込みでした。
5. 調整さんRDS一般ログ取り込み費用
- ログクラスをStandardからInfrequent Accessに変更
- 約50%削減
RDSログはCloudWatchに取り込んだ後の二次利用は現状行っていないため、ログクラスを変更することでコスト削減できる見込みです。
まとめ
弊社としてAWSコスト削減対応は今回が初めてではないのですが、改めて調査してみると意外とコスト削減できる余地があるという印象でした。実際に対応したことと、コスト削減の結果は次回以降の記事で書きたいと思います。(書けるような結果が出ればいいな)
補足:分析方法
コストの分析方法ですが、請求代行会社を利用しているため、月毎の明細をダウンロードしてコストの高いリソース・増加分の高いリソースを抽出しました。
Discussion