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
gVisorを使おう!/ Let's use gVisor!
Search
Kattyan
July 13, 2023
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
gVisorを使おう!/ Let's use gVisor!
Kattyan
July 13, 2023
More Decks by Kattyan
See All by Kattyan
QPACK って何?/What is QPACK?
sou1118
0
780
スライド操作用リモコンを作った話/Making-a-remote-control-for-slide-operation
sou1118
0
410
マイナンバーカードを用いた認証について/Authentication-using-the-My-Number-Card
sou1118
0
880
マイナンバーカードの有効利用法を探る / Finding-ways-to-use-my-number-card
sou1118
0
370
少し幸せになれるスマートなリモコンを作る / Making-a-Smart-remote-controller
sou1118
0
420
Other Decks in Programming
See All in Programming
Cloudflare is Agents
chimame
0
170
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
540
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
490
メールのエイリアス機能を履き違えない
isshinfunada
0
250
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
150
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
130
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
560
30年振りにコンパイラの定数整数除算を改善した
herumi
3
650
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Unsuck your backbone
ammeep
672
58k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
510
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Skip the Path - Find Your Career Trail
mkilby
1
190
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
How to Talk to Developers About Accessibility
jct
2
520
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
gVisorを使おう! Kattyan 1
自己紹介 インターネット技術とネットワークセキュリティ,低いところに興味 GitHub: sou1118 自己紹介 2
コンテナとは? コンテナは,アプリケーションとその依存関係をパッケージ化し,独立 した環境で実行するための技術 コンテナは分離された環境を提供し,これによりアプリケーションは他 のシステムから独立して動作 NameSpaceを使用して,この分離された空間に対するアクセス制御 を行う cgroupsを使用して,リソースの制限(CPU,メモリなど)を行う コンテナについて 3
コンテナランタイムとは? コンテナの作成と管理を担当するソフトウェア 以下の4層で構成される 1. 管理コマンド 2. 高レベルコンテナランタイム 3. 低レベルコンテナランタイム 4.
Linux カーネル コンテナランタイムについて 4
例えば,Dockerを使用した場合 1. Docker CLI 2. containerd 3. runC 4. Linux
カーネル 5
低レベルコンテナランタイムとは? Linux カーネルの上で直接コンテナを作成,実行 ホスト OS の特権権限が必要 runC に脆弱性があると,ホスト OS の特権権限が侵害される可能性
がある 最近では,runC を置き換える動きが活発 高レベルコンテナランタイムから低レベルコンテナランタイムへの通信 は,OCI (Open Container Initiative) に基づく gVisor, Firecracker, Kata などが低レベルコンテナランタイムの例と して挙げられる 低レベルコンテナランタイムについて 6
gVisorとは? runC の代わりとして開発された低レベルコンテナランタイム OCI に準拠 システムコールの大部分を,ホストカーネルに直接渡さずに,gVisorの ゲストカーネルで実行 コンテナがホストから完全に分離(サンドボックス化) Go 言語で書かれており,メモリ安全を保証
GCP の App Engine や Cloud Run での実用経験があり Dockerで利用する場合は, daemon.json ファイルを編集することで設 定可能 gVisorについて 7
おしまい 8