みなさん、こんにちは。サニービュー事業部の小寺です。
リザーブドインスタンスやSavings Plansを使ってコスト最適化を検討、対応中という方も多いと思います。

今日は自社で利用しているAWSアカウントでTrusted Advisorのレコメンド機能を使いコスト最適化について確認してみました。
日々運用の中で気を付ける点などお伝えさせていただけばと思います。

Trusted Advisorとは

AWS Trusted Advisorとは、AWSの利用状況を分析し、AWSのベストプラクティスに沿ったアクションをレコメンドしてくれるサービスです。

以下のような項目に分かれています。
・コストの最適化
サービスを利用すると未使用のリソースが増加してしまったり、必要なパフォーマンス以上のリソースを使っている場合があります。
無駄なコストが発生し続けていることがあります。
AWS Trusted Advisorは、使用状況の洗い出しを行い、使用量の削減やコスト最適化のためにリザーブドインスタンスやSavings Plansの購入等適切なアクションを提示して、効率的な利用を促します。

・パフォーマンス
プロビジョンドスループットを活用して、データの処理速度を必要に応じて改善できるようになります。EC2インスタンスの使用率が高かったり、非効率な設定になっていたりする箇所を確認できます。

・セキュリティ
セキュリティのベストプラクティスの構成に従ったチェックができます。
例としては、RDS のセキュリティグループのアクセスリスク、漏洩したアクセスキー、不要な S3 バケット許可が特定できます。

・耐障害性
古いデータが残っている、適切ではない設定が残っている、例えば、RDSのバックアップが十分ではない、Route53のヘルスチェックができていない等のときに通知がされます。

・サービスクォータ
AWS アカウントに作成できるリソースには制限値があります。無制限にリソースを起動することができないように予め設定がされています。リソースの利用率が上がるとパフォーマンスの低下につながることから、サービスクオータの80パーセント以上を使用するとアラートが来るように設定されています。

AWS Trusted Advisorには、コスト最適化、パフォーマンス、セキュリティ、耐障害性、サービスクォータという5つの分析観点があります。
またTrusted Advisorをフルに活用するには、AWSサポートの「ビジネス」プラン以上に加入いただく必要があります。
※当社で提供しているAWSリセールサービスSunny Payのお客さまは無料でAWSビジネスサポートがご利用いただけますので、ぜひ活用いただければと思います。

コストの最適化でチェックできる項目

まず、どの程度削減できるのかチェックしてみました。
レポートでは、月額348.87USDの削減可能性が提示されています。

どのような項目をチェックできるのか調べてみました。
(1)AWS Well-Architected コスト最適化のための高リスク問題
(2)使用率の低い Amazon EC2 インスタンス
(3)利用頻度の低い Amazon EBS ボリューム
(4)Amazon Comprehend 十分に活用されていないエンドポイント
(5)Amazon EBS の過剰にプロビジョニングされたボリューム
(6)Amazon EC2 リザーブドインスタンスのリース有効期限切れ
(7)Amazon RDSアイドル状態のDBインスタンス
(8)Amazon Route 53 レイテンシーリソースレコードセット
(9)Microsoft SQL Server 向けの Amazon EC2 インスタンスの統合
(10)Microsoft SQL Server 用にオーバープロビジョンされた Amazon EC2 インスタンス
(11)アイドル状態の Load Balancer
(12)エラー率が高い AWS Lambda 関数
(13)メモリサイズについて過剰にプロビジョニングされた AWS Lambda 関数
(14)使用率の低い Amazon Redshift クラスター
(15)過度にタイムアウトが発生している AWS Lambda 関数
(16)関連付けられていない Elastic IP Address
(17)リザーブドインスタンスの購入(Savings Plans含めて各サービスごとに項目に分かれます)

どうやってコスト最適化を進めるべき?

いくつかポイントがあると思いますが、一つ目は削除したリソースに関連する無駄なリソースがないか?を定期的にチェックすることが必要だと思います。
Trusted Advisorの項目ベースでいくと、EC2にアタッチがされていないEBSボリューム、EC2にアタッチがされていないEIP等が代表的な例です。EC2のインスタンスを使わなくなって削除したけど、アタッチされていたリソースの削除が漏れているケースはよくありますよね。
ELBでは、バックエンドのEC2を停止したけど、ELBは削除し忘れてしまうこともあるでしょう。

RDSでも同様でインスタンスを停止して、サービス自体は利用していないが削除して問題がない手動スナップショットが残り続けてしまうこともあります。

二つ目は、不要なリソースを起動し続けていないか?というポイントで、Trusted Advisorでレコメンドされるサービス問わずに継続的かつ定期的なチェックが必要です。RedShftやEC2、RDS、以外にも検証用で有効化してしまったサービスで課金が発生し続けるケースもあります。こちらは、請求ダッシュボードなどから利用しているサービスを確認してみると良いと思います。

三つ目は、リザーブドインスタンスやSavings Plansのコスト最適化サービスの活用です。期限切れがされないよう自動更新を有効にしてよい場合は、自動更新の設定をしておくことや、1年以上の同じインスタンスタイプ、サイズでの継続利用が見込める場合はリザーブドインスタンス、Savings Plansを積極的に活用することがおすすめです。

Trusted Advisorで項目として挙げられているLambdaはCloudWatchの監視でエラーの発生などをより頻度を高くチェックすることをお勧めします。エラーでストップせずに、処理が無限ループして課金され続けてしまうことがあるので、運用フェーズでの確認というよりはどちらかといえば開発時や変更が発生した都度の確認のほうがより良いと思われます。

当社で提供しているAWSリセールサービスSunny Payでは、コスト削減に対する試算やご相談を受け付けておりますので、ぜひお問い合わせくださいませ。⇒こちら

AWSをご利用いただくには、直接契約するより断然お得!
AWS利用料がすべて5%割引でご利用いただけます