🤖

AWS DevOps Agentでコード変更によるエラー追跡

に公開

2025年のAWS re:Invent で「AWS DevOps Agent」が発表されました。
前回、NewRelicと連携した際の動きについてみてみたので続いてGithubとの連携した動きを見てみようと思います。
前回の記事▽
https://zenn.dev/tamagokakedon/articles/8a68fe6ec139e2

前提

前回と同じシステムを利用していきます。
詳細は前回記事を参照いただければと思います。

Githubの登録

DevOps Agentのコンソール画面のSettingsからGithubのRegisterボタンをおし、今回はUser単位で連携をさせていくことにします。

また、今回は特定リポジトリに限定して登録しましたが、どうやらすべてのリポジトリに対して、ということもできるようです。

NewRelicを登録したときと同じようにDevOps AgentのSpace画面にうつり、CapabilitiesタブのPipelineから登録したGithubをSpaceに設定します。

今回は連携するリポジトリを制限したので1つしか対象がでてきませんが、UserやOrg全体で登録した場合はここで自由にSpaceに対応するリポジトリを選べそうです

追加後対象のリポジトリを選択した状態でEditを押すと、該当のシステムがどのCloudformationスタックによって作られているかを指定できるようなので、cdk deployしたときに作成されたスタックを指定しておきます。terraformの場合でもs3バケット/オブジェクトを指定すれば同じ動きができそうです。

これで準備完了です。

ソース/スタックの更新とエラーの発生

それでは実際にコードを更新してエラーを発生させてみます。
もともと/errorにアクセスするとエラーになるようになっているので、今回は適当にコードを更新して、スタックの更新を行い、その後/errorにアクセスしてどうなるか動きをみてみます。

今回は起動のコンソールログを変更するだけにしてみます。

app.use((req, res, next) => {
    //console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
    console.log(`Test app listening on port ${port} - Update for DevOps Agent Verification`);
    next();
});

git pushし、その後npx cdk deployしておきます

同じようにエラーを発生させ、NewRelicからWebhookでDevOpsAgentに伝えてみます。
前回の検証時もそうだったのですが、NewRelicからうまく情報を取得できないというところでとまってしまいました。
仕方がないので、チャットでスタック名を伝えて調査を続けてもらいます。

調査を続けてもらったところ、以下のような形で直前の更新を検出してくれました。

ちょっと見解が微妙ですが、一応根本原因のレポートも書いてくれています。

まとめ

Githubリポジトリ/Cloudformationスタックと連携することできました。
調査の内容としては少し微妙でしたし、調査速度も遅かったのでまだまだ自分で生成AIとやりとりしたほうが早そうではありますが、今はまだプレビュー版なので今後の改善に期待です。

次は予防的推奨事項を確認してみました
https://zenn.dev/tamagokakedon/articles/28c7a3e18f0219

Discussion