Introduction
Amazon Web Services(AWS)には、企業が簡単にクラウドコストを管理できるようにするためのツールが多く提供されています。その中のひとつとして、多くの企業に利用されているツールである AWS Cost Explorer は、クラウド利用料を把握するうえで重要なツールです。
AWS Cost Explorer では複数のフィルタリングを活用し、さまざまな角度からAWSサービスの利用料を可視化・モニタリングができます。ただ、コストを可視化できるツールが提供されていても有効的に活用できている企業は多くはありません。
そこで、この記事では今日からすぐにでも活用できる AWS Cost Explorer の利用方法をいくつか説明します。AWS Cost Explorer 以外のコスト削減に活用できるツール(AWS Trusted Advisor や Resource Optimization など)の説明も含んでいますので、ぜひ参考にしてください。
1. AWS Cost Explorer とは
AWS のコストを把握する際に一番はじめにアクセスするのが AWS Cost Explorer です。過去・現在・将来(予測値)のデータをもとにコスト分析ができるので、現状理解に必要な情報を得ることができます。
AWS は、「コストと使用量を経時的に可視化・把握・管理」できる AWS Cost Explorer の特徴として以下の 6点を挙げています。
これらの特徴は、下記のようなシーンで活用することができます。具体的な AWS Cost Explorer の利用方法については後述するので、そちらを参照ください。
2. AWS Cost Explorer を活用したコスト最適化施策
このセクションでは AWS Cost Explorer の具体的な活用方法を記載いたします。おすすめのフィルタリング、便利な設定などありますので、それらをご紹介いたします。
2.1 現状の把握
コスト最適化を本格的に実施する前に、現状の利用状況を把握する必要があります。現状の把握には、データのフィルタリングとコストグループの活用が便利です。
2.1.1 データのフィルタリング
以下では、いくつか有用な AWS Cost Explorer でできるフィルタリングを紹介します。
- サービス別、リージョン別、AWSアカウント別費用
- 一般的な分析用途で使うフィルタリングです。利用料の多いAWSアカウント、サービス、リージョンなどを特定することで最もコストインパクトのある施策を検討することができます。
- 購入タイプ別のフィルタリング
- 購入タイプ別のフィルタリングを活用することで、利用料金のうち何割がオンデマンド料金でサービスを利用しているのかを把握することが可能です。例えば RI や SP を購入している場合、適用割合を把握することで、さらにコスト削減の余地があるのかを把握できます。
- コスト配分タグを利用したフィルタリング
- コスト配分タグは、運用に多少の手間を要するものの、適切な管理をおこなうことで多くのインサイトを得ることができます。AWS のリソースだけでは判断できないような単位でもコストの可視化をおこなえるので便利です。
- 主な利用用途 - 部署単位, 環境単位, 利用用途別, 利用期間(一時的に利用しているもの、長期間利用するリソースなど
2.1.2 コストのグループ化
AWS Cost Explorer では、複数のフィルタリングを組み合わせることで有益なインサイトを得ることができます。頻繁に利用する AWS アカウント、リージョン、Usage Type などのフィルタをはじめ、コスト配分タグ、購入タイプ別などのフィルタリングを活用することで現在のコスト状況を把握することができます。
複数のフィルタリング保存、グループ化し、グルーピングしたフィルターを「レポート」として保存することで、いつでも参照し分析をおこなうことができます。保存したレポートをナレッジとして共有することで、組織内でデータをもとにした意思決定ができるようになります。
2.1.1 で紹介したフィルタリングの例を活用したり、コスト配分タグを工夫することからはじめ、次第に自社にあったコスト把握の方法を見つけることをおすすめします。
レポートは分析する視点別に構成すると便利です。「クラウドコスト管理」を主におこなっている部署の視点と「技術者・開発者」視点とでは分析時に必要とするデータが異なります。それぞれの担当者、部署が目的を達成するためのレポートを作成しましょう。
2.2 コスト削減施策
それでは、2.1 で把握した現状をもとに、AWS Cost Exploerer、 AWS Truested Advisorなどのツールを活用したコスト削減施策の例を挙げます。なお、AWS でできるコスト削減施策については、あらためて別の記事でも解説します。
2.2.1 Reserved Instances や Savings Plans の検討
AWS アカウント別のフィルタリングから、EC2・RDS の利用料が特定の AWS アカウントにおいて多いことがわかった場合や、購入タイプ別のフィルタリングからオンデマンド料金での利用が多い場合、RI や SP の購入を検討することになるでしょう。
AWS には予約型の購入オプションが存在します。事前に一定量のサービス利用をコミットすることで割引を得ることができる仕組みです。2022年4月時点では RI と SP の2種類のコミットメント方法がありますが、それぞれ対象サービス、割引率、割引の適用範囲などが異なっています。
RI は、特定のインスタンスの利用を予約し1年、または3年間のいずれか期間の利用を予約(コミット)することで割引を得ることができ、RDS、Redshift、Elastic Cache、Elastic Search のコストを削減することが可能です。EC2 も RI に対応はしているものの、後述する SP の方が利便性・柔軟性が高いため、EC2 についてはSP の購入を推奨しています。
SP は、EC2、Fargate、Lambda に適用することができる割引形態です。RI との大きな違いは購入時の指定方法です。RI は、さまざまな条件を入力したうえで特定のインスタンスを選択し、選択したインスタンスの利用を予約することで割引が適用されます。一方、SP は、インスタンス利用料の一部(コミットメント金額)を予約するような形式となっており、RI ほど条件を細かく設定しなくてもコミットメント金額に対して割引が適用されるようになります。
2.2.2 Amazon EC2・RDS・Redshift ライトサイジング、スケジューリング
AWS Cost Explorer の Resource Optimization を活用することで、EC2 インスタンスの稼働状況を確認することができます。CPU の利用状況などから適切なインスタンスの変更(ライトサイジング)で削減できるコストがないか、あるいは稼働していない時間帯のある場合にインスタンスの起動・停止のスケジューリングでコスト削減ができないかなどのレコメンドを見ることができます。
Amazon RDS、 Redshift でも同様の考え方によるコスト削減が可能です。AWS Trusted Advisor で過少利用されているサービスやインスタンスを特定し、ライトサイジング、スケジューリングをおこなうことで一定のコスト削減を見込むことができます。
2.2.3 AWS Budget の設定
最後に、コスト最適化を継続的におこなうために役に立つ AWS Budget についてご紹介いたします。AWS Budget では、AWS アカウント、サービス単位などで予算の設定ができます。将来の予測値に対しての予算設定なども可能なので、予算超過を未然に防ぐことも可能です。AWSの利用をする際には、必ず事前に設定を実施しておきましょう。
3. 組織におけるコスト意識の醸成
AWS Cost Explorer は、企業・組織全体でクラウドコスト最適化の意識を醸成することにも有効なツールです。
技術担当者や開発者が空き時間を活用してコストのモニタリングをしている企業・組織も少なくありませんが、日々のコスト監視や予算超過の検知などは、コストを管理をされている側でも運用することが重要です。
予算超過が生じた場合に費用管理担当者がすぐに原因特定をおこない、技術担当者と一緒に課題解決するような組織では、組織内でコスト最適化の意識を醸成することができ、また、コスト管理の責任を分担することで関連部署が担う役割を軽減することができます。
クラウドコスト最適化がうまくできていない企業・組織では、開発担当者が開発・コスト管理・予算管理など複数の責任を持っていることも多く、コスト最適化が後回しになっていたり、運用にまで落とし込めていません。また、複雑なクラウドコストに関する知識は、属人化しがちです。
わかりやすい UI で、直感的に操作することのできる AWS Cost Explorer は、開発者でなくても扱いやすいツールといえます。
まとめ
この記事では AWS Cost Explorer の簡単な活用方法やコスト最適化に利用できる AWS サービスを紹介しました。
最後にも触れましたが、コスト最適化の重要性を企業・組織全体で醸成させることが、ツールの活用と同じように重要です。コスト最適化は AWS Well Archited フレームワークの一角として定義されているものの、インフラストラクチャーの保守運用、セキュリティー、コンプライアンスなど、ビジネスを継続するうえで優先度の高いことが他にもある場合、考慮する時間・余裕がなく着手されないこともしばしばあります。
AWS のサービスを有効活用するだけでなく、定期的にコストを見直す体制やクラウドコスト最適化の意識を組織全体で醸成するような仕組みづくりが、継続的なコスト最適化においては重要と言えるでしょう。