日曜の夕方、散歩に出た。
特に目的もなく近所を歩いていたのだが、ふと「そういえばAWSアカウント、放置気味だったな」と思い出して、iPhoneに話しかけた。
「AWSのリソース、今どんなのがあるか調べてみて。削除とか絶対しないように」
少し補足すると、自分は趣味で音声AIアシスタントを作っている。自宅のMac miniにFastAPI + Claude CLIを載せたもので、iPhoneのブラウザから音声で話しかけると、バックエンドが動いて結果を返してくれる。名前はJ.A.R.V.I.S.。そう、あの映画のやつだ。
で、散歩しながらこんなやりとりが続いた。
J.A.R.V.I.S.: 確認しました。Elastic Beanstalkの残骸が残っています。S3バケットとアプリ定義、全部2019年のもので完全に使われていません
自分: 消して
J.A.R.V.I.S.: 削除完了です
自分: Terraform stateがローカルなんだけど、S3に移したい
J.A.R.V.I.S.: バケットのセキュリティ設定を先に確認しますね。パブリックアクセスブロック全オン、暗号化あり、バージョニング有効。問題ないので移行します
自分: やって
J.A.R.V.I.S.: 移行完了しました
自分: セキュリティの状況もチェックできない?
J.A.R.V.I.S.: セキュリティグループが2つ、0.0.0.0/0でポートを開けたまま残っています。どちらも未アタッチです。あとCloudTrailが2019年10月から停止中、GuardDutyは未有効化です
自分: セキュリティグループは消して。CloudTrailとGuardDutyのコストってどれくらい?
J.A.R.V.I.S.: このアカウント規模ならどちらもほぼタダです。CloudTrailは最初の1証跡が無料、GuardDutyは月1〜2ドル程度かと
自分: 両方有効にして
J.A.R.V.I.S.: 完了です
自分: 夜間のスケジュールでセキュリティとコストのチェックも入れといて
J.A.R.V.I.S.: 毎晩2時に登録しました
気づいたら、散歩1回分で7つの作業が終わっていた。リソース棚卸し、不要リソース削除、Terraform stateのS3移行、セキュリティグループの掃除、CloudTrailとGuardDutyの有効化、夜間チェックの自動化。ターミナルは一度も開いていない。
普通にやったら1〜2時間はかかる作業だと思う。それが散歩中の会話で終わった。
ここまでの作業を終えて、まだ散歩の途中だった。
「これ、すごいことが起きてないか?」と思った。この感覚を誰かに伝えたくなって、そのまま歩きながら話しかけた。
「今日の体験をブログにして」
ちなみにこのアプリ自体、自分で一からコードを書いたわけではない。インフラエンジニアの自分がやりたいことを日本語で伝えて、AIがコードを書いた。そのAIに今、ブログを書かせている。
お気づきかもしれないが、この記事自体も同じ散歩の中で生まれたものだ。