DEVELOPER’s BLOG
技術ブログ
SRE:AWSのインフラ費用削減の進め方紹介
目次
はじめに
みなさんこんにちは。インフラエンジニアの伊達です。
やはり何事もコストは最小限で済ませたいものですよね。
システムは大きな問題もなく安定稼働を続けているものの、
インフラ費用をもう少し抑えられないものか気になっている...。
そういったお悩みを抱えている企業様向けに、弊社ではSREのサービスを行っております。
進め方のイメージとともにご紹介していきます。
そもそもSREとは何かについては→SREとは?
コスト削減については→AWSコスト削減サービス
もご覧ください。
進め方概要
コストの削減について、以下のようなステップで進めていきます。
| ステップ | サブステップ | 期間 |
| ステップ① コスト削減 | コスト最適化支援 | 約1ヶ月 |
| 施策実施 | 約1ヶ月〜 | |
| ステップ② 継続運用の体制を構築 | 運用設計支援 | 約1ヶ月 |
| 監視基盤構築 | 約1ヶ月 | |
| ステップ③ 予防処置の体制を構築 | 運用設計支援 | 約1ヶ月 |
| AIを活用した予兆検知基盤構築 | 約2ヶ月 |
ステップ① コスト削減
コスト削減のご相談をいただいたら、まずは現状の把握を行い、削減可能な箇所を特定します。
改善が可能であれば、ご提案させていただく改善策を実施することでコスト削減を実現します。
コスト最適化支援
スペックの高いリソースを使ったり、多くの通信を行ったり、大量のデータを保存したりすれば、コストがかかるのは自然なことです。
しかしそれらが必要以上のスペック、過剰な冗長化に伴うデータ同期の通信、不要なデータの保存などであればコスト削減のポイントになります。
現状の環境にそのような点がないか確認し、改善策をご提案させていただきます。
施策実施
ご提案した改善策にご納得いただき実施することになった場合、「SRE伴走支援サービス」にてご支援させていただきます。実施については、貴社またはご担当ベンダー様にて行っていただくことも、ご要望があれば弊社で行うことも可能です。
ステップ② 継続運用の体制を構築
ステップ①でのコスト削減は、あくまで一回限りの対処です。
その後もシステムは稼働を続けるため、継続して正常に運用することが重要であり、そのための体制が必要です。
運用設計支援
ステップ①でコスト削減を実施しても、その後放置しておけば状況は変化していくものです。
システムが稼働している環境もそれを利用するユーザも毎日同じではありません。
常にコストを監視して、異常に気づける仕組み・体制を作っておく必要があります。
どのリソースをどう監視するか、コスト監視の運用設計を支援させていただきます。
監視基盤構築
Cost Anomaly Detectionを活用してシステムを監視し、「異常」と判断された場合にアラートを出す仕組みを構築します。
コスト異常の早期発見・早期対応が可能となり、不要な支出が継続する事態を未然に回避できます。
これには、アラートを受け取り対処を行うための体制も必要となります。
AWS Cost Anomaly Detection とは
AWS Cost Explorerを日々注意深くチェックすればコストの異変に気付くことも可能ですが、
AWS Cost Explorerの機能である AWS Cost Anomaly Detection を使えば自動的に「いつもと違うコスト増加」を検出することができます。
機械学習モデルを用いることで人間では見落としがちな変化に対する警告が出せることに加え、常時監視という人手では難しい運用ができるため是非とも設定しておきたい機能です。
参考(公式):https://aws.amazon.com/jp/aws-cost-management/aws-cost-anomaly-detection/
ステップ③ 予防処置の体制を構築
ステップ②で「コスト異常が発生したら」アラートを出すように設定し、それを受けてすぐに対処できる体制を組む話をしました。
しかし、そもそも「コスト異常が発生しない」ように兆候を検知し、事前に対処できる仕組みを構築できれば、対応が後手に回る頻度を減らすことができます。
運用設計支援
サービスコントロールポリシー (SCP)を適切に設定することで、利用を想定していないサービスのリソース作成を制限できます。
AWS Budgetsを活用することで、予算管理を行いコストが想定よりかかる「予測」となった時点で通知を出せるため、
実際にはまだコスト異常が発生していない段階での対応が可能です。
こうした未然防止のための運用設計を支援させていただきます。
AWS Budgets とは
予算管理として設定した予算や閾値に基づいて、コストを監視してアラートを出したり、自動的にアクションを行ったりもできるサービスです。
また、「使用量」に関する監視も行えます。
金額が絶対的に大きいと「無駄を含んでいるのでは...?」と自然に疑うことができますが、中には一見しただけでは判別しにくい「見えない無駄」も存在します。
コストを抑えるつもりでリザーブドインスタンスやSavings Plans を購入したものの、
実はその後想定していたほど使われていなかった、というケースを考えてみましょう。
その場合、支出額自体は増加しないため、「コスト」だけ見ていても気付くことができません。
なぜ使われなくなったのかという原因分析は後で行うにしても、少なくとも次の更新時にはオンデマンドに戻すなど何かしらの対応が必要になります。
AWS Budgetsでリザーブドインスタンスや Savings Plans の利用率に対して閾値を設定しておくことでそのような事態にも早い段階で気付くことができます。
参考(公式):https://aws.amazon.com/jp/aws-cost-management/aws-budgets/
AIを活用した予兆検知基盤構築
ここまで挙げてきた例などは構成によらない一般的な話でした。
紹介したサービスの中でも既に機械学習を活用しているものがありますが、
将来的にはAIによる判断を最大限に活用しそれぞれの環境に最適化することで、
AWS標準機能では捉えきれないような環境固有のコスト異常の兆候を検知できる監視AIシステムも作れるかもしれません。
おわりに
最後の話はまだ将来の可能性の段階で、今すぐに実現できるものではありませんが、
現時点でできることもたくさんあるはずです。
まずは現状の確認から始めてみてはいかがでしょうか?