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
59
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
31
Other Decks in Technology
See All in Technology
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
160
レガシーな広告配信システムでのAI駆動開発/運用の挑戦
i16fujimoto
0
110
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
280
入門!AWS Blocks
ysuzuki
1
180
時期が悪い!それでもRaspberry Piを買って遊んで活用するには / 20260627-osc26do-rpi-jikigawarui
akkiesoft
0
720
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
180
水を運ぶ人としてのリーダーシップ
izumii19
4
900
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
820
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
450
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
150
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
480
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
400
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Deep Space Network (abreviated)
tonyrice
0
210
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Facilitating Awesome Meetings
lara
57
7k
Code Review Best Practice
trishagee
74
20k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Git: the NoSQL Database
bkeepers
PRO
432
67k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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