Compute Optimizer で推奨事項を自動で是正する Automation 機能がリリースされました

Compute Optimizer で推奨事項を自動で是正する Automation 機能がリリースされました

2025.11.22

こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。

Compute Optimizer でついに、リソースを自動で是正する Automation 機能がリリースされました。

https://aws.amazon.com/jp/about-aws/whats-new/2025/11/aws-compute-optimizer-automation-rules/

AWS Blog も公開されています。

https://aws.amazon.com/jp/blogs/aws-cloud-financial-management/introducing-automated-amazon-ebs-volume-optimization-in-aws-compute-optimizer/

アセスメントするのはいいのですが、いざ手を動かすとなると、

  1. 自動化させるのか(自分たちで定期的にチェックするのか)
    1. 変更作業はいつ行うのか
  2. 変更作業用のコマンドの生成
  3. 定期チェックするとしたら、次はいつやるのか

など、変更する内容にもよると思うのですが、ハードルがあったのではないでしょうか。

今回のアップデートで、スケジュールに基づき、自動で設定変更を行う、Automation rules が登場しました。

https://docs.aws.amazon.com/compute-optimizer/latest/ug/automation.html

Automation rules

内容重複しますが、 Automation rules は Compute Optimizer がレコメンドした推奨事項に基づき、リソースの設定変更を行う機能です。

是正項目

現時点では、設定変更を行っても、リスクが低そうな 2 つの項目をサポートしています。

  • アタッチされていない EBS ボリュームのスナップショットを作成し、ボリュームを削除する
  • EBS ボリュームタイプのアップグレード(gp2 から gp3 や、io1 から io2 など)

将来に期待ですね。

https://docs.aws.amazon.com/compute-optimizer/latest/ug/automation-rec.html

設定イメージ

是正項目 x フィルター x スケジュール x 優先度の組み合わせでルールを構成します。

フィルターに関してですが、以下のように「削減推定額」や「再起動が必要かどうか」などの観点で、アクションの有無をコントロールできます。

2025-11-22-17-52-36.png

サポートされている条件式は以下に記載されています。

https://docs.aws.amazon.com/compute-optimizer/latest/ug/automation-rules.html#automation-rules-criteria

ルールの優先順位

続いて、ルールの優先順位です。優先度が低い順に実行されます。

Compute Optimizer は AWS Organizations と統合しており、今回の Automation Rules も同様に、中央集権的に管理できます。

そのため、Automation Rules には アカウントルール組織ルール の 2 種類があります。

組織ルールでは、ルールの優先度をメンバーアカウントの前後どちらに適用するか選べます。

たとえば、以下のルールが適用されているとした場合、ルール C のスケジュールにしたがって Automation Rule が適用されます。

ルールグループ ルールの順序 ルール名 状態 スケジュール
メンバーアカウントルールの前に組織ルールが評価される 1 ルール A 非アクティブ 毎週月曜日 12:00 ~ 13:00 UTC
メンバーアカウントルールの前に組織ルールが評価される 2 ルール B 非アクティブ 毎日 12:00 ~ 13:00 UTC
メンバーアカウントルール 1 ルール C アクティブ 毎月 15 日 12:00 ~ 13:00 UTC
メンバーアカウントルール 2 ルール D 非アクティブ 毎月 15 日 12:00 ~ 13:00 UTC
組織ルール(メンバーアカウントルールの前後) 1 ルール E 非アクティブ 毎週月曜日 12:00 ~ 13:00 UTC
組織ルール(メンバーアカウントルールの前後) 2 ルール F アクティブ 毎日 12:00 ~ 13:00 UTC

ルール C の後に定義されている、ルール F が適用されるのか、どうかは気になるところですね。

(アンドキュメントな部分なため、今の所、わからずでした)

https://docs.aws.amazon.com/compute-optimizer/latest/ug/automation-rules.html#automation-rules-order

ロールバック

万が一、意図しないリソースに設定変更が当たってしまったときに際して、ロールバック機能が搭載されています。

各アクションのロールバックの挙動は以下のとおりです。

  • アタッチされていない EBS ボリュームのスナップショットを作成し、ボリュームを削除する
    • 削除されたボリュームのスナップショットから新しい EBS ボリュームが作成される
      • なんらかの理由(スナップショットも誤削除した等)で、スナップショットが不在の場合は、ロールバックが失敗する
    • 新しいボリュームには異なるボリューム ID が割り当てられ、元のボリュームにユーザーが作成したすべてのタグが新しいボリュームに復元される
  • EBS ボリュームタイプのアップグレード(gp2 から gp3 や、io1 から io2 など)
    • ボリュームを以前のボリュームタイプ構成に変更する
    • 変更されてから、ロールバックを実行するまでに、少なくとも 6 時間待つ必要がある

また、Automation Rule 適合後に、ボリュームを手動でさらに変更した場合は、ロールバックできなくなる可能性があるため注意しておきましょう。

(ある意味、ロールバックは手動でやるのも良さそうな気がしました。)

Compute Optimizer validates that the current Amazon EBS volume configuration matches the configuration at the time the automation event completed. If you modify the volume configuration after Compute Optimizer completes the automation event and then attempt to roll back the automation event, the rollback operation will fail.

https://docs.aws.amazon.com/compute-optimizer/latest/ug/automation-events.html#automation-events-rollback

やってみる

実際にコンソールをを見てみましょう。右下に Automation が増えていますね。

2025-11-22-19-34-05.png

Recommended actions をクリックすると、Automation の有効化可否を聞かれました。Elable Automation をクリックします。

2025-11-22-19-34-09.png

なお、Automation を有効化すると AWSServiceRoleForComputeOptimizerAutomation という、名前のサービスリンクロールが作成されます。

ポリシーには ComputeOptimizerAutomationServiceRolePolicy がアタッチされます。

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "EBSReadOnly",
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeVolumes",
				"ec2:DescribeSnapshots",
				"ec2:DescribeVolumesModifications"
			],
			"Resource": "*"
		},
		{
			"Sid": "EBSVolumeModification",
			"Effect": "Allow",
			"Action": ["ec2:ModifyVolume", "ec2:DeleteVolume"],
			"Resource": "*",
			"Condition": {
				"Null": {
					"aws:ResourceTag/exclude-from-compute-optimizer-automation": "true"
				}
			}
		},
		{
			"Sid": "CreateEBSSnapshot",
			"Effect": "Allow",
			"Action": ["ec2:CreateSnapshot"],
			"Resource": "*"
		},
		{
			"Sid": "RollbackEBSVolumeDeletion",
			"Effect": "Allow",
			"Action": ["ec2:CreateVolume"],
			"Resource": "*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceAccount": "${aws:PrincipalAccount}"
				}
			}
		},
		{
			"Sid": "Tag",
			"Effect": "Allow",
			"Action": ["ec2:CreateTags"],
			"Resource": ["arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*:*:snapshot/*"],
			"Condition": {
				"StringEquals": {
					"ec2:CreateAction": ["CreateVolume", "CreateSnapshot"]
				}
			}
		}
	]
}

https://docs.aws.amazon.com/ja_jp/aws-managed-policy/latest/reference/ComputeOptimizerAutomationServiceRolePolicy.html

私のアカウントには何もいないのですが、Recommended actions という画面も用意されています。

2025-11-22-19-48-01.png

AWS Blogs を読んでいると、この画面から、オンデマンド(Review and Apply)で適用もできるようです。

これは、便利ですね。

alt text
Introducing Automated Amazon EBS Volume Optimization in AWS Compute Optimizerより画像引用

続いて Automation rules です。私の場合、AWS Organizations を利用しているため、次のように Organizations rules と My account rules が表示されています。

2025-11-22-19-52-44.png

Create Automation rules をクリックすると、次のような画面に遷移します。

AWS Organizations の管理アカウントや委任アカウントで設定する場合は、次のように Organizations rules なのか、 My account rules を選べます。

2025-11-22-19-54-39.png

メンバーアカウントおよび、Organizations を使っていない、スタンドアロンのアカウントだと、以下のようなイメージです。

2025-11-22-19-56-54.png

適用するアカウント ID をチェックボックスで選べます。

つまり、開発/本番でルール分け(スケジュールやフィルター分け)ができるってことです。便利ですね。

OU 単位で選べられるようになると、さらにうれしくなりそうですね。

2025-11-22-19-57-31.png

続いて、Apply rules です。どのルールを優先させる上で大事です。

Before member account rules だとある程度の強制力を持たせられる、After member account rulesだと、デフォルトルールような形で運用できるのでいいですね。

2025-11-22-20-02-22.png

続いて、Action タイプとクライテリアです。今回はボリュームのアップグレードにしてみました。

ボリュームのアップグレードは gp2 から gp3 を対象にしてみます。(io1 から io2 は除外しました。深い意味はありません。)

gp2 から gp3 への移行は、再起動なしで変更可能ですが、お守り (?) 的な意味合いで、再起動が不要なアクションの場合は実行するようフィルターします。

2025-11-22-20-03-33.png

スケジュールと名前です。Local time zone で設定できるのありがたいですね。日時、週次、月次と設定できます。

最大 100 個のアクションを同時に進行できるようで、Window はそれに間に合う時間幅を設定してあげましょう。

イカした名前設定してみました。

2025-11-22-20-07-53.png

ルールステータスを管理できるのも良いですね。もしトラブったとき、状態を持ったまま無効にできるのは安心です。

「ルールを消すか、毎日実行されるか選ぶんだ。」と言われるとつらいので。

2025-11-22-20-14-40.png

ルールが作成されました!それぞれの画面イメージは以下のとおりです。

管理アカウント側

2025-11-22-20-26-48.png

メンバーアカウント側

2025-11-22-20-25-36.png

Automation events

最後に Automation events です。現状、とくに動いていないので寂しいですが、時間してイベント履歴を追えたり、ジョブの成功可否を閲覧できるようです。

2025-11-22-20-28-32.png

AWS Blog だと次のように、成功履歴および削減額が表示されていますね。

alt text
Introducing Automated Amazon EBS Volume Optimization in AWS Compute Optimizerより画像引用

料金

最後に Automation の料金です。執筆時点で Compute Optimizer の料金表を確認するに、記載がありませんでした。(コストを下げるための機能のため、無料であって欲しいですね。)

https://aws.amazon.com/compute-optimizer/pricing/?nc1=h_ls

Pricing API でも価格が出ていないようですので、無償だと思います。

https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSComputeOptimizer/20240826152358/us-east-1/index.json

まとめ

以上、「Compute Optimizer で推奨事項を自動で是正する Automation 機能がリリースされました」でした。

スケジュールベースで自動で是正するのも確かに便利なのですが、個人的にはオンデマンド(Review and Apply)でポチっといけるのは、便利だなぁって思いました。

AWS API Refefence をみていると Compute Optimizer Automation が増えており、API 経由(StartAutomationEvent)で実行もできそうでした。

https://docs.aws.amazon.com/ja_jp/compute-optimizer/latest/APIReference/API_Operations_Compute_Optimizer_Automation.html

re:Invent 2025 も非常に楽しみですね。

このブログ参考になれば幸いです。クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!

この記事をシェアする

FacebookHatena blogX

関連記事