re:Invent 2024でAmazon Q Developerによる運⽤調査機能が発表されたので試してみた

# はじめに
本記事は Japan AWS Jr. Champions Advent Calendar 2024 シリーズ2 の20日目の記事となります。
今回のre:Invent2024は前年を超える6万人の人がラスベガスに集まり、大いに盛り上がりました。その熱の中でたくさんのアップデート、サービスが発表されました。今回はその中からCloudWatchとAmazon Q Developerでより運用調査がしやすくなったのでそちらの内容について書きたいと思います。

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations.html

# 何ができるようになったのか
今回のアップデートでできるようになったものは下記です。
- 障害や問題が起こった際にアラート等からのAmazon Q Developerによる自動調査
- CloudWatch、CloudTrail、AWS Health等の幅広いデータから情報を収集し、それぞれの
関係性を分析することで問題を解決するためのアクションの提案をAmazon Q Developerが行ってくれる
- 一部のアクションにおける自動修復機能、共同調査用のノートブック機能

イメージ的にはこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/f49a73ef-9d49-9f84-c408-44efd626dbd9.png)


# 実際にやってみた
物は試しにということで、実際にやってみました。
## 検証内容
- リージョン
バージニア北部(現時点ではPreview版のため)
- AWS環境
ELB + EC2(Webサーバ)
- 目的
サーバを停止させ、500系エラーを出力後、その原因についてAmazon Q Developerに提案を行ってもらう

## 検証
### 基本設定
調査グループを作成します。ここでは、Amazon Q Developerが使用するIAMロールや、調査グループへのユーザアクセス、調査結果の保持期間についてなどの設定を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/9dd88d78-0e06-9553-f3a2-ec0d9ea48857.png)

今回は、調査結果の保持期間は最低の7日、IAMロールはデフォルトの調査権限を持つ自動作成されるものにしました。権限を絞りたい場合はカスタムロールでも設定ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/daf9b78c-9687-25bf-171d-a11b0af74548.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/7720e2b4-02c2-d09a-caa8-66fa8191e9f2.png)

調査グループの作成が完了いたしました。基本設定を行っただけなので、この時点ではまだ調査の方は実行されません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/e6f7565f-1400-fa3d-2c49-1f7f9ef15fbe.png)

実行するには、CloudWatchのメトリクスから手動実行、またはCloudWatchアラームからの自動実行する方法がございます。今回は手動実行で行いたいと思います。
### 調査実行
サーバ停止後に、メトリクスを見に行ったところ、500系エラーのメトリクスが表示されておりました。そちらを選択し、右上に表示されている「Investigate」から"新しい調査を開始"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/3f2bbb1a-dd9e-7745-d7f4-165a53050c69.png)

すると、左ペインのAIオペレーションの調査で作成した調査を確認することができます。
調査ステータスが"OPEN"のものはAmazon Q Developerが調査し続けている状態となるため、解決した調査については、"Archived"として無駄な調査を行わないように気を付けた方が良いかもしれません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/8fff2c31-9189-8ef1-1fd3-62bd822ace24.png)

ちなみに、CloudWatchアラームからの自動実行を行いたい場合は、"調査アクション"がアクションの設定からできるようになっているので、ここで調査グループを指定することで、特定のメトリクスの閾値を超えた場合に自動実行できるようになっております。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/b1129d70-cdaa-228f-4088-ae223cae1a5a.png)

作成した調査を選択すると、Feedの欄に時系列で調査された内容が表示されます。
画面上部にある"Suggestions"ボタンを押すと右側にAmazon Q Developerが分析した問題に対して関係のありそうなメトリクスや提案などの情報がリストアップされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/f86859eb-0cfa-99e3-65fb-df2386ae678e.png)


それぞれの分析結果に対して、ユーザが問題に関連しているかしていないかを判断し、"Accept"か"Discard"とすることで調査内容をまとめることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/9f5270ad-4c88-4739-cb67-1df5eee14640.png)

"Accept"とすると左側のFeed欄にメトリクスが移動し、"Discard"とすると提案から削除されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/1c04739a-6cdd-9f43-8e18-c9048968dc3f.png)

しばらく待つと、さらにAmazon Q Developerが調査し、分析した結果から仮説を提示してくれました。「急激なトラフィックの増加が原因でバックエンドサービスが処理できずにエラーが発生したのでは」と仮説をしてくれています。これをヒントに迅速なトラブルシューティングができるということです。

![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/e6277593-4654-5589-d919-f0339352805d.png)

立ち上げたばかりのサーバであったため、解決策にドンピシャな提案はされませんでしたが、安定稼働しているシステム等であれば、さらに正常なメトリクスが取得できるため提案精度は上がると考えられます。また、今回は仮説が提案されたのみでしたが、ドキュメント表示やSSMのランブックを使った自動修復アクションの実行などの推奨アクションが表示される場合もあるそうです。

### 調査後
問題が解決したら、画面上部の"End invesigation"ボタンから調査を終了させることができます。
調査が終了すると、調査ステータスが"Archived"になり、コンテンツの編集や追加、提案の生成がされなくなります。また、アーカイブされた調査は再開させることも可能です。

![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932240/f2385596-04c3-77b2-5276-3e4ff7fee3c4.png)


# 感想
本日は、re:Invent 2024で発表されたAmazon Q Developerによる運用調査について試してみました。

問題発生後に自らCloudWatchメトリクスを選択して調査するより、Amazon Q Developerが提案をしてくれることで、ある程度のあたりを付けてくれるので、迅速な問題解決ができそうだと感じました。
今回は、シンプルな構成で試しましたが、大規模や複雑な構成であるほど効果がありそうです。
利用も上述した通り簡単にできますので、皆さんもぜひ使ってみてください！

最後までご覧いただきありがとうございました。