Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CIで使うLambda MicroVMs 最高なんだよなぁ!
Search
くらっち
October 18, 2026
590
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CIで使うLambda MicroVMs 最高なんだよなぁ!
JAWS-UG彩の国埼玉支部 #12 AWS re:Invent 2026準備回
くらっち
October 18, 2026
More Decks by くらっち
See All by くらっち
Amazon Bedrock AgentCoreって 最高なんだよなぁ!
kuracchi_enj1
3
190
CDKとcdkd 一体どのくらい早くなるんだい?
kuracchi_enj1
0
390
AIエージェント構築・活用Tips!
kuracchi_enj1
2
410
Pixel Agentsで Bedrock AgentCore Runtime上の Strands Agentsをキャラクターにして動かそう
kuracchi_enj1
0
1k
作業の自動化するのに AIエージェント使う思考は 捨てたい...!
kuracchi_enj1
0
1.3k
Claude Codeを推進したのに使ってくれない… うまくいかない原因と今後の進め方
kuracchi_enj1
2
80
AIエージェント作ったろ!
kuracchi_enj1
0
230
CDKでさまざまなエージェントを構築してみた
kuracchi_enj1
2
380
Claudeを飼い慣らす環境づくり
kuracchi_enj1
2
2.2k
Featured
See All Featured
A better future with KSS
kneath
240
18k
Amusing Abliteration
ianozsvald
1
340
RailsConf 2023
tenderlove
30
1.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Docker and Python
trallard
47
4.2k
From π to Pie charts
rasagy
1
400
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
A Soul's Torment
seathinner
8
3.7k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Transcript
CIで使うLambda MicroVMs 最高なんだよなぁ! JAWS-UG彩の国埼玉支部 #12 AWS re:Invent 2026準備回 くらっち
自己紹介 普段の業務 趣味 Railsアプリのエンジニア スポーツ QAエンジニア 野球, ソフトボール AIエンジニア マラソン
インフラはちょっと! ビーチラグビー スキー, スノボ くらっち 23卒 JAWS-UG 東京支部 運営メンバー 好きなAWSサービス Bedrock AgentCore Lambda CDK(OSSだけど!)
彩の国埼玉支部の運営の皆様には いつもお世話になっております!
今日はLambda MicroVMsを使った CI構築の話をします
Lambda MicroVMsって何? Agenda Lambda MicroVMsを使ったCI環境? Lambda MicroVMsを使ったレビュー用環境 まとめ 宣伝
01 Lambda MicroVMsって何?
Lambda MicroVMsって何? ユーザーやAIが生成したコードを安全に実行するための ステートフルな隔離サンドボックス環境 って言ってもわかりづらいんですけど、誤解を恐れずに簡単に言うと、 使い捨て前提のちーちゃいEC2インスタンス 未だにLambdaを名乗ってることに違和感... EC2って言っちゃうとMicro感がなくなるってことなのかなと言い聞かせてる
Lambda MicroVMsのポイント VM(EC2) コンテナ(Docker) MicroVM 起動速度 遅い 速い さらに速い メモリ消費
多い 少ない より少ない セキュリティ 最高 穴がある 最高 OSのカーネルを共有しているため セッション間で干渉できてしまう
どんな時に使えそう? AIエージェントによるコードレビュー実行環境 AIエージェントによる好き勝手な検証 マルウェアなどの動作解析 アプリケーションの自動テスト実行 コードレビューフェーズにおけるレビュー環境 使えそうなケースは大体 「一時的に環境を使いたい場合」
02 Lambda MicroVMsを使った CI環境?
CIとして実行されるツールって? 静的コード解析 脆弱性解析 テストフレームワーク E2Eテスト etc... TypeScript Python Ruby 静的コード解析
ESLint Pylint, Ruff Rubocop 脆弱性解析 Semgrep Bandit Brakeman テストフレームワーク Vitest, Jest Pytest RSpec, minitest
CIが実行されるタイミングって? commit push PR作成 ココ! レビュー ココ! 追いpush commit前は「実装者のローカル」 PR作成,
push時は「CI環境」 プロジェクトやチームによっては、merge後や定期実行も merge
PR作成, push時のCI実行環境 現在、Github ActionsかCodeBuildで実行されていることが多い 所属しているチームでは、Git管理をBacklog Gitで行っているので、 Github Actionsを使う選択肢は無かった。 なので、CI環境の構築と言えばCodeBuild!って感じでした。
ただ、CodeBuildって 応用効かないんですよね
例えば ① 並列実行できない → 1万ケースのテストがある場合に直列でやるとめっちゃ時間かかる → 頑張れば並列できるけど、かなりしんどい ② コンテナ or
Lambdaでしか環境を構築できない → コンテナ実行にした場合は、起動に時間がかかる → Lambda実行にした場合は、15分のタイムアウト制限がある
今後の拡張性を見据えると Lambda MicroVMsでCI環境構築する 選択肢があってもいいんじゃない?
アーキテクチャ ① Backlog Webhookから API Gatewayへリクエスト ② API GatewayがLambdaをキック ③
LambdaがDurable Functionsを起動 ④ DurableがLambda MicroVMsを起動 (Durableはここで待機状態に) ⑤ ソースコードをpullしてテスト開始 ⑥ 終わったら結果のHTMLをS3へ ⑦ 完了通知をDurableへ
結果のイメージ CI実行の結果は、PRのコメントに通知されます。 実行されたツール のレポート CI実行の概要 実行されたツール ごとの結果 もしもの時の CloudWatch Logs
かなりシンプル&自分好みに CI環境を構築できました!
ここから拡張します
03 Lambda MicroVMsを使った レビュー用環境
CI環境の構築だけじゃ満足できなかったので
レビュアーのためのレビュー環境を立ち上げる 仕組みを追加
コードレビューする人が行う操作 1. PRの通知を受け取る 2. 対象のブランチをローカルにpullする 3. pullしたソースを元にローカル環境を立ち上げる 4. 動作を確認しながらコードを確認する ※
複数のブランチをレビューする場合、checkout操作も入る ここが繰り返される度に同じ操作をしなきゃいけない...
ならレビュー環境を作ってあげればいいじゃない
どうやって? CI実行が成功した時を条件として、レビュー環境が立ち上がるようにする CI実行 CI成功 通知 コメント リンク クリック レビュー 環境起動
CIが成功した時に、レビュー環境が起動するわけではありません。 CIが成功した後の通知コメントにレビュー環境起動用リンクを貼り、 リンクをクリックしたときにレビュー環境の起動が始まります。 CIが成功してすぐにレビュアーがレビューできる状態であるとは限らないため、 レビューできる状態になった時に環境を起動することでコストを削減!
CI成功通知コメントイメージ こんな感じのコメントが通知されます。
環境起動中の画面イメージ 環境起動中に何もアクションがないのは不親切なので、画面を出します
レビュー環境の終了は 以下の操作をトリガーにレビュー環境を閉じるようにしています。 PRがマージされる / 却下される 起動してから8時間経過する 管理画面から「環境を終了する」ボタンをクリックする
アーキテクチャ 赤くしているところ → CI環境 青くしているところ → レビュー環境 Lambda MicroVMsを起動する ためのDurable
Functionsは 共通のものを使っています
05 まとめ
まとめ Lambda MicroVmsは使い捨て前提のちーちゃいEC2インスタンスの イメージ 「一時的に使いたいなぁ」というケースに向いてる CI環境として扱いやすく、拡張性/カスタム性はCodeBuildよりも良き レビュアーのためのレビュー環境を用意してあげることで、レビュアー の負担を下げることができそう。この環境もLambda MicroVMsを使 うことで小コストで運用が可能
東京支部として宣伝!
10/30(金) 8:00 〜 9:00 @オンライン 11/5(木) 19:00 〜 21:00 @麻布台ヒルズ(AWS本社)
11/19(水) 12:00 〜 13:00 @オンライン 12/19(土) 12:30 〜 18:00 @麻布台ヒルズ(AWS本社)
以上!