クラウドのいいとこは使った分だけっていうのはあるけど使った分はしっかり請求されます。
なるべく抑えましょう
コストタグをつける
現状を把握が必要です。 どのリソースがどのくらい費用がかかっているかCost Explorerで明らかにしましょう。 以前はコストタグを付けたときからの費用計算しかできなかったのでしばらく待つ必要ありましたが、最近のアップデートで12ヶ月遡って計算してくれるようになりました。
リザーブドインスタンス、savingplanの活用
基本の木です。EC2はもちろんECS,lambdaも対象になるのでインスタンス立ち上げぱなしの環境はまず購入。 savingplanに関しては7日以内のキャンセルが可能なので購入時のボタンを押す緊張感が若干なくなりました。
AWS が Savings Plans の 7 日間の返品期間と発表
これで一番恩恵を感じられるのはRDSやopenserch serviceじゃないでしょうか。 ただでさえ高いですからその分割引された金額が安く感じます。(ServerlessはRIないので注意) RIだとインスタンススペックの柔軟性がなくなるのがきついなーって場合はあるとおもいます。同じインスタンスタイプ内でスペックを1つ上げる場合は購入したRIは適応されるので損にはならないです。 1つ下げるときは購入した半分は未適応状態になるのでちょっと損です。
インスタンスを夜間停止する
ステージング環境など業務時間だけ触って夜間は触らないような環境は停止したほうが安い場合が多いです。8時起動→20時停止など稼働率50%だとRI契約は高くつきます。 EventBrigeで自動停止・自動起動させるようにしましょう。RDS、ECSなどもできるので忘れずに。
EventBridgeスケジューラを使ってEC2の定期起動/停止を行う方法 | DevelopersIO
スペックの最適化
使用リソースに基づいて各インスタンスのスペックを決めましょう。え?難しい?「AWS Compute Optimizer」に任せましょう。いい感じにしてくれます。 このサービスメモリをデフォルトで見てくれないの改善しないかなぁ。。 古いインスタンスタイプを使用している場合は、最新の同じインスタンススペックに変更するだけで安くなります。 ECSのスペック決めは課題が残る。。
お金のかかる不要リソース削除
「Elastic IP」「ELB」検証だけで立てたものがそのまま残ってる場合が多々あります。こまめに削除しましょう。 Elastic IPも1つづつ課金させるようになってるので注意です。
スナップショットなど数年前に作成したもの残ってないですか?そんなもので今リソースを再構築することないので消しましょう。
ここまでは即効性のある対策。ここからはちょっと手間がかかるかも。
ECSログの吐き出し先
ECSからログの出し方はいくつかありますが一番シンプルで楽なのがCloudwatch logsに出す方法です。しかしログの量によってはとてつもない費用がかかるのがCloudwatch logs。
保管費用もよりも吐き出したときにかかる費用が高いです。東京リージョンでUSD0.76/GBもかかります。
Cloudwatch logsはログ監視もできて便利ですが吐き出すログは取捨選択しましょう。
おすすめはエラーログだけCloudwatch logsに出してそれ以外はS3に放り投げる。
Cloudwatch のメトリクス設定しすぎない
Cloudwatchの監視は標準メトリクスの他にカスタムメトリクスを作って監視項目を設定できます(メモリ監視みたいなの)
カスタムメトリクスの場合無料枠が10個まででそれ以上は監視するたびに費用が発生します。何も考えずにあれこれと数字だけ取ることを目的とした設定をしていると合算したとき高くつくときがあります。ある程度まとまらないとわからない点など注意です。 監視が必要な値に絞りましょう。
まとめ
もともと高いサービスは注意が行きやすいけど、合算したとき人知れず高くなるものは注意が必要ですね。
円安な今気をつけましょう。。