AWS Compute Optimizer のよくある質問

Compute Optimizer はワークロードに最適な AWS リソースの選択に役立つ、直感的かつ実用的な推奨事項を提供します。

全般

AWS Compute Optimizer では、機械学習を使用して利用履歴のメトリクスを分析し、Amazon Elastic Compute Cloud (EC2) インスタンスタイプ、Amazon Elastic Block Store (EBS) ボリュームの設定、AWS Fargate の Amazon Elastic Container Service (ECS) サービスのタスクサイズ、商用のソフトウェアライセンス、AWS Lambda 関数のメモリサイズ、Amazon Relational Database Service (RDS) DB インスタンスクラスなどについて、最適な AWS リソースの設定を特定できます。Compute Optimizer は、AWS のワークロードに最適な AWS リソースを推奨することで、コストの削減およびワークロードのパフォーマンスの改善に役立つ一連の API およびコンソールエクスペリエンスを提供します。

AWS Compute Optimizer では、直感的かつ簡単に実行できる形で AWS のリソースに関する推奨事項が提供されます。これにより専門知識なしで、時間や資金を投資することなくワークロードに最適な AWS リソースをすばやく特定できるようになります。Compute Optimizer コンソールでは、Compute Optimizer により分析されたすべてのリソースと推奨事項についてのグローバルかつクロスアカウントなビューが提供されるため、最も影響が大きい最適化の機会をすばやく特定できます。

AWS Compute Optimizer にサインアップするには、Compute Optimizer コンソールに移動し、「オプトイン」をクリックします。 このサービスへのアクセスには、AWS アカウントが必要です。オプトインすると、Compute Optimizer はすぐに AWS リソースの分析を開始し、推奨事項を提供するようになります。Compute Optimizer に初めてオプトインした場合、アカウント内の AWS リソースを完全に分析するのに最大 24 時間かかる場合があります。

AWS Compute Optimizer をオプトインすると、AWS リソースの設定データ、CloudWatch メトリクス、Amazon RDS Performance Insights のデータを使用するサービスを認可することになります。このデータが必要なのは、Compute Optimizer が評価するリソースを識別する必要があり、レコメンデーションを作成する前に十分なメトリクス履歴が必要になるためです。

AWS Compute Optimizer では、Cost Explorer によるリソースの適切なサイズ適正化に関する推奨事項と同じ推奨エンジンが使用されます。Compute Optimizer では、お客様がワークロードに最適な EC2 インスタンスタイプを特定するのに役立つ推奨事項が提供されます。Cost Explorer コンソールと API は、コスト削減につながる可能性のあるこれらの推奨事項のサブセットを表示します。お客様特有のコストとその削減に関する情報 (請求情報、利用可能なクレジット、RI、Savings Plans など) が追加されます。これにより、コスト管理の所有者はインフラストラクチャのサイジングによるコスト削減の機会をすばやく特定できるようになります。Compute Optimizer コンソールや API では、コストに関わらずすべての推奨事項を提供しています。エンジニアリングチームは、Compute Optimizer を使用してワークロードにおける料金とパフォーマンスのトレードオフを評価したり、詳細データ (メモリのメトリクスなど) を含む推奨事項を入手できます。また、リソースの使用状況とパフォーマンスリスクの予測を評価できます。

AWS Compute Optimizer は Cost Optimization Hub と統合されます。Cost Optimization Hub を有効にすると、Compute Optimizer で割引を組み込んだ推定の月間節約額を確認できます。

推奨事項の設定

外部メトリクスの取り込み機能を使用して、Datadog、Dynatrace、Instana、New Relic の 4 つのオブザーバビリティ製品のいずれかから EC2 メモリ使用率のメトリクスを取り込むように AWS Compute Optimizer を設定できます。有効にすると、Compute Optimizer により CPU、ディスク、ネットワーク、IO、スループットデータに加え、外部の EC2 メモリ使用率のメトリクスが分析され、EC2 のサイズ適正化に関する推奨事項が生成されます。推奨事項にメモリデータを使用することで、さらなる節約の機会やアプリケーションパフォーマンスを改善する方法を特定できます。

節約額見積もりモードでは、リザーブドインスタンスや Savings Plans など、特定の割引を考慮するかどうかを選択できます。デフォルトでは、AWS Compute Optimizer により割引額に応じて節約額が見積もられます。コスト削減額見積もりモードの設定を変更して、割引前のコスト削減額を確認できます。

AWS Compute Optimizer では、インスタンスで実行されているアプリケーションのタイプを推測することで、ワークロードを x86 ベースのインスタンスタイプから ARM ベースの AWS Graviton インスタンスタイプに移行するのに必要な労力を特定できます。推定ワークロードタイプでは、リソースの属性を分析することにより、EC2 インスタンスや Auto Scaling グループなど、AWS リソースで実行されている可能性のあるアプリケーションのタイプが推測されます。これらの属性には、リソース名、タグ、使用特性、および設定が含まれます。これにより、インスタンスが Amazon EMR、Apache Cassandra、Apache Hadoop、Memcached、NGINX、PostgreSQL、Redis、Kafka、または Microsoft SQL Server を実行しているかどうかを推測できます。

ワークロード要件に合わせて「適正化推奨」の設定を調整することで、さらなるコスト削減とパフォーマンスの向上を実現できます。繰り返し発生するワークロードパターンを正確に把握するために、AWS Compute Optimizer でルックバック期間を 14 日、32 日、または 93 日 (拡張版) に設定できます。CPU 使用率とメモリ使用率のヘッドルームと CPU 使用率のしきい値を調整することで、適切なサイジングの推奨値を調整できます。EC2 用の EC2 インスタンスタイプと Auto Scaling グループの推奨事項のカスタマイズ可能なリストにより、適切なサイジングの推奨事項について、アプリケーションやビジネスのニーズなど、特定のリソース制約を設定できます。Compute Optimizer は、適切なサイズ設定に関するレコメンデーションを、リストにある指定されたインスタンスタイプに制限します。適切なサイズ設定に関するレコメンデーションの詳細設定を保存すると、適切なサイズ設定に関する新しいレコメンデーションが 24 時間以内に生成されます。

使用率の急上昇に対する AWS Compute Optimizer の感度を変更したい場合、使用率のしきい値を調整できます。ほとんどのワークロードでは、パッチの適用やインスタンスの再起動により、通常の使用量を超える一時的なスパイクが発生する可能性があります。これに対処するため、使用率のしきい値を設定できます。これは、ワークロードが使用率のヘッドルームのもと実行する時間の割合を表します。ワークロードがスパイクの影響を受けにくい場合は、しきい値を下げることでさらにコストを削減できます。これにより、Compute Optimizer ではパフォーマンスとコスト削減の目標に合わせ、サイズ適正化に関する推奨事項が適切な感度で提供されます。

将来の使用率トレンドに強い確信がある場合は、使用率のヘッドルームを変更できます。将来的に使用率が高くなることが予想される場合、または確信が持てない場合は、ヘッドルームを高く設定できます。使用率が安定したままであると確信できる場合は、ヘッドルームを安全に低くすることができます。

AWS Compute Optimizer では、最新の技術更新を反映し、推奨事項の品質を維持するためにこれらの数値が更新される場合があります。Compute Optimizer では、ワークロードの特性に基づき選択されたパラメータが微調整される場合があります。これにより、適切なインスタンスの推奨事項を得ることができます。

AWS Compute Optimizer が推奨するインスタンスタイプおよびファミリーを制御したい場合は、優先インスタンスリストを定義する必要があります。優先インスタンスリストを定義しても、現在インスタンスリストから除外されているインスタンスに対して Compute Optimizer による推奨事項の生成が妨げられることはありません。これを使用することで、インスタンス、インスタンスの Savings Plans、予約、バースト可能なインスタンス、CPU プロバイダーなどに基づくサイズの適正化に関する特定の基準がある場合、その基準に合わせて推奨事項を設定できます。

組織のアカウント所有者または委任管理者である場合は、組織とその基盤となるアカウントおよびリージョンに関する推奨事項の設定を行えます。アカウント所有者である場合は、アカウントとリージョンに関する推奨事項の設定を行えます。リソース、アカウント、または組織レベルで設定が重複している場合は、より詳細な設定が広範な設定よりも優先されます。例えば、リソースレベルの設定はアカウントレベルの設定よりも優先され、アカウントレベルの設定は組織レベルの設定よりも優先されます。

推奨事項

AWS Compute Optimizer は、Amazon Elastic Compute Cloud (EC2)、Amazon Elastic Block Store (EBS)、および EC2 Auto Scaling グループ向けに最大 3 つのリソース推奨オプションを提供します。Compute Optimizer は、AWS Lambda 関数向けにメモリサイズのレコメンデーションを 1 つ、AWS Fargate の Amazon Elastic Container Service (ECS) サービス向けにタスクレベルの CPU およびメモリサイズのレコメンデーションを 1 つ提供します。Compute Optimizer は、Amazon Relational Database Service (RDS) DB インスタンスのために最大 2 つのリソース推奨オプションを提供します。 さらに、Compute Optimizer は Microsoft SQL Server エディションのダウングレード用にライセンスのレコメンデーションを 1 つ提供します。

AWS Compute Optimizer は、EC2 インスタンス、EC2 Auto Scaling グループ、EBS ボリューム、AWS Fargate の Amazon ECS サービス、Lambda 関数、RDS DB インスタンス、および商用ソフトウェアライセンスのうち、選択されたタイプに関するレコメンデーションを提供します。

AWS Compute Optimizer は、Amazon Elastic Compute Cloud (EC2) インスタンス、EC2 Auto-Scaling グループ、および Amazon Relational Database Service (RDS) DB インスタンスに関するレコメンデーションを生成するために直近 14 日間のメトリクスを分析しますが、この設定は 32 日または 93 日に変更できます。Compute Optimizer は過去 14 日間のメトリクスを分析して、他のリソースタイプに関するレコメンデーションを生成します。

ダッシュボードレベルのメトリクスの 2 つの新しいセット (コスト削減の機会とパフォーマンス改善の機会) を通じて、最適化の上位の機会を迅速に特定し、優先順位を付けることができます。

コスト削減の機会に関するメトリクスは、AWS Compute Optimizer のレコメンデーションを採用することにより、アカウントレベル、リソースタイプレベル、またはリソースレベルで達成できる Amazon EC2、Amazon EBS、AWS Fargate の Amazon ECS サービス、商用ソフトウェアライセンス、Amazon RDS、および AWS Lambda の毎月のコスト削減額を定量化します。これらのメトリクスを使用して、コスト効率の機会を評価および優先順位付けしたり、時間の経過に合わせてコスト効率をモニタリングしたりできます。パフォーマンス改善の機会に関するメトリクスは、アカウントおよびアカウントタイプレベルでプロビジョニングが不十分なリソースの割合と数を定量化します。これらのメトリクスを使用して、リソースのボトルネックリスクに対処するパフォーマンス改善の機会を評価したり、優先順位を付けたりできます。

拡張インフラストラクチャメトリクスは、EC2 インスタンスおよび RDS DB インスタンス向けの AWS Compute Optimizer の有料機能であり、月次または四半期ごとの使用パターンでワークロードのレコメンデーションの精度および関連性を改善します。この機能をアクティブ化すると、Compute Optimizer はデフォルトの Compute Optimizer オプションと比較して最大 6 倍の使用率メトリクス履歴を自動的に取り込み、分析します (14 日間に対して最大 3 か月分の履歴)。既存および新規に作成されたすべての EC2 インスタンス、Auto Scaling グループ、および RDS DB インスタンスのために、Compute Optimizer コンソールまたは API を介して、組織、アカウント、またはリソースレベルでこの機能をアクティブ化できます。

詳細については、AWS Compute Optimizer の料金ページにアクセスしてください。

ライセンス最適化に関する推奨事項

AWS Compute Optimizer は、EC2 で実行されている SQL Server のエディションダウングレードに関する推奨事項を生成します。エンタープライズ限定の機能を使用していない場合や、AWS のスタンダードエディションに実行可能な代替手段がある場合は、エンタープライズからスタンダードにダウングレードすることで SQL Server ライセンスのコストを最大 73% 節約できます。推奨を受けるには、エージェントベースの CloudWatch Application Insights を有効にし、データベースの認証情報を使用して読み取り専用アクセスを許可する必要があります。このライセンス推奨事項は、ライセンス込み (LI) EC2 SQL Server インスタンスと Bring-Your-Own-License (BYOL) インスタンスの両方を対象としています。さらに、SQL Server は CPU コア単位でのみライセンスされるため、EC2 インスタンスの適切なサイズ設定の推奨事項によってライセンスコストを最適化できます。vCPU が少ないことは、SQL Server ライセンスのコストが低いことを意味します。

AWS Compute Optimizer は、SQL Server エディション、ライセンスオプション、使用している特定のデータベースレベルの機能など、現在の設定を分析します。分析に基づいて、SQL Server インスタンスが最適化されているかどうかが判断します。最後に、事前に定義された最適化基準に基づいて推奨事項を生成し、コンソールまたは API を通じて推奨事項を利用できるようにします。

AWS Compute Optimizer を選択することで、サービスによる AWS のサービス設定データと CloudWatch アプリケーションインサイトのメトリクスの使用を承認します。SQL Server のデータには、エディション、ライセンスオプション、および CloudWatch アプリケーションインサイトによって追跡される SQL Server 機能設定が含まれます。

EC2 インスタンスに関する推奨事項

AWS Compute Optimizer は、M、C、R、T、X、I、D、H、Z、G、P インスタンスファミリーのスタンドアロン EC2 インスタンス向けの EC2 インスタンスタイプおよびサイズの推奨事項をサポートしています。サポートされる EC2 インスタンスタイプの詳細なリストについては、ドキュメントをご覧ください。

AWS Compute Optimizer は、EC2 インスタンスタイプのレコメンデーションを生成する時に、CPU 使用率、1 秒あたりのネットワークパケット、ローカルストレージのスループット、およびローカルストレージの IOPS など、デフォルトの CloudWatch メトリクスを分析します。EC2 インスタンスがレコメンデーションを取得するには、累計 30 時間のメトリクスが必要です。

CloudWatch エージェントを使用してメモリ使用率を発行する場合、AWS Compute Optimizer は、「CWAgent」名前空間で CloudWatch エージェントによって発行されたメモリメトリックを自動的に分析します。

メモリなどのハードウェアリソースのメトリックが利用できない場合、AWS Compute Optimizer は、そのディメンションを縮小する推奨の作成を回避しようとします。

パフォーマンスリスクは、インスタンスタイプがワークロードのリソースニーズを満たさない可能性を示します。AWS Compute Optimizer は、CPU、メモリ、EBS スループット、EBS IOPS、ディスクスループット、ディスク IOPS、ネットワークスループット、ネットワーク PPS など、推奨インスタンスの各リソースディメンションについて、個別にパフォーマンスリスクスコアを算出します。各リソース対象において、パフォーマンスリスクスコアは、所定のリソースディメンションで容量が制約される可能性のある、過去のルックバック期間における時間の割合として計算されます。推奨インスタンスのパフォーマンスリスクは、分析されたリソース仕様全体のパフォーマンスリスクスコアの最大値として計算されます。

AWS Compute Optimizer は、推奨オプションを使用した場合の EC2 インスタンスの CPU およびメモリ使用率を予測するため、推奨オプションでワークロードがどのように実行されるかを理解できます。また Compute Optimizer では、現在のインスタンスと推奨されるインスタンスタイプとの設定の違いがリストされるため、現在のインスタンスから推奨されるインスタンスタイプにワークロードを移行するために適用する必要があるアップデートを把握できます。 

AWS Compute Optimizer は、ワークロードに最適な AWS リソースのリストを特定した後、オンデマンド料金などのさまざまな料金ディメンションを組み込み、予想されるパフォーマンスリスクとともに推奨事項をランク付けします。Compute Optimizer では、スポット料金などの一時的な料金係数は考慮されません。

Auto Scaling グループの推奨事項

AWS Compute Optimizer では、EC2 Auto Scaling グループの EC2 インスタンスタイプおよびサイズに関する推奨事項が固定グループサイズで提供されます。希望サイズ、最小サイズ、最大サイズがすべて同じ値に設定され、スケーリングポリシーは添付されません。さらに、Auto Scaling グループメンバーインスタンスのすべてがタイプ M、C、R、T、X、I、D、H、Z、G、P インスタンスファミリーである必要があります。現時点で、Compute Optimizer は混合インスタンスポリシーで設定された Auto Scaling グループをサポートしていません。サポートされる EC2 インスタンスタイプの詳細なリストについては、ドキュメントをご覧ください。

AWS Compute Optimizer では、Auto Scaling グループの推奨事項を作成するのに少なくとも連続で 30 時間のメトリクスが必要です。Compute Optimizer は、各メンバー EC2 インスタンスのデフォルトの CloudWatch メトリクス (CPU 使用率やネットワーク I/O メトリクスなど) や、Auto Scaling グループの設定 (スケーリングポリシーや関連する起動テンプレートなど) を分析します。

EBS ボリュームに関する推奨

AWS Compute Optimizer は、汎用 EBS ボリューム (gp2/gp3)、プロビジョンド IOPS EBS ボリューム (io1/io2/io2 BX)、および HDD EBS ボリューム (st1/sc1) をサポートしています。Compute Optimizer では、マグネティック EBS ボリュームを現行世代の EBS ボリュームに移行するための推奨事項も提供されています。

AWS Compute Optimizer では、EBS ボリュームに関する推奨事項を作成するのに少なくとも連続で 30 時間のメトリクスが必要です。Compute Optimizer は、IOPS やスループットのメトリクスなど、EBS ボリュームのデフォルトの CloudWatch メトリクスを分析します。

パフォーマンスリスクは、推奨オプションがワークロードのパフォーマンス要件を満たさない可能性を示します。パフォーマンスリスクが高いほど、推奨された EBS ボリュームの構成がワークロードのパフォーマンス要件を満たすかどうかを検証するために、より多くの労力を費やす必要があります。

AWS Compute Optimizer は、ワークロードに最適な EBS ボリュームの構成に関するリストを特定した後、公開されている EBS 使用料金を取り込み、予想されるパフォーマンスリスクとともに推奨事項にランク付けを行います。

AWS Lambda 関数の推奨事項

AWS Compute Optimizer は、2 つのカテゴリの Lambda 関数の最適化に役立ちます。最初のカテゴリには、メモリサイズが過剰にプロビジョニングされる可能性のある Lambda 関数が含まれます。コストを節約するために、これらの関数のメモリサイズを縮小することをご検討ください。2 番目のカテゴリには、追加の CPU パワーのベネフィットを利用できる可能性のある計算集約型の Lambda 関数が含まれます。これらの関数で使用可能な CPU における同等の増加をトリガーし、ランタイムを短縮するために、メモリサイズを増やすことを検討できます。これらのカテゴリのいずれにも該当しない関数の場合、Compute Optimizer により推奨事項が提供されることはありません。

AWS Compute Optimizer は、関数のランタイム期間、CPU 使用時間、メモリ使用量など、14 日間の Lambda 関数の呼び出し履歴を分析し、推奨事項を提供します。

はい。AWS Compute Optimizer は、Lambda 関数に最適なメモリサイズを特定した後、公開された Lambda の料金、予想される関数のランタイム、直近 14 日間の関数の呼び出し数を組み込み、「予定」のコスト数値を計算します。この数値を使用して、Lambda 関数のメモリサイズを推奨オプションに設定していた場合の Lambda のコストを把握できます。

AWS Fargate の Amazon ECS サービスに関するレコメンデーション

AWS Compute Optimizer は、AWS Fargate で実行されている Amazon ECS サービス向けに、タスクレベルの CPU とメモリサイズの推奨事項を提供します。

AWS Compute Optimizer では、AWS Fargate の Amazon ECS サービスに関する推奨事項を作成するのに少なくとも 24 時間のメトリクスが必要です。Compute Optimizer は、AWS Fargate の Amazon ECS サービスについて、CPU およびメモリ使用率に関するデータを分析します。

AWS Compute Optimizer は、推奨された通りに設定していた場合の AWS Fargate の Amazon ECS サービスにおける CPU およびメモリ使用率を予測します。そのため推奨される設定を使用していた場合、ワークロードのパフォーマンスがどのようになっていたかを把握できます。

はい。Compute Optimizer は、AWS Fargate 上の Amazon ECS サービスに最適な CPU とメモリのサイズを特定した後、公開されている AWS Fargate の料金、新しい CPU とメモリの設定、および過去 14 日間のランタイム履歴を組み込んで、「想定される」コストを計算します。この情報を参照することにより、CPU とメモリサイズを推奨オプションに設定していたとすれば AWS Fargate の Amazon ECS サービスのコストがどのようになっていたのかを理解できます。 

RDS インスタンスに関するレコメンデーション

AWS Compute Optimizer は、RDS MySQL および RDS PostgreSQL インスタンスの RDS インスタンスクラスのレコメンデーション、およびサポートされている RDS DB インスタンスにアタッチされた EBS ボリュームのボリュームタイプとパフォーマンスのレコメンデーションをサポートしています。

AWS Compute Optimizer は、RDS インスタンスクラスのレコメンデーションを生成する際に、CPU 使用率やメモリ使用率などのデフォルトの CloudWatch メトリクス、および DBLoad などの Amazon RDS Performance Insights メトリクスを分析します。RDS DB インスタンスがレコメンデーションを取得するには、累計 30 時間のメトリクスが必要です。

RDS DB インスタンスのために Amazon RDS Performance Insights が有効になっていない場合、Compute Optimizer は CPU の数を減らすレコメンデーションを行いません。

パフォーマンスリスクは、インスタンスタイプがワークロードのリソースニーズを満たさない可能性を示します。Compute Optimizer は、CPU、メモリ、EBS スループット、EBS IOPS、ネットワークスループット、ネットワーク PPS など、推奨インスタンスの各リソースディメンションについて、個別にパフォーマンスリスクスコアを算出します。各リソースディメンションで、パフォーマンスリスクスコアは、所定のリソースディメンションでキャパシティが制約される可能性のある、過去のルックバック期間における時間の割合として計算されます。推奨インスタンスのパフォーマンスリスクは、分析されたリソース仕様全体のパフォーマンスリスクスコアの最大値として計算されます。

Compute Optimizer は、推奨オプションを使用した場合の RDS DB インスタンスの CPU およびメモリ使用率を予測するため、推奨オプションでワークロードがどのように実行されるかを理解できます。また Compute Optimizer は、現在のインスタンスと推奨されるインスタンスクラスとの設定の違いをリストするため、現在のインスタンスから、推奨されるインスタンスクラスにワークロードを移行するために適用する必要がある可能性のある更新を把握できます。 

AWS のサービスの統合

はい。AWS Compute Optimizer は AWS Organizations と統合し、組織内のすべてのレコメンデーションを確認することを可能にします。この機能を使用するには、組織で「すべての機能」が有効になっており、組織のプライマリアカウントとしてログインする必要があります。