停止運用中の EC2 インスタンスも AWS Compute Optimizer の分析対象になりました

記事タイトルとURLをコピーする

マネージドサービス部 佐竹です。
2023年3月末に複数の発表がありました AWS Compute Optimizer のアップデートについてそれぞれご紹介します。

はじめに

昨日のブログでは、2022年の re:Invent で発表された AWS Compute Optimizer の新しい機能について検証結果を記載しました。

blog.serverworks.co.jp

本日のブログでは、引き続き AWS Compute Optimizer のアップデートに関する情報をまとめていきたいと思います。

2023年3月30日に発表されたアップデート

以下のドキュメント履歴を参考に、3つのアップデートを紹介します。

docs.aws.amazon.com

  • Compute Optimizer supports new EC2 instance types
    • 新しいインスタンスタイプをサポートしました
  • Compute Optimizer supports new EBS volume types
    • 新しいボリュームタイプをサポートしました
  • Compute Optimizer supports EC2 suspension workloads
    • 一時的な停止を行っている EC2 をサポートしました

1つずつ順に紹介していきます。ただ本ブログの題名になっているように、3つ目のアップデートは少し掘り下げていきます。

新しいインスタンスタイプをサポートしました

AWS Compute Optimizer が新しく 61 個のインスタンスタイプを分析対象として含めるようになりました。

それは、C6in, C7a, R6in, R6idn, M6in そして M6idn ファミリーのインスタンスタイプです。

AWS Compute Optimizer は、特に EC2 においては CPU や メモリの過去の利用率を分析することで、費用を鑑みた適切なインスタンスタイプをリソースごとに推奨してくれる機能です。ですが、その分析対象及び推奨先として表示されるインスタンスタイプには、自動的に最新のインスタンスタイプが含まれるわけではありません。

今回のように、新しいインスタンスがリリースされてから少し時間が経過してから追加されます。最新のインスタンスタイプに切り替えたいと考えている方は、今回のようなアップデートに注目しておく必要があるでしょう。

新しいボリュームタイプをサポートしました

EBS ボリュームについては、過去既にリリースされており分析の対象となっていなかったボリュームタイプが AWS Compute Optimizer の対象として新規に追加されたという嬉しいニュースです。

追加されたのは、HDD である st1sc1。そして Provisioned IOPS SSD である io2 Block Express です。

さて、注目したいのはやはり st1 と sc1 です。これらは、2016年4月20日にリリースされた過去があり、かなり歴史もあるボリュームタイプです。 長らく最低容量 500 GiB という縛りがありましたが、2020年12月にはその最小サイズが 500 GiB から 125 GiB と引き下げられています。

blog.serverworks.co.jp

特に sc1 は HDD かつコールドストレージであることからコストパフォーマンスがよく、S3 並みの利用料の安さと相まって一部の EC2 インスタンスで活躍しています。

また、st1 と sc1 が対象に含まれることになったため、これらが推奨先として表示されるだけではなく、分析される対象にもなりました。

上図の通り、 sc1 においても分析結果の表示が可能となっています。

一時的な停止を行っている EC2 をサポートしました

このアップデートが多くのお客様に「素晴らしいアップデート」と言われる本ブログの本題です。

AWS Compute Optimizer には、これまで仕様として以下の文言が公式ドキュメントに記載されていました。

Compute Optimizer がレコメンデーションを生成するには、30 時間以上連続したリソースからの CloudWatch メトリクスデータが必要です。

この通り「30時間は最低でも連続して利用されている」必要がありました。

この仕様のため、コスト最適化の目的で「夜間及び土日の停止」を行っている EC2 インスタンスは分析の対象になりませんでした。夜間停止を行っているインスタンスは最低でも24時間に1回は停止されてしまうため、30時間以上連続するメトリクスを生成できません。

ですが、今回のアップデートによりこの表記は削除され以下の通りに改められています。

Amazon EC2 instances require at least 30 hours of metric data in the past 14 days. If you enabled the enhanced infrastructure metrics feature, EC2 instances require at least 30 hours of metric data over the past 93 days.

[翻訳] EC2 インスタンスにおいては、過去 14 日間で最低 30 時間のメトリクスデータが必要です。もし拡張インフラストラクチャメトリクス機能を有効にしている場合は、過去 93 日間で少なくとも 30 時間のメトリクス データが必要となります。

https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ec2-instances

上記の通り、通常の利用においては「過去 14 日間で30時間あればよい」に変更されました。

これにより今まで夜間停止によって AWS Compute Optimizer で推奨が作成されていなかったインスタンスにおいても今後は推奨が閲覧可能となり、また一歩進んだコスト最適化が行えることとなりました。

アップデート後の Compute Optimizer の推奨結果

Recommendation instance state

Compute Optimizer の結果一覧に新たに「Recommendation instance state」が追加されました。

これは、推奨が生成されたときのそのインスタンスの状態を示しており、停止中のインスタンスの場合には「Stopped」が表示されるようになっています。

インスタンスごとの結果の詳細を確認してみます。

デフォルトの2週間だと少しわかりにくいので表示を「Time range: Last 3 days」にしました。

矢印部分が示す通り、夜間停止しているインスタンスでは CPU や メモリのメトリクスが停止中である夜間にデータが取得できていません。しかし今現在はこのような状況においても AWS Compute Optimizer に推奨が表示されるようになっています。

まとめ

AWS Compute Optimizer で2023年3月末に複数のアップデートがあり、それぞれについて解説を行いました。そしてその内の1つは、分析対象期間の変更でした。

具体的には「最低 30 時間の連続したメトリクスデータが必要」であった仕様が「過去 14 日間で最低 30 時間のメトリクスデータが必要」に変更されたというものです。このアップデートにより、夜間停止している EC2 インスタンスも分析の対象となり、AWS Compute Optimizer からコスト最適化の推奨が得られることになりました。

今回のアップデートは複数のお客様で大変喜ばれた機能であり、特に「夜間停止しているからといった理由で推奨事項が得られなかった」というエンドユーザ様には朗報となるアップデートとなっています。

是非これを機会に AWS Compute Optimizer の結果を棚卸しなおしてみてください。

では、またお会いしましょう。

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023 Japan AWS Top Engineers/2020-2023 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。