この記事のポイント
- AWS DevOps Agentを実際に使ってみて、いろんな質問をしてみる
- AWS DevOps Agentの回答内容の正確性や有用性について確認する
はじめに
この記事ではAWS DevOps Agent(以下、DevOps Agent)でいろんな質問をしてみて、どんな動きをしたかなど具体的な動きについて書きます。主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)誤りなどがあれば修正していく想定です。
AWS DevOps AgentがGAした
2026年4月1日にXでアナウンスがありました。
※whats-newでは2026年3月31日にアナウンスされていました。
AWS DevOps Agent is now generally available
※日本語ブログでは4月3日です。 リンク
AWS DevOps Agentとは
ということで今回紹介するAWS DevOps Agentについてまずは公式の説明をもとにどんなものかを見てみましょう。
日本語公式ブログでは以下のように説明されています。
AWS DevOps Agent は、いつでも対応可能な運用チームメイトです。インシデントの解決とプロアクティブな予防を行い、アプリケーションの信頼性とパフォーマンスを最適化し、そして AWS、マルチクラウド、オンプレミス環境をまたいでオンデマンドの SRE タスクをこなします。
引用:リンク
つまりはエンジニアと並走してAWSのリソースの状態を確認したり、設定を確認したり、ログを確認したり、料金を確認したりなどいろんな質問に答えてくれるエージェントです。
そもそもDevOpsってなんだっけ
サービス名の一部となっているDevOpsについても簡単に触れておきましょう。結論から先に説明するとdeveloperとoperationsの組み合わせで、開発者と運用者が協力してソフトウェアを開発・運用するための文化やプラクティスのことを指します。
ちなみにAWSの公式サイトでは以下のように説明されています。
DevOps モデルでは、開発とオペレーションが「サイロ化」されることはありません。 場合によっては、開発チームとオペレーションチームを 1 つのチームに統合することが行われます。エンジニアは、開発とデプロイのテストからオペレーションに至るアプリケーションのライフサイクル全体にわたって作業するため、1 つの職務にとどまらず、幅広くスキルを磨くことができます。
引用:DevOps とは? - DevOps と AWS
いわゆる自分で作ったら運用もしていこうぜという文化であり、考え方です。DevOps Agentはこの文化を支援するあるいは実践するためサービスといえるでしょう。
事前準備
なんとなく理解できたところで、DevOps Agentを実際に使ってみましょう。
おおまかな手順としては以下のとおりです。
- DevOps AgentのHomeを開く
- Agent Spaceの名前を決める
- DevOps Agent roleを作成する(Agent Space用のResource アクセス)
- DevOps Agent roleを作成する(Enable web App)
- Operator Access をクリック
では、実際に準備をしてみましょう。
まずはAWSマネジメントコンソールでDevOps AgentのHomeを開きます。
DevOps AgentのHomeでBegin setupをクリックします。
Agent Spaceを設定します。Agent Spaceには3つの設定があります。具体的には以下のとおりです。
今回は以下のとおりに設定しました。
| 項目 | 値 |
|---|---|
| Agent Space Name | DevOpsSpace |
| Description | test |
| Agent response language | Japanese(Japan) |
次にIAMロールを作成します。今回は変にカスタムせず、自動作成を選択します。
そして、Web App用のIAMロールを作成します。こちらも自動作成を選択します。
最後にAdvanced configurationはAWS owned keyとし、Createをクリックします。
これで事前準備は完了です。次の画面に進みます。
Operator AccessからDevOps Agentにアクセスする
Operator Accessをクリックすると、DevOps Agentと対話するための画面が表示されます。
画面右上のOperator Accessをクリックします。
本日はどのようなサポートをご希望ですかという画面が表示されます。ここで質問を入力してみましょう。
いろいろな質問をしてみよう
今回はこれまでのQiita記事作成でやってきた内容も含めこれまでに触ったAWSサービスについて質問してみます。具体的には以下のとおりです。
- LINE botで使ったLambdaについて聞く
- ロググループについて聞く
- LINE bot統合確認: API認証情報やチャネル設定について教えてください
- AWSリソースの状態を確認する
なお、今回は各質問に対して前提の説明を抜きにした質問、つまりはゼロショットプロンプトでやっていきます。
LINE botで使ったLambdaについて聞く
まずはLINE botへの質問です。先に正解を言うとこのLambdaはLINE APIのなかでもMessaging APIを使っているLambdaになります。この前提を教えることなく以下のプロンプトを投げてみます。
東京リージョンのAWS LambdaにはLinebotという関数があります。
Lambda関数の設定や状態を確認してください。
出力結果としては以下のとおりです。※{account_id}は実際のAWSアカウントIDが入ります。
基本設定
・関数名: Linebot
・ランタイム: Python 3.12
・ハンドラー: lambda_function.lambda_handler
・最終更新: 2024年10月11日 08:01:12 UTC
・ARN: arn:aws:lambda:ap-northeast-1:{account_id}:function:Linebot
リソース設定
・メモリサイズ: 128 MB
・タイムアウト: 15秒
・ストレージ: 512 MB (Ephemeral)
・アーキテクチャ: x86_64
実行環境
・IAMロール: arn:aws:iam::{account_id}:role/service-role/Linebot-XXXXXX
・環境変数: LINE_CHANNEL_ACCESS_TOKEN が設定されています
・VPC: VPC接続なし
・トレーシング: PassThrough (無効)
ログとモニタリング
・ロググループ: /aws/lambda/Linebot
・ログ形式: Text
その他
・コードサイズ: 713バイト
・パッケージタイプ: Zip
・レイヤー: なし
ロググループについて聞く
ロググループ: /aws/lambda/Linebot から最近の記録を調査して内容を要約してください。
出力結果は以下のとおりです。
実行状況
パフォーマンス:
平均実行時間: 670ms
最大メモリ使用量: 48MB(割当128MBの37.5%)
実行パターン:
2024年10月11日 07:00-08:00に29回(開発/テスト期間)
2024年10月11日 08:00-09:00に4回
2024年10月30日に最終実行1回
それ以降は実行記録なし
~以下略~
他、検出されたエラーや重要なパターンを見つけて要約してくれます。
おまけ:LINE botの統合確認
いろいろ質問を投げたところでLINE 特有の話題について質問を投げてみましょう。
やりとりをしていくなかで次のステップに関することが表示されましたので中身をみていくとおもしろいことがいくつか書いてあります。
次のステップには、LINE botの統合確認が含まれていますので今回はLINE botとLambdaの関係について質問してみましょう。
LINE bot統合確認: API認証情報やチャネル設定について教えてください。
出力結果としては以下のとおりです。
✅ Webhook URL(利用可能)
・URL: https://{XXXXX}.lambda-url.ap-northeast-1.on.aws/
・認証: NONE(パブリックアクセス許可)
・作成日: 2024年10月11日 07:03:41 UTC
・状態: 技術的には利用可能
✅ 設定済みの項目
・環境変数: LINE_CHANNEL_ACCESS_TOKEN 設定済み
・IAMロール: 最小権限設定(CloudWatch Logsのみ)
・ネットワーク: パブリックアクセス可能
・リソースポリシー: インターネットからの呼び出し許可済み
❌ 不足している設定
・API Gateway統合: なし(Function URLのみ使用)
・その他のトリガー: なし
・LINE Platform側の設定: Webhook URLが未設定または無効化されている可能性
📊 アクティビティ状況
~以下略~
おもしろいことにLINE Platform側の設定の設定でWebhook URLの設定についてレスポンスがありました。何がおかしいかというとLINE APIにはさまざま機能があるにもかかわらず、どうみても明らかにMessaging APIのことについて言及しているという点です。
そのうえでLINE bot統合を再開する手順についても出力されました。
内容を読んでみたところ、これはどう見てもMessaging APIの復旧手順であり、作り方です。(おおむね正解どころか大正解)
LINE Messaging APIの扱いについて説明すると初期構築時のお作法として
LINE Developers ConsoleでWebhookを利用する場合はWebhook利用を「オン」にしたのち、接続確認を行うというものがあります。これをゼロショットの推論で導き出したというところのポイントは高いです。
加えて、推奨される改善点ではAWSのベストプラクティスに基づいて指摘がされていました。
AWSのベストプラクティスとしては環境変数にシークレットを直接保存するのは推奨されていません。AWS Secrets ManagerやAWS Systems Manager Parameter Storeを使用して安全に管理することが推奨されます。
AWSリソースの状態を確認する
AWSリソースの状態を確認するような質問もしてみましょう。
今回は以下のような質問をしてみます。
- S3に関する質問
- EC2インスタンスに関する質問
- 利用料金に関する質問
- CodeBuildに関する質問
順番に質問してみましょう。
S3に関する質問
東京リージョンにあるS3バケット一覧を表示してください。
出力結果は以下のとおりです。
S3バケットの一覧については特に指示はしていないですが、名前だけでなく作成日も表示されていました。
EC2インスタンスに関する質問
次にEC2インスタンスの状態を確認するような質問をしてみましょう。なお、当該アカウントにはEC2インスタンスは存在しません。さてどうなるでしょうか。
東京リージョンにあるEC2インスタンスの状態を確認してください。
出力結果は以下のとおりです。
利用料金に関する質問
次に利用料金に関する質問をしてみましょう。これは実際の利用料金やクレジットの使用状況を確認するような質問です。
当該アカウントでは利用料金が発生していることとクレジットが使用されていることがわかっています。さて、どのような回答が得られるでしょうか。
今月の利用料金とクレジットの使用状況を教えてください。
出力結果は以下のとおりです。
Cost ExplorerのAPI レート制限により取得ができませんという回答が得られましたが
特に制限を設けていないはずなので、これは設定を見直す必要があるかもしれません。
CodeBuildに関する質問
最後にBuildに関する質問をしてみましょう。CodeBuildのビルドプロジェクトの設定と最近のビルド履歴を確認するような質問です。
CodeBuildのビルドプロジェクトの設定と最近のビルド履歴を確認してください。
当該アカウントではCodeBuildのビルドプロジェクトは存在しており、過去のQiitaではビルドキャッシュを利用するような設定を行っています。
参考:【AWS】検証!Amazon ECRをCodeBuildのリモートキャッシュとして利用する
さて、どのような回答が得られるでしょうか。
出力結果は以下のとおりです。
BuildKitを使ったことやビルドキャッシュの利用、Amazon Linux 2023を使ったことなどがわかるような回答が得られました。
たしかに、以前の操作ではBuildKitを有効にしてビルドキャッシュを利用するような設定を行っていましたので、これらの情報が回答に含まれているのは正しいといえるでしょう。
しかし、過去の24時間で16回以上実行という記述は誤っています。
まとめ
今回はAWS DevOps Agentを実際に使ってみて、いろんな質問をしてみました。質問の内容としてはこれまでのQiita記事作成で触ったAWSサービスについての質問を中心に行いました。質問に対してはAWS DevOps AgentがAWSリソースの状態や設定、利用状況などを確認して回答してくれました。
とはいえ、回答内容の正確性については確かなことを確認できていない部分もありました。たとえば、EC2のインスタンスが存在しないことを確認する場面ではEC2が存在しないことを事前に知っていたため、回答の正確性を確認することができませんでした。
また、利用料金に関する質問ではCost ExplorerのAPI レート制限により取得ができないという回答が得られましたが、特に制限を設けていないはずなので、これは設定を見直す必要があるかもしれません。
Buildに関する質問では、BuildKitを使ったことやビルドキャッシュの利用、Amazon Linux 2023を使ったことなどがわかるような回答が得られました。これらの情報は以前の操作で行った設定や操作内容と一致しているため、ある程度正確な回答が得られているといえるでしょう。
今後も引き続き質問をしてみて、回答内容の正確性や有用性について確認していきたいと思います。


















