AWS Compute Optimizer のベストプラクティス

AWS Compute Optimizer によるリソースの最適化に関するベストプラクティスの解説。

学習順Step 29 / 101サービス自動化 / IaC試験ドメイントラブルシューティング

AWS Compute Optimizer のベストプラクティス

AWS Compute Optimizerは、機械学習(ML)を活用して、実行中のAmazon EC2インスタンス、Auto Scalingグループ、Amazon Elastic Block Store(EBS)ボリューム、AWS Lambda関数の最適な構成を推薦する無料のサービスです。過去14日間のCloudWatchメトリクス(例:CPU使用率、ネットワークI/O)を分析し、現在のリソースが「過剰プロビジョニング」または「不足プロビジョニング」の状態にあるかを判断し、それに基づいて改善提案を行います。

解説

Compute Optimizerの主な目的は、クラウドリソースのパフォーマンスとコストを最適化することです。具体的には、必要なパフォーマンスを満たしつつ、過剰なリソースを削減することでコストを下げたり、逆にパフォーマンスが不足しているリソースをアップグレードすることでアプリケーションの安定性を高めることができます。

アドバイスは二つの視点から提供されます。一つは「コスト最適化(Cost Optimization)」モードで、現在のワークロードを満たしつつ、よりコスト効率の良いインスタンスタイプに変更する提案(例:m5.large → t3.large)です。もう一つは「性能最適化(Performance Optimization)」モードで、現在のリソースでは性能が逼迫しており、将来的に問題が発生する可能性がある場合に、適切なリソースにアップグレードする提案をします。

ベストプラクティスとして、Compute Optimizerの推薦はあくまで一助であり、最終的な決定はワークロードの特性を見極めて行うべきです。特に、実際のパフォーマンス影響を確認するためには、ステージング環境で変更を試す、または自動スケーリングポリシーと併用して柔軟な対応を行うことが重要です。

重要ポイント

  • ▸Compute Optimizerは、EC2インスタンスタイプ、Auto Scalingグループ、EBSボリューム、Lambda関数の最適化アドバイスを提供する無料のAI/MLサービスです。
  • ▸14日間のパフォーマンスデータを分析し、リソースが過剰プロビジョニング(over-provisioned)またはアンダープロビジョニング(under-provisioned)していないかを評価します。
  • ▸最適化アドバイスは、コスト削減または性能向上のいずれかを主眼とする「コスト最適化」または「性能最適化」の2つの目標モードで提供されます。

このトピックの学習を完了しますか?

完了状態はいつでも切り替えられます