Cloud Service
AWS Compute Optimizer
実使用メトリクスを機械学習で分析し、EC2 などのリソースに適正サイズを推奨するサービス。
- 1.稼働中リソースの実メトリクスを分析し、過剰・過小プロビジョニングを検出する。
- 2.EC2・Auto Scaling グループ・EBS・Lambda・Fargate などの適正サイズを推奨する。
- 3.推奨ごとに想定性能リスクと節約見込みを示し、購入オプションも考慮できる。
解決する課題
EC2 のインスタンスタイプや EBS のサイズは、最初に「念のため大きめ」に選んでそのまま放置されがちです。結果として、CPU もメモリもほとんど使っていないのに大きなインスタンスで課金され続けたり、逆に小さすぎてスループットが頭打ちになっていたりします。こうしたミスマッチを、勘ではなく実データで見つけたいというのが課題です。
Compute Optimizer はリソースの実使用メトリクスを分析し、次のような価値を提供します。
- 過剰プロビジョニング(無駄なコスト)と過小プロビジョニング(性能不足)を実データから検出する
- 現状より適したインスタンスタイプやサイズを、根拠つきの推奨候補として提示する
- 推奨に従った場合の想定節約額と、移行に伴う性能リスクの目安を示す
主要概念と用語
- 推奨(レコメンデーション): あるリソースに対する適正サイズの提案。現状と推奨候補を並べて示す
- 検出(ファインディング): リソースの状態区分。過剰プロビジョニング、過小プロビジョニング、最適、といった分類で示される
- right-sizing(適正サイズ化): 実使用に見合うサイズへ調整すること。本サービスの中心的な目的
- 推奨候補(レコメンデーションオプション): 1 つのリソースに複数提示される移行先候補。それぞれに想定コストと性能リスクが付く
- パフォーマンスリスク: 推奨候補に移行した場合に性能要件を満たせなくなる可能性の目安
- 拡張インフラストラクチャメトリクス: メモリ使用率など、標準では見えない追加メトリクスを長期間で分析する有料の上位機能
- 対象リソース: EC2 インスタンス、Auto Scaling グループ、EBS ボリューム、Lambda 関数、Fargate 上の ECS サービスなど
仕様・制限・クォータ
- アカウント単位でオプトインして有効化する。組織全体をまとめて有効化する運用もできる
- 推奨を生成するには、一定期間ぶんの実メトリクスの蓄積が必要になる。稼働直後のリソースはデータ不足で対象外になることがある
- 分析は CloudWatch のメトリクスを基にする。標準のままだとメモリ使用率は対象外になりやすく、より精緻な分析にはエージェント等によるメモリメトリクスの取得が前提になる
- 推奨はあくまで提案であり、自動でリソースを変更することはない。実際の変更は利用者の操作で行う
- 対象となるサービスやメトリクスの範囲はリージョンや設定により異なる
有効化した直後は推奨が出ないことがあります。これは不具合ではなく、分析に足る期間のメトリクスがまだ蓄積されていないためです。一定期間運用してから結果を確認してください。
内部の仕組み
Compute Optimizer は、対象リソースの過去の使用メトリクス(CPU 使用率、ネットワーク、ディスク I/O、Lambda の実行時間やメモリなど)を収集し、機械学習モデルで使用パターンを分析します。そのうえで、各インスタンスタイプの性能特性と突き合わせ、要件を満たしつつ無駄の少ない構成を推奨候補として算出します。
- ピークと平常時の使用傾向を踏まえ、単なる平均値ではなくワークロードの形を考慮する
- 候補ごとに想定コストとパフォーマンスリスクを計算し、複数案を比較できる形で提示する
- 標準メトリクスだけでは見えない領域(特にメモリ)は、追加メトリクスを取り込むほど推奨の精度が上がる
設計パターン / ベストプラクティス
- メモリメトリクスを取り込む: CloudWatch エージェント等でメモリ使用率を収集し、推奨の精度を高める
- 定期レビューの仕組み化: 月次などの運用サイクルで検出結果を確認し、過剰・過小のリソースを棚卸しする
- 段階的に適用: 推奨をいきなり全台に適用せず、性能リスクの低いものや非本番から試して影響を確認する
- タグで対象を絞る: 重要度やチーム単位で対象を整理し、優先順位をつけて right-sizing を進める
- 購入オプションと組み合わせる: サイズを適正化したうえで、定常稼働ぶんは長期割引の購入オプション検討につなげる
運用・監視
- コンソールのダッシュボードで、検出区分ごとの集計と各リソースの推奨を確認できる
- 推奨は API や CLI から取得できるため、定期レポート化や独自ダッシュボードへの取り込みができる
- 結果を S3 にエクスポートし、表計算や分析サービスでまとめて精査する運用がしやすい
- 推奨に従って変更したあとは、再分析の結果で検出区分が「最適」へ改善したかを確認する
コスト
Compute Optimizer の基本的な推奨機能自体は、追加料金なしで利用できる位置づけです。一方で、より深い分析を行う上位機能には課金が伴います。
- 標準の推奨(EC2 や EBS などの基本的な right-sizing)は追加コストなしで利用できる
- メモリ使用率などを長期間で分析する拡張インフラストラクチャメトリクスは有料の上位機能で、対象リソース量に応じて課金される
- 本サービスの本質的な価値は、過剰プロビジョニングの是正による継続的なコスト削減にある
表示される想定節約額やリスクはあくまで推定です。実ワークロードの季節変動やピーク特性によっては、推奨どおりにすると性能要件を満たせない場合があります。本番適用前に検証してください。
セキュリティ
- 有効化や推奨の閲覧は IAM で制御する。結果を見られる利用者を最小権限で限定する
- 組織全体で有効化する場合は、管理アカウント側からメンバーアカウントの推奨を集約して扱える
- S3 へのエクスポートを使う場合は、出力先バケットのアクセス権限と暗号化を適切に設定する
- 本サービスはメトリクスの分析が中心であり、アプリのデータ内容そのものを参照するものではない
Well-Architected の観点
- コスト最適化: 過剰プロビジョニングを実データで発見し、適正サイズ化で継続的に支出を抑える
- パフォーマンス効率: 過小プロビジョニングを検出し、ワークロードに見合うリソースへ是正できる
- 運用上の優秀性: 推奨レビューを運用プロセスに組み込み、サイズ見直しのループを回せる
- 持続可能性: 無駄なリソースを減らすことは、消費資源の削減にもつながる
試験で問われるポイント
- 「実使用メトリクスを分析して EC2 などの適正サイズ(right-sizing)を推奨する」サービスといえば Compute Optimizer
- 利用には事前のオプトインと、分析に足るメトリクスの蓄積期間が必要
- メモリ使用率は標準では見えにくく、精緻な推奨にはメモリメトリクスの取得が前提
- 推奨は提案であり自動変更はしない。実際の適用は利用者が行う
- ベストプラクティス全般の点検を行う Trusted Advisor との役割分担を押さえる
関連サービス・比較
横断的なベストプラクティス点検を行う AWS Trusted Advisor とよく対比されます。Compute Optimizer は実メトリクスに基づく適正サイズ推奨に特化し、Trusted Advisor は複数観点の幅広い気づきを提供する点が異なります。
| 観点 | Compute Optimizer | Trusted Advisor |
|---|---|---|
| 主目的 | 実使用に基づく適正サイズ推奨 | 横断的なベストプラクティス点検 |
| 分析の根拠 | 稼働メトリクスと機械学習 | 設定とベストプラクティスの照合 |
| 対象範囲 | 主に計算リソースのサイズ | コスト・セキュリティ・信頼性など複数観点 |
| 代表的な使いどころ | right-sizing の継続的な実践 | 全体の健全性レビューの起点 |
ハンズオン / CLI例
# Compute Optimizer を有効化(オプトイン)
aws compute-optimizer update-enrollment-status \
--status Active
# EC2 インスタンスの適正サイズ推奨を取得
aws compute-optimizer get-ec2-instance-recommendations \
--query "instanceRecommendations[].{ID:instanceArn,Finding:finding,Current:currentInstanceType}"
# 推奨の集計サマリ(検出区分ごとの件数)を確認
aws compute-optimizer get-recommendation-summaries \
--query "recommendationSummaries[].{Type:recommendationResourceType,Summaries:summaries}"
AWS Service
AWS Compute Optimizerを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
管理・ガバナンス
比較で見る軸
クラウド: AWS / カテゴリ: 管理・ガバナンス / 難易度: basic
導入後に効く点
EC2・Auto Scaling グループ・EBS・Lambda・Fargate などの適正サイズを推奨する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- 管理・ガバナンス
- 難易度
- basic
- 関連資格
- SOA-C02
- 設計柱
- cost / performance
判断チェックリスト
- 自社の用途が「管理・ガバナンス / cost」に近いか確認する。
- 強みである「稼働中リソースの実メトリクスを分析し、過剰・過小プロビジョニングを検出する。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。