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
AWS Lambda のランタイムを理解しないと "できること" と "できないこと" を永遠...
Search
Ikuma Yamashita
February 20, 2026
Technology
70
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Lambda のランタイムを理解しないと "できること" と "できないこと" を永遠に判断できない
Ikuma Yamashita
February 20, 2026
More Decks by Ikuma Yamashita
See All by Ikuma Yamashita
Amazon DynamoDB の設計は 具体的にはどうするのだろう?
ikuma
0
36
Other Decks in Technology
See All in Technology
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
500
:syncing_time:
sksat
3
830
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
0
100
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
120
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
300
APIセキュリティを組織で実現するには~注力する点と設計・実装に入れたい対策~
riiimparm
2
660
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
870
EMの役割で 変わったこと・変わらなかったこと
sansantech
PRO
0
190
AI時代のデータ基盤を考える問い
pacocat
0
730
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
Test your architecture with Archunit
thirion
2
2.4k
Designing for humans not robots
tammielis
254
26k
The Invisible Side of Design
smashingmag
301
52k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
220
Typedesign – Prime Four
hannesfritz
42
3.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Everyday Curiosity
cassininazir
0
300
Paper Plane (Part 1)
katiecoart
PRO
1
10k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
Transcript
Ikuma Yamashita 1 AWS Lambda のランタイムを理解しないと “できること” と “できないこと” を
永遠に判断できない 第1回 Japan AWS Jr. Champions Tech Ignite Feb. 20, 2026
SELF INTRODUCTION 2/26/2026 Ikuma Yamashita 2 名前 山下 生真 (Ikuma
Yamashita) 経歴 組み込みエンジニア → WEB エンジニア → インフラエンジニア 趣味 イラスト OSS コントリビューション 46ki75 好きな Emoji - Distorted Face 2025年9月に Unicode 17.0 として承認
はじめに 2/26/2026 Ikuma Yamashita 3 この LT でお話しすること AWS Lambda
を使用する際に知っておくべきなのに 知らなくても使えてしまう部分の知識 この LT でお話ししないこと AWS Lambda を使用する際に自然と知る必要が 出てくる可能性が高い部分の知識
AGENDA 2/26/2026 Ikuma Yamashita 4 01 AWS Lambda の呼び出しモデルを知る 02
AWS Lambda のランタイムを知る 03 AWS Lambda の実行環境を知る 04 AWS Lambda のライフサイクルを知る 05 AWS Lambda の SnapStart を知る 06 AWS Lambda のスケーリングを知る 07 AWS Lambda を知る理由を知る
AWS Lambda の呼び出しモデルを知る 2/26/2026 Ikuma Yamashita 5
AWS Lambda の呼び出しモデルを知る 2/26/2026 Ikuma Yamashita 6 全ての呼び出しは JSON に変換されて渡される
(通常の同期呼び出し)
AWS Lambda の呼び出しモデルを知る 2/26/2026 Ikuma Yamashita 7 非同期呼び出しの場合関数の返り値は別のサービスを指定できる
AWS Lambda の呼び出しモデルを知る 2/26/2026 Ikuma Yamashita 8 1. Direct API
AWS CLI, AWS SDK などから直接 Lambda 関数を呼び出す 2. イベント駆動 Amazon S3, Amazon SNS, Amazon EventBridge などのサービスが呼び出す 3. Event Source Mapping 特定サービスからイベントをバッファリングしてバルク処理を行う 最終的にはすべての呼び出しはすべて AWS サービス API 経由になっていると考えるのが妥当 (IAM の権限モデルがあるため) ただしユーザー目線ではこの3種類に分類すると理解しやすい
AWS Lambda の呼び出しモデルを知る 2/26/2026 Ikuma Yamashita 9
AWS Lambda の呼び出しモデルを知る 2/26/2026 10 Ikuma Yamashita
AWS Lambda の呼び出しモデルを知る 2/26/2026 11 Amazon DocumentDB Amazon DynamoDB Amazon
Kinesis Data Streams Amazon Managed Streaming for Apache Kafka Amazon MQ Amazon SQS Apache Kafka (Self-Hosted) Event Source Mapping に対応しているサービス Ikuma Yamashita
AWS Lambda のランタイムを知る 2/26/2026 Ikuma Yamashita 12
AWS Lambda のランタイムを知る 2/26/2026 13 AWS Lambda のランタイム API は仕様が公開されている
Ikuma Yamashita
AWS Lambda のランタイムを知る 2/26/2026 14 Ikuma Yamashita Runtime API 実は実行環境内部で
HTTP API として提供されている ※ Lambda 環境では TCP → UNIX ドメインソケット → virtio + ioctl() システムコールにプロキシされている可能性が高い (Runtime Interface Emulator の実装より)
AWS Lambda のランタイムを知る 2/26/2026 15 Ikuma Yamashita その他の API: Extension,
Telemetry, Logs
AWS Lambda のランタイムを知る 2/26/2026 16 Runtime Interface Client って何? Ikuma
Yamashita
AWS Lambda のランタイムを知る 2/26/2026 17 Runtime Interface Client は Runtime
API のラッパー Ikuma Yamashita Runtime Interface Client の Node.js 向け実装 aws-lambda-ric モジュールとしてインポート
AWS Lambda のランタイムを知る 2/26/2026 18 Ikuma Yamashita AWS Lambda 上で
“ランタイム” として提供されているものの正体 (ZIP デプロイ)
AWS Lambda のランタイムを知る 2/26/2026 19 Ikuma Yamashita ECR 上で “公式コンテナイメージ”
として提供されているものの正体
AWS Lambda のランタイムを知る 2/26/2026 20 Ikuma Yamashita
AWS Lambda のランタイムを知る 2/26/2026 21 Ikuma Yamashita これらはなぜカスタムランタイムなの? Go Rust
AWS Lambda のランタイムを知る 2/26/2026 22 Ikuma Yamashita 厳密には一部動的リンクライブラリが依存として残る libc などは
LGPL-2.1 なので静的リンクするとソースを公開しなければならないため 一般的な C ライブラリは Amazon Linux に入っているため問題なし
AWS Lambda のランタイムを知る 2/26/2026 23 Ikuma Yamashita libc の代わりに musl
を使えば完全静的リンク可能 x86_64-unknown-linux-musl ターゲットでビルドすると完全な静的リンクになる ここまでバンドルできれば Linux カーネルのみで動く
AWS Lambda の実行環境を知る 2/26/2026 Ikuma Yamashita 24
AWS Lambda の実行環境を知る 2/26/2026 25 Ikuma Yamashita Firecrackerとは? AWS が
AWS Lambda, AWS Fargate のために最適化した VMM Firecracker QEMU 目的 サーバレス向け 汎用仮想化 起動速度 0 ~ 200 ms 1000~10000 ms メモリフットプリント 5 ~ 20 MB 200 ~ 500 MB 柔軟性 低い 高い オーバーヘッド 極めて小さい 大きい Firecracker ができないこと AWS Lambda ができないこと ⊃
AWS Lambda の実行環境を知る 2/26/2026 26 Ikuma Yamashita
AWS Lambda のライフサイクルを知る 2/26/2026 Ikuma Yamashita 27
AWS Lambda のライフサイクルを知る 2/26/2026 Ikuma Yamashita 28 AWS Lambda の基本のライフサイクル
AWS Lambda の SnapStart を知る 2/26/2026 Ikuma Yamashita 29
AWS Lambda の SnapStart を知る 2/26/2026 Ikuma Yamashita 30 ちなみにこれは
Firecracker の機能
AWS Lambda の SnapStart を知る 2/26/2026 Ikuma Yamashita 31
AWS Lambda のスケーリングを知る 2/26/2026 Ikuma Yamashita 32
AWS Lambda のスケーリングを知る 2/26/2026 Ikuma Yamashita 33 各ライフサイクルの状態
AWS Lambda のスケーリングを知る 2/26/2026 Ikuma Yamashita 34
2/26/2026 Ikuma Yamashita 35 AWS Lambda のスケーリングを知る
2/26/2026 Ikuma Yamashita 36 AWS Lambda のスケーリングを知る
AWS Lambda を知る理由を知る 2/26/2026 Ikuma Yamashita 37
2/26/2026 Ikuma Yamashita 38 AWS Lambda を知る理由を知る AWS Lambda を知る理由は……アーキテクトとしての説明責任を果たすため
ご清聴ありがとうございました – Ikuma Yamashita 2/26/2026 Ikuma Yamashita 39
Q & A 2/26/2026 Ikuma Yamashita 40 時間に余裕があれば付録に進みます
APPENDIX AWS Lambda が SnapStart をサポートしているランタイムとそうでないランタイムの違いは? 2/26/2026 Ikuma Yamashita 41
2/26/2026 Ikuma Yamashita 42 付録 SnapStart が要求するランタイム特性 1. Safepoint を安全に作ることができる
2. スナップショット後に再開しても破綻しない 3. JIT / GC の内部状態が再構築可能 4. ランタイムが決定的に初期化できる
2/26/2026 Ikuma Yamashita 43 付録 Safepoint とは プログラムを完全停止しても安全な状態
2/26/2026 Ikuma Yamashita 44 付録 多くの言語は ガベージコレクタ (GC) を持つ GC
はメモリの解放・移動を行う (単に解放のみすると説明されることもあるが移動は非常に重要)
2/26/2026 Ikuma Yamashita 45 付録 多くの言語は ガベージコレクタ (GC) を持つ GC
はメモリの解放・移動を行う (単に解放のみすると説明されることもあるが移動は非常に重要)
2/26/2026 Ikuma Yamashita 46 付録 GC のメモリ変更は非常に危険 → safepoint が必要
END OF FILE https://www.ikuma.cloud 2/26/2026 Ikuma Yamashita 47