Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サーバーレス構成で遊びを作ったら、学びが返ってきた話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Manato Sano
July 25, 2026
6
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーレス構成で遊びを作ったら、学びが返ってきた話
AWS Summitに作った「Cloudestiny」を構成図とハマったポイント/工夫したポイントを書いてます!
Manato Sano
July 25, 2026
More Decks by Manato Sano
See All by Manato Sano
AIエージェントの コストガバナンスをAWSで実現したい
manaty
0
130
AWS Summitに向けて サーバーレス構成でアプリを作った話
manaty
0
10
AI時代に若手エンジニアは何を磨くべきか
manaty
0
49
回レ!私生活 ~LINEで動く秘書AIエージェントを作ってみた~
manaty
0
15
AWS見積もりの"たたき台"はAIで作れるのか?
manaty
0
12
KyotoLT_スキマAI.pdf
manaty
0
24
本当にあったIT怖い話.pdf
manaty
0
17
AIエージェントに自分好みのre:Inventセッションをおすすめしてくれる機能を作ってみた!
manaty
0
16
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Six Lessons from altMBA
skipperchong
29
4.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Transcript
サーバーレス構成で遊びを作ったら、 学びが返ってきた話 2026.07.26 JAWS-UG DE&I マナティ / Manato Sano
00 自己紹介 マナティ / Manato Sano ▸ 2026 Japan AWS
Jr.Champions ▸ Bedrock AgentCore触るのが好き ▸ AWS SummitのKiroキーホルダーほしかった。。。 ▸ ギター弾けません、 放課後にティータイムするところの聖地です。
なぜアプリケーションを作ったか 01 AWS Summit 2026でお会いする方との接点を作りたいなぁ。。。 課題 名刺交換は覚えてもらいづらい。。。 アンケートはハードルが高い。 解決策 QRコード読み取り
→ AWSサービスを選択 → AIが自分専用のRPGカード生成 → みんなでクイズに答えてボスを倒す 「好きなAWSサービスがRPGカードになる」なら興味もってもらえる?? 2日間だけのイベント → 常時稼働インフラは過剰?? サーバーレスなら使った分だけ → サーバーレス構成で作ろう!!
02 完全サーバーレス構成で作ってみました!!
03 つまずき① — 画像生成LambdaだけDockerが必要だった カード画像を描画するライブラリが、Linuxのシステムライブラリに依存していた。 通常のLambda(zip形式)にはそれが入っていない。 FROM public.ecr.aws/lambda/nodejs:22 通常のLambda(zip形式) RUN
dnf install -y ¥ ・コードをzipでアップロード pango-devel libjpeg-turbo-devel giflib-devel librsvg2-devel ・システムライブラリは追加できない ・コールドスタート 約200ms(速い) COPY fonts/ ${LAMBDA_TASK_ROOT}/fonts/ COPY package.json package-lock.json ${LAMBDA_TASK_ROOT}/ RUN npm ci --omit=dev RUN npx esbuild functions/generateCard/index.ts ¥ Docker Lambda(今回の解決策) ・Dockerfileで環境ごとに --bundle --platform=node --target=node22 ¥ --outfile=dist/generateCard/index.js ¥ パッケージング --external:@napi-rs/canvas ・必要なライブラリを自由に インストールできる カード生成だけDockerにする使い分け。他の関数は速さ優先でzip形式。 ・コールドスタート 3~10秒(遅い)
つまずき② — DynamoDB Transactionsの「同時に2つ失敗する」 04 クイズ回答で3テーブルをアトミック更新に変更。ConditionExpressionが2つ同時に失敗するケースを見落としていた。 解決策 // 1回のTransactWriteで3テーブルを更新 TransactItems:
[ { Put: RaidAnswers { Update: RaidBoss // 条件: attribute_not_exists(二重回答防止) }, // 条件: currentHp >= 1(HP残あり) { Update: RaidPlayerStats // 成績を +1 }, }, CancellationReasons 配列のインデックスで 各条件の成否を個別判定 ] 1人テストでは気づけない。。。 // 想定: どちらか一方が失敗 // 想定外: 他プレイヤーが同時にボスを倒し、自分の回答も重複 // → 条件1と条件2が同時に失敗 エラーの原因を1つずつ個別判定する処理を追加して解決した。 複数人同時プレイで 初めて起きるバグ。
05 つまずき③ — AIが作った問題の 3/70問 が間違っていた クイズ70問をClaude Sonnetで生成。AWS MCPの read_documentation
で全問を公式ドキュメントと突合検証。 例: S3に保存できるファイルの最大サイズは? AIの回答: 5TB → 正解: 50TB(2025年12月に変更) 他にもAWSサービスの仕様に関する数値を2問間違えていた。 AWSの仕様は頻繁に更新される → ナレッジカットオフを意識する必要がある。 実装当時は公式情報を参照して作成し、頻繁に変わるので公式のリンクも掲載して担保した。 対策: 全問に docUrl と verifiedAt を付与。正解後の画面にも公式ドキュメントへのリンクを表示。
06 AI-DLCで実装してみた AI-DLC(AI-Driven Development Life Cycle)= AIが開発を主導し、 人間が判断するフレームワーク Inception Construction
Operations 何を作るか どう作るか 動かす・直す 人間が企画・仕様を決定 Claude Codeが設計・実装 本番で見つかるバグを 優先順位を判断 CDK・Lambda・React全実装 人間が判断しAIが即修正 「ダメージは全員平等に1」 DynamoDBテーブル設計 参加者数0人バグ → 発見即日修正 などの設計判断 MCPで70問ドキュメント突合 セキュリティレビュー ソースコード約6,500行(TypeScript / TSX / JSON)
07 実際どれくらい遊んでもらえた?? 46 35 849 623 カード生成 バトル参加者 クイズ回答 ボス総ダメージ
プレイヤー 正解 回答 正答率 1 プレイヤーA 71 104 68% 2 プレイヤーB 64 89 72% 3 プレイヤーC 63 97 65% 4 プレイヤーD 60 74 81% 5 プレイヤーE 51 72 71% 1位の方は104問回答。想定した以上に遊んでいただけた。ありがとうございました!
08 運用コストはいくらだった?? サービス コスト Lambda(8関数) $0 DynamoDB(4テーブル) $0 API Gateway
$0 CloudFront + S3 $0 Bedrock(カード生成46回) 46人 × 849問の運用コスト ~$0.20 ≈ $0 EC2を1台立てっぱなしにするだけで月$10以上かかりますが、今回のサーバーレスはその心配がない! 2日間限りのイベントにちょうどいいサービスを運営できた。
作ってから気づいたこと 09 01 02 03 04 同時実行は設計時に見えない DynamoDB Transactionsの複合エラーは、1人でテストしていたら絶対に気づかなかった AIの出力は「もっともらしく間違う」
70問中3問の誤り。S3の5TB→50TBはAWSが更新したばかりの仕様。人間の検証が必要 サーバーレスの強さはゼロスケール 使われていない時間のコストがゼロになる。イベント用途にぴったり 「作ってから直す」速度が大事 完璧に設計してから作るより、早く作って早く直すほうが結果的に良いものができた