[アップデート]AWS Compute Optimizerで推奨事項のカスタマイズができるようになりました(EC2インスタンス向け) #AWSreinvent

2023.11.27

みなさんこんにちは、杉金です。
AWS Compute Optimizerで、EC2インスタンス向けに推奨事項のカスタマイズを行う、Rightsizing recommendation preferencesが追加されました。

以下の公式ブログでも紹介されています。

どんな機能か

Compute Optimizerは、メトリクスを分析して最適なEC2インスタンスタイプを推奨してくれます。今回のアップデートによって、推奨事項を分析するための設定を環境の要件に合わせてカスタマイズできるようになりました。
設定箇所としては、Compute Optimizerコンソールの設定の [Rightsizing] から行います。

カスタマイズ可能な項目としては次の4つを設定できます。

  • 対象リージョンの選択
  • 推奨に含めるEC2インスタンスタイプ、ファミリーの選択
  • ルックバック期間の設定
  • CPU使用率の選択(しきい値とヘッドルーム)

どんな設定なのか、何を設定すべきかをコンソールの画面とともに試しながら説明していきます。

やってみた

コンソールの [Rightsizing] → [EC2 and Auto Scaling groups] にある [Edit] を選択します。

リージョンの選択

まずは推奨事項を出力するリージョンを決めます。

すべてのリージョンか特定のリージョンを選択します。選択したら [Next] で次へと進みます。特別な要件がない限りはすべてのリージョンを選択します。

EC2インスタンスタイプ、ファミリーの選択

続いて推奨に含めるEC2インスタンスタイプやファミリーを決めます。

特定のEC2インスタンスタイプやファミリーに推奨事項を制限するのは、次のようなケースが該当します。

  • Savings Plans(SP)やリザーブドインスタンス(RI)の恩恵を受けるインタンスタイプ、ファミリーのみ推奨事項として出力させたい
  • SAP-HANAなど、EC2上で稼働させるソフトウェアの制限により特定のインスタンスタイプ、ファミリーのみ推奨事項として出力させたい

他にもEC2インスタンスをIPv6専用サブネットに動作させる場合はNitro Systemで構築されたインスタンスタイプである必要があります。そのような制限、制約のある環境で誤って意図しないものを推奨させないためにこの設定が存在します。

ルックバック期間の選択

推奨事項を出力するための分析期間を指定します。

日数としては次の3つから選べます。

  • 14 days
  • 32 days
  • 93 days (拡張メトリクスの有効化が必要)

93 days は拡張メトリクスの有効化が必要です。拡張メトリクスの取得は有料になります。 14 days や 32 days は料金が発生しません。月次処理があるような環境であれば、32 days を選ぶとよいでしょう。

CPU使用率の選択(しきい値とヘッドルーム)

推奨事項として判定するCPU使用率のしきい値とヘッドルーム(余剰)を選択できます。 しきい値は、パーセンタイルで指定します。次の3つから選択できます。

  • P90
  • P95
  • P99.5

P99.5 というのは使用率の履歴から最も高い使用率データポイントのうち、上位 0.5% を除いた使用率で、P90 であれば上位 10% を除いた使用率です。
ヘッドルームとは、CPU使用率の余剰を指定するものです。次の3つから選択できます。

  • 0% (余剰なし)
  • 20%
  • 30%

しきい値がヘッドルームを超えると、スケールアップの推奨を受けます。しきい値がヘッドルームを大幅に下回る場合、スケールダウンが推奨されます。繁忙期や将来的な使用率増加が見込まれるのであれば高いヘッドルームを設定します。稼働が安定している環境であれば、ヘッドルームを低くすることで推奨事項を受け取りやすくなります。しきい値とヘッドルームの組み合わせとして、あらかじめ4つのプリセットが用意されています。

プリセット しきい値 ヘッドルーム(余剰)
Default P99.5 20%
Maximum savings P90 0%
Balanced P95 30%
Maximum performance P99.5 30%

コストを低く抑えるのであれば [Maximum savings] を選び、P90 の低めのパーセンタイルと余剰 0% を選びます。パフォーマンスを優先させるのであれば、[Maximum performance] を選び、高いパーセンタイル P99.5 と最も高い余剰率を設定します。 2つの間をとった [Balanced] や [Default] もあります。特段の要件がなければ、まずは Default のままでよいでしょう。

設定としては以上で完了です。

アカウントの選択(Organizationsのみ)

これはAWS Organizationsを使用してマルチアカウント管理をしている環境に限りますが、管理者アカウントから設定するAWSアカウントを選択可能です。

デフォルトにリセットする

変更した内容はデフォルトにリセットできます。

料金

本機能を含め、AWS Compute Optimizerは追加料金なしで利用できます。
拡張メトリクスを有効にする場合は料金が発生します。

注意点

公式ドキュメントに記載されていますが、以下の2点にご注意ください。

  • EC2インスタンスタイプ、ファミリー選択とルックバック期間機能は、Amazon EC2 および Auto Scaling グループ インスタンスでのみ利用できます。
  • CPU使用率の設定は、Amazon EC2 インスタンスでのみ利用できます。

さいごに

AWS Compute Optimizerで推奨事項のカスタマイズが発表されました。SPやRIを意識して推奨事項を確認したことがなかったので、これは便利だなと思いました。欲を言えば、EC2インスタンスごとに特性は異なるので複数の推奨事項を作成、共存できるとよいですね。

参考資料