AWS Compute Optimizer のアイコン

AWS Compute Optimizer

ML でリソースの使用状況を分析し、最適なインスタンスタイプやサイズを推奨するサービス

何ができるか

AWS Compute Optimizer は、EC2 インスタンス、EBS ボリューム、Lambda 関数、ECS サービスなどの使用状況を機械学習で分析し、コストとパフォーマンスの両面で最適なリソース構成を推奨するサービスです。過剰にプロビジョニングされたリソースや、逆にリソース不足のリソースを特定し、適切なサイズへの変更を提案します。

どのような場面で使うか

EC2 インスタンスの CPU 使用率が常に 10% 以下で過剰スペックになっている場合に、より小さいインスタンスタイプへのダウンサイジングを提案する場面で活用されています。また、Lambda 関数のメモリ設定が過大で無駄なコストが発生している場合の最適化や、EBS ボリュームのタイプ変更 (gp2 から gp3 への移行) の推奨にも利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

家計の見直しコンサルタントに例えるとわかりやすいでしょう。毎月の支出 (リソース使用量) を分析して「この保険は補償が過剰なので、もう少し安いプランに変えましょう」「この携帯プランはデータ量が足りていないので、上のプランにした方がストレスなく使えます」とアドバイスしてくれます。Compute Optimizer は AWS リソースの家計コンサルタントです。

Compute Optimizer とは

この記事は約 2 分で読めます。 AWS Compute Optimizer は、AWS リソースの使用状況を分析して最適な構成を推奨するサービスです。多くの AWS ユーザーは、安全マージンを取って実際の需要より大きなリソースをプロビジョニングしがちです。Compute Optimizer は過去の使用パターンを機械学習で分析し、パフォーマンスを維持しながらコストを削減できるリソース構成を提案します。

推奨の対象リソース

Compute Optimizer は複数の AWS リソースに対して推奨を提供します。EC2 インスタンスでは、インスタンスファミリーとサイズの最適化を提案します。EBS ボリュームでは、ボリュームタイプと IOPS の最適化を提案します。Lambda 関数では、メモリサイズの最適化を提案します。ECS サービス (Fargate) では、CPU とメモリの最適化を提案します。各リソースについて、コスト削減額の見積もりも表示されます。

推奨の見方

Compute Optimizer は各リソースを「最適化済み」「過剰プロビジョニング」「プロビジョニング不足」「最適化なし」の 4 つに分類します。過剰プロビジョニングのリソースはコスト削減の機会があり、プロビジョニング不足のリソースはパフォーマンス改善の機会があります。推奨には複数の選択肢が提示され、それぞれのコスト影響とパフォーマンスリスクが表示されるため、要件に合った選択ができます。

はじめかた

Compute Optimizer を使い始めるには、Compute Optimizer コンソールで「オプトイン」をクリックするだけです。有効化すると、CloudWatch メトリクスの過去 14 日間のデータを分析して推奨を生成します。拡張インフラストラクチャメトリクスを有効にすると、最大 93 日間のデータに基づくより精度の高い推奨が得られます。Compute Optimizer 自体の利用は無料です。

Azure・オンプレミスとの比較

Azure の対応サービス Azure Advisor (コスト最適化)
オンプレミスでの対応手段 VMware vRealize Operations、手動でのキャパシティプランニング

AWS の優位点

  • 機械学習による分析で、単純な閾値ベースの推奨ではなく、使用パターンの変動を考慮した精度の高い推奨を提供する
  • EC2、EBS、Lambda、ECS (Fargate) の 4 種類のリソースを横断的に分析し、コスト削減の機会を網羅的に特定できる
  • Compute Optimizer 自体は無料で利用でき、追加コストなしでリソース最適化の推奨を受けられる

注意点

  • 推奨はあくまで過去の使用パターンに基づく提案であり、将来のワークロード変動は考慮されない。季節変動やイベント時の負荷増加がある場合は慎重に判断すること
  • 拡張インフラストラクチャメトリクスは有料オプション。より精度の高い推奨が必要な場合に有効化を検討すること
  • 推奨に従ってインスタンスタイプを変更する際は、アプリケーションの互換性 (アーキテクチャ、ネットワーク性能など) を事前に検証すること

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。