[プレビュー] AWS Well-Architected Agent が登場したので触ってみた
いわさです。
昨今 AWS では DevOps Agent、Security Agent など様々なエージェントサービスが登場しており、さらに FinOps Agent などもプレビューで追加され今後色々なエージェントがもっと出てきそうな予感がします。
そんな中 AWS API/CLI のアップデート情報より、AWS Well-Architected Agent が追加された雰囲気を検知しました。
This change releases the Well-Architected Agent, a generative AI service that analyzes a customer's AWS environment and delivers personalized, prioritized recommendations across cost, security, performance, and resilience.
いつか出るだろうと思ってたし、なんなら作ってしまうかとも思っていたのですが、ついに出てきたか。
もう中身を見るまでもないですね。Well-Architected レビューをしてくれるんでしょう。エージェントが。
これまでは Well-Architected Tools や公式ドキュメントなどを作って質問形式の対話型でアセスメント/レビューしていくのが Well-Architected の進め方でしたが、エージェントにある程度を情報を与えることでうまくやってくれそうです。
AWS マネジメントコンソール上で機能を確認することができて、適当なワークロードで使ってみたのでその様子を紹介します。
東京リージョンにはまだ来ていない
まず東京リージョンの Well-Architected を開いてみましたが、こちらは従来の Well-Architected ツールだけです。
これまでの DevOps Agent、Security Agent などの展開の流れからすると東京リージョンは GA 時に追加されるのではないかなと予想してます。

バージニア北部リージョンだと「AWS Well-Architected エージェント」が追加されていますね!!

使ってみる
ということで使ってみましょう。
本日時点ではまだ AWS 公式ドキュメントでの情報が見当たらなかったので、手探りでいきます。
エージェントプロファイルを作成する
コンソールの表記からするとまずエージェントプロファイルとやらを作成する必要があるようなので、作成してみます。


プロファイルでは、モニタリング対象のアカウントとリージョン、最適化の柱、アクセス許可設定、あたりをやるようです。エージェントの基本設定みたいな感じかな。
また、プロファイルを使ってエージェントが対象アカウントを調査するにあたって、ここでのオンボーディングに加えて追加で IAM ロールの作成が必要みたいです。後述します。


今回は東京リージョンとバージニア北部リージョンを指定し、私の検証 AWS アカウントIDを指定、柱は選択できるのが4つでした。この4つを指定します。運用優秀性の柱がないのは何故なんだろう。
作成後のプロファイル画面はこんな感じです。

アカウントアクセスロールを作成する
プロファイル作成後に「推奨事項を生成するために必要なアクション」という黄色いバナーからアカウントアクセス用のロールの作成手順を確認することが出来ました。

このとおりに作成してみましょう。
ここで指定する実行ロールは先ほどのプロファイル作成でコンソールからポチポチで自動作成されたロールです。
マネージドポリシーはガイドに記載されているポリシーが存在していました。新しく追加されたやつみたいですね。

アーキテクチャレビューをしてみる
これでだいたい準備が終わりました。
公式ドキュメントが確認できないのではっきり言えないのですがコンソールの表記を見る感じだと自動で24時間以内に推奨事項が生成されるように読み取れます。実際に動いているワークロードを見て推奨事項を出すみたいな感じなのだろうか。詳細不明です。
ただ、ダッシュボードやサイドメニューからはアドホックでの「アーキテクチャレビュー」を実行することもできるようなので、今日はこのレビューを実行してその結果を確認してみます。
アーキテクチャレビューを実施する際には IaC アセットが必要みたいで事前に Zip 化して S3 バケットにアップロードしておく必要があるようです。やっておきました。

レビュー対象ワークロードの詳細は本質的ではないので割愛しますが、サーバーレスマイクロサービス SaaS という感じです。
Well-Architected レンズをレビュー時に指定することができるみたいで、本日時点ではまだ Well-Architected フレームワークのみでした。コンテナビルドレンズとかサーバーレスレンズ、SaaS レンズとか選択できるようになると熱いです。

一通り入力したらレビューが開始されます。なお、レビュー一覧の下側に「アプリケーションコンテキストを追加」というやつがありますね。

どうやらレビュー対象アプリケーションのコンテキストを指定できるみたいです。
ワークロードをフィルタリングタグや、あとはインダストリーやミッションクリティカル度合いなど、そもそもこれ無しでレビューできないだろうという項目が結構あるので本来であればこれ必須で入力したいところです。

各選択項目の選択肢はこんな感じです。



今回はまぁお試しなのでアプリケーションコンテキストなしでいきました。
私が試した際にはレビューはだいたい 30 分くらいかかりました。レビューが途中と完了の様子がこんな感じです。


レビュー完了後にダッシュボードから推奨事項を確認することが出来ます。
優先度の高い推奨事項は見当たらず、優先度中〜低の優先度がいくつか出ていました。

なお、この画面では推奨事項のフィルタリングが出来ます。一番下の「アーキテクチャレビュー」を選択することで、どのレビューでどの推奨事項が出ているのかを確認することも出来ます。

推奨事項の確認と対応
この推奨事項を選択すると詳細を確認することが出来ます。
推奨事項の一つを開いてみると、概要・インサイト・柱間の影響やトレードオフ・推奨される修正のステップなどが表示されていました。
たとえば「Lambda の MemorySize を継続的に見直す仕組みを作る」という推奨事項では、template.yaml の Globals.Function.MemorySize: 256 が固定値で、CloudWatch アラームや自動化の仕組みが無い、という指摘が出ていました。なるほどね。

そしてこの推奨事項に対してユーザー側でアクションをとることが出来ます。

「修復を開始」が気になりますよね。ポチポチで自動で変更してくれるのか!?と思ったのですが、修復手順をガイドしてくれる感じでした。
その中で項目ごとの対応状況をマークして対応進捗を管理することが出来ます。

最終的には手動で対応が完了したら「完了としてマークする」を押すことでこの推奨事項が表示されなくなる感じです。

推奨事項一覧から表示されなくなりましたが、ダッシュボードの「アーカイブされた推奨事項を表示する」から完了としてマークした推奨事項にアクセスが出来ます。


そして、ここから完了フラグを取り消してまた推奨事項として表示させることも出来ます。なるほどね。

さいごに
本日は AWS Well-Architected Agent がプレビューで登場したので触ってみました。
レビュー精度とか、今日はあまり意識しないでとりあえず使用の流れだけ確認してみました。
料金情報も確認せずに「えいや」で触っちゃいましたが、プレビュー中なので無料とかきっとそんな感じでしょう。きっと...
Well-Architected Agent を自作する構想が少しあったのですが、一旦こちらの使い勝手を確認してみたいと思います。












