Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Shuji Yamada
PDF, PPTX
22,400 views
20分でわかるgVisor入門
2018年5月28日開催 『Container SIG 2018 Summer』のスライド資料です。
Technology
◦
Read more
37
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 34
2
/ 34
3
/ 34
4
/ 34
5
/ 34
Most read
6
/ 34
7
/ 34
8
/ 34
9
/ 34
10
/ 34
11
/ 34
12
/ 34
13
/ 34
14
/ 34
15
/ 34
16
/ 34
17
/ 34
18
/ 34
19
/ 34
20
/ 34
21
/ 34
22
/ 34
23
/ 34
24
/ 34
Most read
25
/ 34
Most read
26
/ 34
27
/ 34
28
/ 34
29
/ 34
30
/ 34
31
/ 34
32
/ 34
33
/ 34
34
/ 34
More Related Content
PPTX
Rootlessコンテナ
by
Akihiro Suda
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
Kongの概要と導入事例
by
briscola-tokyo
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
PDF
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
Rootlessコンテナ
by
Akihiro Suda
Dockerからcontainerdへの移行
by
Kohei Tokunaga
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
Docker Compose 徹底解説
by
Masahito Zembutsu
Kongの概要と導入事例
by
briscola-tokyo
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
What's hot
PPTX
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
PDF
BuildKitの概要と最近の機能
by
Kohei Tokunaga
PPTX
root権限無しでKubernetesを動かす
by
Akihiro Suda
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
by
NTT DATA Technology & Innovation
PDF
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
by
Kazumi OHIRA
PDF
今話題のいろいろなコンテナランタイムを比較してみた
by
Kohei Tokunaga
PDF
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
by
NTT DATA Technology & Innovation
PDF
flaws.cloudに挑戦しよう!
by
zaki4649
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PDF
DockerとPodmanの比較
by
Akihiro Suda
PDF
忙しい人の5分で分かるDocker 2017年春Ver
by
Masahito Zembutsu
PDF
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
by
NTT DATA Technology & Innovation
PDF
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
by
日本マイクロソフト株式会社
PDF
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
by
Daisuke Morishita
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
PDF
Cognitive Complexity でコードの複雑さを定量的に計測しよう
by
Shuto Suzuki
PPTX
Amazon Athena で実現する データ分析の広がり
by
Amazon Web Services Japan
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
PDF
君はyarn.lockをコミットしているか?
by
Teppei Sato
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
BuildKitの概要と最近の機能
by
Kohei Tokunaga
root権限無しでKubernetesを動かす
by
Akihiro Suda
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
by
NTT DATA Technology & Innovation
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
by
Kazumi OHIRA
今話題のいろいろなコンテナランタイムを比較してみた
by
Kohei Tokunaga
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
by
NTT DATA Technology & Innovation
flaws.cloudに挑戦しよう!
by
zaki4649
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
DockerとPodmanの比較
by
Akihiro Suda
忙しい人の5分で分かるDocker 2017年春Ver
by
Masahito Zembutsu
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
by
NTT DATA Technology & Innovation
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
by
日本マイクロソフト株式会社
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
by
Daisuke Morishita
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
Cognitive Complexity でコードの複雑さを定量的に計測しよう
by
Shuto Suzuki
Amazon Athena で実現する データ分析の広がり
by
Amazon Web Services Japan
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
君はyarn.lockをコミットしているか?
by
Teppei Sato
Similar to 20分でわかるgVisor入門
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
by
Kohei Tokunaga
PPTX
ContainerとName Space Isolation
by
maruyama097
PDF
インフラエンジニアのためのRancherを使ったDocker運用入門
by
Masahito Zembutsu
PDF
運用に自動化を求めるのは間違っているだろうか
by
Masahito Zembutsu
PDF
Windows Server 2019 で Container を使ってみる
by
Kazuki Takai
PDF
Windows Server 2016でコンテナを動かしてみた
by
Takashi Kanai
PDF
これから始めるAzure Kubernetes Service入門
by
Yuto Takei
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
by
Takashi Kanai
PDF
[Japan Tech summit 2017] DEP 005
by
Microsoft Tech Summit 2017
PDF
Introduction of Azure Container Apps for Java Developers
by
Yoshio Terada
PDF
はじめてのコンテナーDocker & Windows & Linux
by
Kazushi Kamegawa
PPTX
Web サービス インフラの近未来
by
Syuichi Murashima
PDF
これからのクラウドネイティブアプリケーションの話をしよう
by
真吾 吉田
PDF
Cld018 コンテナ go_~あなた
by
Tech Summit 2016
PPTX
Cld018 コンテナ go_~あなた
by
Tech Summit 2016
PDF
Getting started with Windows Containers
by
Kazuki Takai
PDF
Using docker infrastructure
by
Junya Niwa
PDF
Azure container as a service v0.1.19.1213
by
Ayumu Inaba
PDF
DOO-013_Docker 最新動向と Azure Container Service 入門
by
decode2016
PPTX
アプリケーションコンテナ/マイクロサービスのセキュリティ概説
by
Eiji Sasahara, Ph.D., MBA 笹原英司
コンテナ未経験新人が学ぶコンテナ技術入門
by
Kohei Tokunaga
ContainerとName Space Isolation
by
maruyama097
インフラエンジニアのためのRancherを使ったDocker運用入門
by
Masahito Zembutsu
運用に自動化を求めるのは間違っているだろうか
by
Masahito Zembutsu
Windows Server 2019 で Container を使ってみる
by
Kazuki Takai
Windows Server 2016でコンテナを動かしてみた
by
Takashi Kanai
これから始めるAzure Kubernetes Service入門
by
Yuto Takei
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
by
Takashi Kanai
[Japan Tech summit 2017] DEP 005
by
Microsoft Tech Summit 2017
Introduction of Azure Container Apps for Java Developers
by
Yoshio Terada
はじめてのコンテナーDocker & Windows & Linux
by
Kazushi Kamegawa
Web サービス インフラの近未来
by
Syuichi Murashima
これからのクラウドネイティブアプリケーションの話をしよう
by
真吾 吉田
Cld018 コンテナ go_~あなた
by
Tech Summit 2016
Cld018 コンテナ go_~あなた
by
Tech Summit 2016
Getting started with Windows Containers
by
Kazuki Takai
Using docker infrastructure
by
Junya Niwa
Azure container as a service v0.1.19.1213
by
Ayumu Inaba
DOO-013_Docker 最新動向と Azure Container Service 入門
by
decode2016
アプリケーションコンテナ/マイクロサービスのセキュリティ概説
by
Eiji Sasahara, Ph.D., MBA 笹原英司
More from Shuji Yamada
PDF
10分でわかる Cilium と XDP / BPF
by
Shuji Yamada
PDF
コンテナのユースケース考察
by
Shuji Yamada
PDF
会社にGitHub Enterpriseを導入してみた話
by
Shuji Yamada
PDF
GitHub Enterpriseの導入事例と実践GitHub Actions
by
Shuji Yamada
PDF
Kanban 101「明日から使えるかもしれないカンバン」
by
Shuji Yamada
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
by
Shuji Yamada
PDF
10分でわかる marathon-lb
by
Shuji Yamada
PDF
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
by
Shuji Yamada
PDF
お手軽OpenFlow試験環境 Mininet
by
Shuji Yamada
PDF
Arukas meet Mesos/Marathon
by
Shuji Yamada
PDF
2015-01-27 Introduction to Docker
by
Shuji Yamada
PDF
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
by
Shuji Yamada
PDF
Sensu -The Next Generateion Monitoring Framework-
by
Shuji Yamada
PDF
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
by
Shuji Yamada
PDF
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
by
Shuji Yamada
PDF
自動テストによって生み出される価値
by
Shuji Yamada
PDF
Kanban 301「プロセスマネジメント(成長エンジン)」
by
Shuji Yamada
10分でわかる Cilium と XDP / BPF
by
Shuji Yamada
コンテナのユースケース考察
by
Shuji Yamada
会社にGitHub Enterpriseを導入してみた話
by
Shuji Yamada
GitHub Enterpriseの導入事例と実践GitHub Actions
by
Shuji Yamada
Kanban 101「明日から使えるかもしれないカンバン」
by
Shuji Yamada
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
by
Shuji Yamada
10分でわかる marathon-lb
by
Shuji Yamada
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
by
Shuji Yamada
お手軽OpenFlow試験環境 Mininet
by
Shuji Yamada
Arukas meet Mesos/Marathon
by
Shuji Yamada
2015-01-27 Introduction to Docker
by
Shuji Yamada
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
by
Shuji Yamada
Sensu -The Next Generateion Monitoring Framework-
by
Shuji Yamada
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
by
Shuji Yamada
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
by
Shuji Yamada
自動テストによって生み出される価値
by
Shuji Yamada
Kanban 301「プロセスマネジメント(成長エンジン)」
by
Shuji Yamada
Recently uploaded
PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
by
Ayachika Kitazaki
PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
PDF
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026
by
Matsushita Laboratory
PDF
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf
by
Matsushita Laboratory
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
by
Ayachika Kitazaki
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研)
by
Yuto Matsuda
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026
by
Matsushita Laboratory
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf
by
Matsushita Laboratory
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
20分でわかるgVisor入門
1.
Container SIG 2018
Summer さくらインターネット株式会社 Shuji Yamada (山田 修司) @uzyexeMay 28, 2018 20分でわかる gVisor入門
2.
Shuji Yamada • さくらインターネット所属 •
コンテナホスティング「Arukas」担当 • 以前は「さくらのクラウド」運用担当 • 好きなクラスタ Mesos/Marathon (山田 修司) Trust me. I am Engineer _(┐¦_ ε:) 2
3.
• アプリケーションをパッケージングして展開。 • コンテナはホストカーネルを共有。 •
オーバーヘッドほぼ0。 3 Build Ship Run Docker コンテナのおさらい
4.
コンテナは ホストカーネルを共有 4
5.
5 VM B VM
CVM A Server Hardware Linux Kernel Hyper Visor Bins/Libs App Kernel Bins/Libs App Kernel Bins/Libs App Kernel
6.
6 Container B Container
CContainer A Server Hardware Linux Kernel Docker Engine Bins/Libs App Bins/Libs App Bins/Libs App
7.
7 Container B Container
CContainer A Server Hardware Linux Kernel Docker Engine Bins/Libs App Bins/Libs App Bins/Libs App
8.
Docker Engine Linux Kernel 8 Container
B Container CContainer A Server Hardware Bins/Libs App Bins/Libs App Bins/Libs App
9.
• ゲストプロセスはホストカーネル上で実行。 • ゲストプロセスを十分には隔離していない。 •
単一の脆弱性で、ホストを破壊可能。 9 コンテナはサンドボックスではない Docker Engine Container B Container CContainer A Server Hardware Linux Kernel Bins/Libs App Bins/Libs App Bins/Libs App
10.
“Containers do not
contain” -Dan Walsh, 2014- 10
11.
• VMによるコンテナ隔離 • オーバーヘッドが大きい。 •
IaaS 上では、Nested Virtualization が必要条件。 • seccomp、SELinux、AppArmor • 事後防衛的(脆弱性を突かれたときだけ有効) 11 いくつかの防護策
12.
過去、コンテナにも影響した重大な脆弱性 • CVE-2016-5195 DirtyCow •
コンテナから脱獄してホストのroot権限を奪取可能 • CVE-2017-5753/5715/5754 Spectre/Meltdown • ホストのカーネルメモリ漏洩 12
13.
ルールベース・アクセス制御の特徴 13 Application Host Kernel Limited system
calls Hardware
14.
ルールベース・アクセス制御の課題 14 • 完璧なポリシーの定義は現実的には困難。 • ポリシーを過剰に設定しやすい。 •
逆にポリシーが不足することもある。 • カーネルの脆弱性は防げない。 • 他の防護策と掛け合わせた運用が不可欠。 Application Host Kernel Limited system calls Hardware
15.
VMの特徴 • VM =
ハードウェア仮想化してゲストに提供 • VM内で動作するプロセスは完全に隔離。 • アプリケーション互換性も高い。 • 完全仮想化なら… • Meltdown/Spector にも有効。 15 Application Guest Kernel System calls VMM Virtual hardware System calls Host Kernel Hardware
16.
VMの課題 • HyperVisor +
VMM + Guest Kernel • オーバーヘッドが大きい。 • パフォーマンスが劣化。 • リソース配備の柔軟性が低下 • CPUやメモリリソースを固定的に確保。 • 他のコンテナとのリソース共有不可。 16 Application Guest Kernel System calls VMM Virtual hardware System calls Host Kernel Hardware
17.
VMの課題 • 1VM:1Container 構成は煩雑 •
エージェントの追加インストールが必要。 • 監視エージェント • サービスディスカバリ用エージェント • モノリシックなアプリ構成になりがち。 17 Application Guest Kernel System calls VMM Virtual hardware System calls Host Kernel Hardware
18.
gVisor とは • ユーザー空間で実行可能なゲストカーネル。 •
アプリケーションとホストカーネルを分離。 • およそ20万行のGo言語で実装。 • ptrace版、KVM版がある。 • Docker、Kubernetes に対応。 (runsc というOCIランタイムで提供) 18 Application gVisor System calls Host Kernel Limited system calls Hardware
19.
Docker Engine Containerd runcrunc runc
20.
Docker Engine Containerd runscrunsc runsc
21.
gVisor のパフォーマンス 21 150ms 15MB コンテナ起動にかかる時間
メモリのオーバーヘッド
22.
User Kernel Host Kernel Application Gofer (File system
proxy) Sentry (Guest Kernel) ptrace seccomp 9P runsc
23.
• ゲストカーネルのシステムコールを奪取(ptrace) • 奪取したシステムコールをフィルタ(seccomp) •
ゲストカーネルでシステムコールを命令置換(gvisor) • 無害なシステムコールが、ホストカーネルに転送。 gVisor の挙動 23 「Linuxの機能で、Linuxを実装している。」
24.
Sentry プロセス • ゲストカーネル(互換カーネル) •
空のユーザー名前空間 (User Namespace) で実行。 • ゲストのシステムコールを待ち受ける。 • seccomp でホストに転送するシステムコールを制限。 • 安全なユーザコード実行とシステムコール処理を担当。 24
25.
Gofer プロセス • ファイルシステムプロキシ •
サンドボックスを経由するファイルシステム操作を担当。 • アプリの代わりにホストのファイルをオープン。 • オープンしたファイルを Sentry に転送。 (Sentry はホストファイルに直接アクセスしない。) 25
26.
netstack • gVisor 独自のネットワークスタック •
ネットワーク通信は Sentry が担当。 • ホストのネットワークスタックからは完全に隔離。 • データリンク層のフレームは、Dockerが持つネットワー ク名前空間内にある仮想デバイスに直接書き込み。 • ネットワーク・パススルーもサポート。 26
27.
gVisor の技術的トレードオフ 27 • コンテナのセキュリティは向上 •
ホストカーネルを隠 。 • VM相当のプロセス隔離を実現。 • エミュレーションによるパフォーマンス劣化 • アプリケーション互換性が低下。 • 頻繁なシステムコールでは性能が劣化。 Application gVisor System calls Host Kernel Limited system calls Hardware
28.
• ptrace のパフォーマンスがネック。 •
将来的には、ptrace 以外のものに置き換わるかも。 • (実験的に)KVM を使用するアプローチも選べる。 28 まだまだ課題はある・・・
29.
• 約200のシステムコールをサポートしているが・・・ • 未実装のシステムコールも多い •
System V 共有メモリ(PostgreSQLが動かない…) • SOCK_RAW(Pingが動かない…) • etc… • パフォーマンス確認に使いたいベンチマークも動かない… 29 まだまだ課題はある・・・
30.
• GPUに非対応 • どのようなシステムコールが送信されるかが不明瞭。 •
バイナリBLOBなドライバはVMでの隔離がおすすめ • ルールベースのポリシーでの保護が困難。 • 脆弱性を勝手に修正できない。 30 まだまだ課題はある・・・
31.
31 ま と め
32.
• VM(ハードウェア仮想化) • リソースやプロセスを完全に隔離可能。 •
コンテナ(ネームスペース分離) • 単一の脆弱性で収容ホスト内部を破壊される。 • gVisor(ゲストカーネル、互換カーネル) • ゲストカーネルの特権を奪取されても被害は最小限。 32 まとめ
33.
Quick Start • Go
to: https://github.com/google/gvisor • Build and Install gVisor 33 $ docker run --runtime=runsc hello-world $ docker run -d --runtime=runsc -p 80:80 nginx
34.
THANK YOU!
Download