nagiyu

個人で複数の Web サービスを AWS 上で開発・運用しています。 そこで実際に踏んだ失敗と、その場で下した判断を、 きれいに整える前の形で記録しているメディアです。

特集記事

特集

CI が自分自身と競合してレート制限に当たる — S3 をセマフォにして同時ビルドを絞った話

モノレポで複数サービスの CI が同時に走ると、それぞれの docker build が Amazon ECR Public(public.ecr.aws)から同じ AWS Lambda Web Adapter を pull して、レート制限(toomanyrequests)に当たる。外から攻撃され…

2026-04-02
GitHub ActionsCI/CDmonorepo

最新の技術記事

直近に公開・更新した技術記事です。AWS・Next.js・開発ツールを中心に記録しています。

AI に株価を予測させて 7 か月、測ったら「入力の言い換え」だった

株に詳しくないから、自作の株価管理サービスに OpenAI の予測を入れて、自分の売買にも使っていた。データが溜まってから測ってみたら、上げ下げの一致率は 50.1%。出力の中身は「今日の値動きの言い換え」で、出典付きで信頼していた Web 検索も何も足していなかった。プロンプトを直せば、と粘りかけてから、AI を外して計算で確度を出す形に作り直すまでの記録。

2026-10-02
OpenAILLMAI株価予測統計Claude Code

AI に dev は触らせたい、本番は見せるだけにしたい — 鏡の構造で権限の差を表す

AWS をマルチアカウント化したら、Claude に dev 環境を見せる手段がなくなった。ついでに dev ではバッチを回せるようにし、本番は閲覧に徹させたい。長期キーは消せず、キーの置き場所に迷い、権限の非対称がコードに漏れるのが気持ち悪かった。最終的に「身元は 1 つ、ロールは両アカウントで鏡、差分は追加ポリシー 1 枚」に落ち着くまでの判断の記録。

2026-09-30
AWSIAMAWS OrganizationsAWS STSAWS LambdaClaude CodeAI

Claude Code の子セッション運用 — 欲しかった Spawn Task が来ても、戻らなかった話

Claude Code on the web で、親セッションから子セッションを立てて仕事を分ける運用をしている。ローカルで慣れていた Spawn Task がリモートで使えず、代わりに create_session で組んだ運用が、Spawn Task がリモートに来た今も据え置きになった理由を、「AI ベンダーの機能にどこまで乗るか」という観点で整理する。

2026-09-26
AIClaudeClaude Code運用設計

アクセスキー漏洩による AWS アカウント制限と、その解除までの記録

IAM のアクセスキーが漏洩し、AWS からアカウント制限を受けた。攻撃自体は全て失敗していたが、本番は 6 日 20 時間止まった。CloudTrail と Cost Explorer での被害の切り分け方、制限が Lambda に限定されていたことの見分け方、そして通知の指示どおり対処してもなお解除されなかった制限をどう解いたかの記録。

2026-09-03
AWSIAMCloudTrailCost ExplorerAWS Lambdaセキュリティインシデント対応

テストデータが dev 環境に見えてしまう — 面倒くさがって避けていた E2E の InMemory 化に踏み切るまで

E2E テストが共有の DB を叩くせいで、テスト用のダミーデータが dev 環境の画面に混ざる。Repository を抽象化して InMemory 実装に差し替えれば解決するのは分かっていたが、絶対に面倒だと踏んで先送りしていた。重い腰を上げた理由と、やってみた結果の話。

2026-07-25
テストE2E設計DynamoDB

dev を普段使いにしたら、dev を安くする戦いになった — 個人で多サービスのコンピュートを振り分ける

本番ではなく dev 環境を普段使いにしたら、コストの重心が dev 側に移った。dev を本番の「安い使い捨てミラー」にするために、環境やサービスごとにコンピュート基盤を振り分けた話。一番効いたのは「dev では計算させない」こと。ただし技術的制約が下限を決める例外もある。

2026-07-22
AWSECSLambdaコスト