執筆者
サービスの長期運用や複数のアカウントでの運用をおこなっていると、コスト管理やコスト最適化の実施がなかなか上手く進められない場合があります。
またAWSには次のように、コストの可視化やコスト最適化、コスト削減に関するサービスが複数あり、どの機能を利用することでよりよいコスト削減を実施出来るか悩ましくもあります。
AWSのコスト削減ツール
・Trusted Advisor
Trusted Advisor は、AWS 環境を検査し、コストの削減、パフォーマンスの向上、セキュリティの強化、およびサービスの制限の監視に役立つ推奨事項を確認することができます。
・Cost Explorer
コストと使用量を可視化および管理するためのツールで、コストと使用量の可視化以外に予算の設定と追跡、コストの予測、カスタムレポートの作成などが行えます。
・Compute Optimizer
パフォーマンスとコスト効率を最適化するためのサービスで、リソースの推奨(EC2インスタンス、EBS、Fargateタスクなど)、パフォーマンスの最適化、コスト効率の向上などの機能があります。
上記サービスにてコスト最適化に対して有効な施策を実施する事が出来ますが、
今回は「Cost Optimization Hub」を利用したコスト最適化についてのご紹介したいと思います。
「Cost Optimization Hub」によるコスト最適化
・Cost Optimization Hub
コストを管理し、最適化するための包括的な情報とツールを提供するポータル機能になり、AWS環境のコストを効果的に管理し、ビジネスの効率を高めることができます。
複数のAWSアカウントを保有している場合、どのアカウントでどれだけコスト最適化が可能かはそれぞれのアカウントで確認する必要がありますが、Cost Optimization Hubを利用することでAWS Organizationsの全メンバーアカウントが可視化出来、コスト最適化の対応漏れや未対応のアカウントが確認出来るため統合的なコスト管理が可能になります。
また、Cost Optimization Hubは現在以下のリソースについてコスト最適化のレコメンデーションを生成してくれます。
・Amazon ECインスタンス
・Amazon EC2 AutoScalingグループ
・Amazon EBS ボリューム
・AWS Lambda 関数
・AWS Fargate での Amazon ECSタスク
・Compute Savings Plans
・EC2 Instance Savings Plans
・SageMaker Savings Plans
・EC2 リザーブドインスタンス
・Amazon RDS リザーブドインスタンス
・OpenSearch リザーブドインスタンス
・Amazon Redshift リザーブドノード
・ElastiCache リザーブドノード
Cost Optimization Hubを有効化する際に以下の選択肢を選ぶことが出来ます。
・このアカウントとすべてのメンバーアカウントの Cost Optimization Hub を有効化
・このアカウントでのみCost Optimization Hub を有効化
弊社では複数のアカウントを管理しているため、すべてのアカウントで有効化を実施しました。
有効化後、「 また、AWS Compute Optimizer を オプトイン して、コスト最適化ハブが AWS Compute Optimizer から適切なサイズ設定に関するレコメンデーションをインポートできるようにする必要もあります。」のメッセージが表示されたので、こちらも有効化しデータの収集が終わるのを待ちます。
また、「AWS Compute Optimizer」を有効にしていない場合はAWS Compute Optimizer画面にてこちらもCost Optimization Hubと同じように組織のすべてのメンバーアカウントで「オプトイン」しておきましょう。
Cost Optimization Hubのデータの収集には24時間程度かかるメッセージが表示されるので、実際利用出来るのは24時間以降となりますが、実際に表示され利用できるようになったのは3日程かかりました。
実際に画面を見てみると「リザーブドインスタンスを購入」が大半を占めている事が多いですが、それ以外の項目も表示されておりどこに課題がありそうか確認することが出来ます。
また、集計結果はAWSアカウント、リソースタイプ、実装作業など複数の視点から確認出来るので、AWSアカウントで確認した場合どのアカウントに課題がありそうかをすぐに確認する事ができます。
先にも述べたように全カウントを統合的に管理する事が出来るので、EBS ボリュームのgp3変更の未対応のアカウントやGravitonに移行が行われていないアカウントがどれだけあるかすぐに把握出来るので、サービスチームと連携し順次対応する事が可能になるため作業漏れや対応漏れを防げる大変便利な機能となっています。
まとめ
今まではアカウント単位やリソース単位でコスト面の確認を行っており、古いリーソースなどがあってもどのアカウントに存在するのかを確認するに時間が掛かったりしていましたが、Cost Optimization Hubによって対応漏れや未対応のアカウントを発見するのが容易になり、アカウント横断でのコスト最適化が柔軟に実施出来るようになりました。
また、Trusted AdvisorではAWS Supportプランに応じて利用できる機能が異なりますが、Cost Optimization Hubは無料で利用出来るため、コスト最適化を実施する際はCost Optimization Hubを有効にし、実施するのが良いでしょう。
Comments