はじめに
CloudFormation ChangeSetの内容を
Amazon Bedrockを使用して分析するツールを作ってみました。
実際のコードはこちらです。
作った背景
最近よくCloudFormationを使っています。
その中で、CloudFormation ChangeSetを見る機会が増えていました。
CloudFormation ChangeSetとは
スタックの更新前にリソースの更新や削除を把握することができる
という便利な機能です。
ただ、この機能、
- どのような影響が出るのか
- ユーザ影響が出るのか
- どんなリスクがあるか
などを把握するのがわかりにくく
毎回頭の中で整理したり、調査することが地味に面倒でした。
そこで、この作業負担を何とか軽減できないかと思い、
Bedrockを用いてChangeSetの内容を分析するツールを作ってみました。
ツールの概要
処理としては単純で以下になります。
- CloudFormation ChangeSetの内容を取得する
- Bedrockに上記内容を送信する
- 以下4つの観点で分析し結果を出力する
- 実行時の挙動
- ユーザー影響
- ロールバック時のリスク
- 運用上の注意
単純にChangeSetの要約ではなく、
「いつも私が頭の中で考えていたようなこと」 を出力できることを目的としました。
作ってみた感想
Bedrockの知見もあまりなかったので、最初は仕様把握に時間がかかりました。
実際に触ってみると、「どこまでAIに任せるか」
といったプロンプト設計が重要なんだなと感じました。
実際の実装はGithub CopilotなどのAIサービスを活用することで
かなりスムーズに進めることができました。
今回、初めてGithub上でコードをパブリック公開してみました。
公開にあたり、考慮事項が多数あることもわかりました。
それは別記事で共有しようと思います。
最後に
ChangeSetを見るたびに
「結局これやるとどうなるんだっけ?実行してホントに大丈夫かな?」
と感じる人には役に立つツールかもしれません。
よかったら使ってみていただけると嬉しいです。
(フィードバック等もお待ちしております。)