COLUMN誰でもわかる!お役立ちコラム

AWS活用支援コラム

AWS Trusted Advisorで無駄なコストを見つける

なぜAWSで無駄なコストが発生するのか?

AWS(Amazon Web Services)の最大のメリットとして、従量課金制であることや、簡単に様々なサービスを起動し、利用できるという点が挙げられます。しかしながら、そのメリットの裏返しとして、常に料金のモニタリングをしていないと、利用料の無駄が発生してしまう、というケースがあります。

この無駄なコストは、数か月から、1年、2年、3年と、使用する年月が増えていくにつれて上がっていくという傾向があります。
なぜこのような無駄が生じてしまうのでしょうか。また、無駄を削減するにはどのような対策を行えばいいのでしょうか。本記事で記載していきます。

簡単に構築できるからこそ、無駄が生じる

AWSの環境は、そのほとんどが数クリックで簡単に作成可能です。したがって、権限があるユーザーがPoCや検証環境として簡単にサーバー環境を構築することができます。これがAWS利用における無駄なコストが発生してしまう原因の1つです。例えば簡単な検証を行う際に、ロールバックできるようにRDSなどのバックアップを取得したのち、検証を終えると、バックアップを消し忘れる、というパターンが考えられます。

検証は完了しているのでバックアップに使われる料金は本来無駄なコストですが、明示的に削除しない限り永遠に課金され続けることとなります。他にも、AMIや取得したグローバルIP、VPCエンドポイントなどが削除し忘れて、利用していないのに残っているというケースが多々あります。

AWS運用コストの削減のご相談も可能 運用コストを引き下げるスタイルズのAWS導入・移行サービスはこちら→

安いプランを十分に活用できていない

AWSではリザーブドインスタンスやSaving Plansの発表など、ユーザーにとって割引効果が享受できるサービス・機能も順次発表されています。しかしながら、このような発表をキャッチアップできず、値下げプランを適切にシステムの本番ワークロードに適用していないと、本来安くなるはずの無駄なコストを払い続けることになります。

AWSのサービスのリリースは、ブログやイベント等で発表されることが多いですが、それらの情報を漏れなくすべてキャッチアップしていくことは、非常に負担がかかることになり、組織的に対応を行わないと難しい、というのも実状です。

AWSの無駄なコストをなくすためには?

AWSの性質上、無駄なコストが発生しやすいことをお分かりいただけたかと思いますが、それでは無駄なコストを減らすためにはどういうアプローチをとればいいのでしょうか。
具体的なアプローチの方法として、2つご紹介します。

AWSに知見がある技術者に環境を見てもらう

まずは、AWSに知見がある技術者に環境を確認してもらう方法です。社内のAWSに知見がある技術者でもいいですし、外部ベンダーの相談会や、AWSで開催している個別相談会(https://pages.awscloud.com/JAPAN-event-SP-Weekly-Sales-Consulting-Seminar-2021-reg-event.html)でもいいでしょう。環境内の不要なサーバーの削除はもちろんのこと、現行で運用しているシステムのアーキテクチャを、コスト効率の良いアーキテクチャに変更するためのアドバイスなどをもらうことができます。

デメリットとして、相談相手のスキルによって効果が出たり出なかったりすることと、人の目によるチェックなのですべての環境を1つ1つ見ていくことには限界があること、時間が限られてしまうことが挙げられます。

AWS Trusted Advisorを使ってみる

もう1つのアプローチが、AWS Trusted Advisorというサービスを用いて自動で環境内の無駄なコストの有無をチェックする、といったアプローチです。AWS Trusted Advisorは。自社で利用しているAWS環境を随時モニタリングし、パフォーマンスやコスト、セキュリティなどの観点について最適化するにはどうすればいいかを自動的に提案してくれるサービスです。こちらの方法について、詳しく記載していきます。

AWS Trusted Advisorは何を最適化できるのか?

AWS Trusted Advisorは、具体的に下記の5つの観点から最適化を行います。

  • セキュリティ
    無制限アクセスが許可されているS3バケットなどを検出し、適切なアクセス許可やセキュリティ機能の有効化について提案を行います。
  • パフォーマンス
    インスタンスの使用率が高い場合や設定している値よりも利用数が多いSaaSなどが存在する場合、そのようなサービスを把握することができます。
  • サービスの上限
    AWSにはサービスクオータという、利用可能なサービスの上限が設定されています。このクオータに近づいてくると、通知が送られます。
  • 可用性
    適切ではない設定が残っている、可用性を満たすためのバックアップや構成が十分ではないなどの場合にアドバイスが行われます。
  • コスト
    オーバースペックなサーバーが存在していたり、リザーブドインスタンスを有効化すれば価格が抑えられたりする場合に提案が行われます。

AWS運用コストの削減のご相談も可能 運用コストを引き下げるスタイルズのAWS導入・移行サービスはこちら→

AWS Trusted Advisorによるコスト最適化

どのようなコスト項目が最適化項目として表示されるのか、具体的に見ていきます。

  • 使用率の低いリソースの検出
    EC2インスタンス、EBSボリューム、Redshiftクラスターの使用率をチェックします。そのようなリソースを検出することで、スケールダウンやインスタンスの停止を行い、コストを削減することができます。
  • アイドル状態の監視
    ロードバランサーやRDSについて、一定期間を超えて接続がない状態(アイドル状態にある状態)にあるものがないかを確認します。これにより、不要なELBなどの削除を行うことができるようになります。
  • リザーブドキャパシティを有効化したほうがいい場合
    EC2、RDS、Elasticsearch、ElastiCache、Redshiftの利用状況をチェックし、リザーブドインスタンスやSavings Planの導入を薦めます。リザーブドインスタンスやSavings Planは、長期間インスタンスなどを利用することで割引効果を得ることができるサービスです。

AWS Trusted Advisorを利用するためには?

AWS Trusted Advisorは加入するAWSのサポートプランに応じてチェックできる項目が異なります。Basic(無料サポート)とデベロッパー(一番安い有料サポート)では、セキュリティチェックやサービス上限のチェックが可能です。コストの最適化に関するチェックを行うためには、ビジネス以上のサポートプランが必要になります。ビジネスのサポートプランは最低でも1か月100ドルかかります。

EC2インスタンスの最適化にはCompute Optimizerもおすすめ

Compute Optimizerとは、EC2のインスタンスサイズについて、CloudWatchメトリクスの使用率から「適切かどうか」を推奨事項として表示してくれるサービスです。EC2は選択できるインスタンスタイプの数が多く、適切なインスタンスの選択が難しいケースもあります。Compute Optimizerを利用すると、最適なインスタンスタイプの選択のためのアドバイスを得ることができ、コスト効率化につながります。なお、推奨事項についてはCloudWatchメトリクスの使用率をもとに、毎日更新されます。そのため日によって推奨事項が異なる場合があることと、最初に利用した際に結果と推奨事項が生成されるまでに最大12時間かかることがあります。

まとめ

AWSは利用を続けていくにつれて、無駄なコストが発生しやすいという特徴があります。そのような特徴によりユーザーがデメリットを被らないために、Trusted AdvisorやCompute Optimizerなどのサービスが用意されています。このようなサービスをフル活用することによって、AWSを適切に利用していきましょう。

また、これらのサービスは利用しているサービスの観点からの最適化ですが、AWSに知見があるベンダーのアドバイスを組み合わせることで、アーキテクチャの面からも最適化を実施することが可能です。