kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

AWS コスト削減チェックリスト

前提

  • 金銭的なコスト削減のために、運用コストが上昇したら元も子もないので注意!!!

全体

  • EC2 から、ECS(Fargate)、lambdaへの移行を検討中ならば、Compute Savings Plansを使用する
  • そもそも使っていないインスタンスを停止する

EC2

  • 性能が過剰ならば、より低スペックのインスタンスに変更する
  • インスタンスタイプが古いのであれば、最新にする(最新のほうが安い
  • 可能であれば、CPUを Graviton に変更する
  • 24H稼働が不要であれば、夜間休日は停止する(検証環境や営業時間しか使わないサービスなど)
  • 停止しても問題なければ、スポットインスタンスに変更する
  • 1年以上使用するのであれば、リザーブドインスタンスやSavings Plansを契約する
  • バッチ処理などは、ECS(fargate)やlambdaへの移行を検討する
    • → そもそもEC2は運用コストが高い場合が多い
  • オートスケーリンググループを使って、低負荷時はマシンを停止する

ECS(fargate)

  • 性能が過剰ならば、メモリやCPUを減らす
  • 可能であれば、CPUを Graviton に変更する
  • 24H稼働が不要であれば、夜間休日は停止する(検証環境や営業時間しか使わないサービスなど)
  • 停止しても問題なければ、Fargate Spotに変更する
  • 稼働する量が決まっているならば、Savings Plansを契約する
  • 処理頻度が低いのであれば、lambdaに移行する

RDS(Aurora)

  • 性能が過剰ならば、インスタンスタイプを下げる
  • CPUを Graviton に変更する
  • 低頻度アクセスや社内利用であれば、Aurora Serverlessへ移行する
  • 1年以上使用するのであれば、リザーブドインスタンスやSavings Plansを契約する
  • 不要ならばバックアップ保持期間を短くする
  • IOが多いならば、Aurora I/O 最適化を検討する

lambda

  • メモリ使用量が過剰ならば減らす → Lambda Power Tuning
  • 可能であれば、CPUを Graviton に変更する
  • 実行可否をlambda内で処理しているのならば、イベントフィルタリングを使ってlambdaを実行させないようにする
  • 実行頻度が高いのであれば、ECS(fargate)に移行したほうが安いかも

S3

  • 不要なのに保存しているオブジェクトを廃棄する
    • もしくは、数ヶ月経過後はアーカイブする
  • 消えても大きく問題がないオブジェクトは、シングルAZに変更する
  • アクセス頻度が低いオブジェクトは、低頻度アクセスやアーカイブに変更する
  • S3Intelligent-Tieringを使って自動的にコスト最適化を行う