はじめに

昨今、コスト削減やコスト最適化に着目した記事や企業までも見かけるようになりました。
コスト”というものはそれだけ重要な項目というのが分かります。
為替は2022年には110円台でした。直近では150円台を超えることもあります。
AWSの利用時では、利用方法によって、同じ利用量でもコストを削減できることがあります。

突然ですが質問です。
皆さまの中にはAWSのクラウドを利用することで、
以下のようなことに当てはまる方はいらっしゃいませんでしょうか?

  • インスタンスをたててはいながらも、そもそものインスタンスが適正か不明
  • 運用をしようにも、どのリソースから費用を見て適正と判断をするのか分からない
  • インスタンスは問題なさそうではあるがストレージが気になる

該当があるようでしたら、是非ともこの先も見ていただけたら幸いです。

記事の構成

上記に該当された方へ
コストの削減フローとしては以下のように
「データの収集・分析」→「改善策の考案」→「改善策の実施」→「新たな課題の確認」を繰り返す必要があります。

今回の記事として特に費用が大きくなりそうなEC2に絞ったコストの削減方法を2部作として
その中でも、「データの収集・分析」の収集を中心とした解説をさせていただきます。
閲覧いただいた皆さまが少しでも「忙しかったけど見てよかった!」「これなら今からでもできそう!」と思っていただけたら嬉しく思います。
今回、紹介させていただくのはクラウドインテグレーション事業部の古谷といいます。
よろしくお願いします。

目次

  1. そのインスタンスって適切ですか?
  2. 未使用なリソースや需要に応じてスケジューリングはできていますか?
  3. 適切な購入オプションを利用していますか?(以降、後半で説明)
  4. そのストレージって適切ですか?
  5. その他事例

1. そのインスタンスって適切ですか?

利用しているインスタンスが適切か確認したことはありますか?
一度構築した環境から、問題なく稼働しているから見直していないなんてことはないでしょうか。
実際に調査をしてみたら実はCPUやメモリを余らせ、余分にコストを支払っているなんてことがあります。

対応策

監視ツールやリソースの最適化を分析してくれるサービスの利用を実施

監視ツールとしてはCloudWatchを利用することでインスタンスのCPU使用率を把握できます。
直近1ヶ月のメトリクスを取得し、CPUの動きを見ることで、使用しているインスタンスに余剰があるもしれません。
メモリ使用率を把握するためにはCloudWatch Agentをインストールすることで可能です。
引用元 :CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する

また、最適化分析ツールとして、AWS Cost Optimizerを利用することで、
AWSリソースの設定と使用率のメトリクスを分析し、リソースの最適化を提案してくれます。
現在のインスタンスと推奨インスタンスを比べ、コスト面での差額を可視化で表示してくれます。

2. 未使用なリソースや需要に応じてスケジューリングはできていますか?

使い終わったリソースの削除漏れや未使用なリソースを
残したままになっていることはないでしょうか?
使用していないくても構成として残しているだけで課金対象になるサービスがあります。
また、アプリケーションの時間帯によってユーザーからアクセスが全くないといったケースがあります。
「夜間は稼働していません」、「祝日・休日は稼働していません」というケースであれば、
アプリケーションを使用していない時間帯にインスタンスを停止させることで、コストの削減が見込めます。

対応策

未使用なリソースの確認やインタンスの停止・起動の設定を実施

未使用なリソースは、AWS Trusted Advisorを利用することで特定ができます。
複数のカテゴリの中からAWSのベストプラクティスに沿った視点で、推奨事項を提案します。
例えば、カテゴリにあるコスト最適化の観点では「使用率の低いインスタンス」の情報などが表示されます。
原因が特定できればリソースの停止や削除へと進めることができます。
※ AWS Trusted Advisorはビジネスサポート以上のご契約 または 当社の「AWS運用・保守サービス」をご契約のお客様がご利用できます。
引用元 :
AWS サポート プラン比較
AWS運用・保守サービス

需要に応じたスケジューリングであればAmazon EventBridge スケジューラやAuto Scalingにより対応できます。
例えば、アプリケーションによっては、時間帯によってユーザーからアクセスが全くないといった
「夜間は稼働していません」、「祝日・休日は稼働していません」というケースであれば、Amazon EventBridge スケジューラが最適です。
アプリケーションを使用していない時間帯にインスタンスを停止させることで、コストの削減が見込めます。
Amazon EventBridge スケジューラはAWSサービスとAPIオペレーションをターゲットとして、
1回限りまたは定期的なタスクやイベントの実行をスケジュールできるサービスです。
一例として以下のような設定が可能です。

では次に1週間の1週間の中でも曜日によって負荷が異なるようなケースです。
予想される需要の増減に合わせてスケールイン/スケールアウトを必要とするのであればAuto Scalingで実施可能です。

引用元 : Amazon EC2 Auto Scaling とは

前編のまとめ

基本的な知識に加え、実際にどのサービスを利用したらいいのかという観点で解説しました。
実際には毎月、全体の請求情報やサービス単位で細かく確認、分析をすることが重要です。
後半の内容では、目次にある「適切な購入オプションを利用していますか?」と「そのストレージって適切ですか?」に加え、こんなこともあるという事例も解説させていただきます。
後編は こちら から

また、弊社では今回のようなコストに対して、お悩みのお客様へ多数解決してきたノウハウがございます。
少しでも気になる点がございましたら、ご気軽にご相談ください。
お問い合わせ先 : クラウド導入、システム開発についてのお問い合わせ