仮想化とコンテナを理解する

仮想化は一台の物理資源上に複数の独立した実行環境を作る。仮想マシンとコンテナは分離の層が異なり、ゲストOSの有無や共有範囲が重要な比較軸になる。

この単元で学ぶこと

  • ハイパーバイザの意味と役割を説明できる
  • 仮想マシンの意味と役割を説明できる
  • コンテナの意味と役割を説明できる
  • VMとコンテナのゲストOS・カーネル共有・起動特性を比較できる

本文解説

ハイパーバイザ型仮想マシンは仮想ハードウェア上でゲストOSを動かす。コンテナはホストOSのカーネルを共有しつつプロセス・ファイルシステム等を分離する。起動・容量・隔離の性質が異なる。

ハイパーバイザ 物理資源を仮想化し複数VMへCPU・メモリ・I/Oを割り当てる層。 Type1はハードウェア上で直接動作する形が代表的。

仮想マシン 仮想ハードウェア上で独立したゲストOSを含む実行環境。 異なるOSカーネルを動かせる。

コンテナ ホストOSカーネルを共有しつつアプリケーション実行環境を分離する方式。 一般にVMより起動が軽量になりやすい。

イメージ コンテナ実行に必要なファイルや設定をまとめた読み取り基盤。 同じイメージから複数インスタンスを起動できる。

リソース分離 CPU・メモリ・名前空間などの使用範囲を環境ごとに制限する考え方。 完全な物理分離とは異なる。

ゲストOSを含むならVM、ホストカーネル共有ならコンテナ、ハードウェアを仮想化する層ならハイパーバイザを考える。

異なるOSカーネルが必要ならVMが適する。多数の同種アプリ環境を素早く起動したいならコンテナが候補になる。

図解

VMとコンテナの層構造
VMはゲストOSを含み、コンテナはホストOSカーネルを共有する。

重要ポイント

  • ハイパーバイザ: 物理資源を仮想化し複数VMへCPU・メモリ・I/Oを割り当てる層。
  • 仮想マシン: 仮想ハードウェア上で独立したゲストOSを含む実行環境。
  • コンテナ: ホストOSカーネルを共有しつつアプリケーション実行環境を分離する方式。
  • イメージ: コンテナ実行に必要なファイルや設定をまとめた読み取り基盤。
  • VMはゲストOS、コンテナはホストカーネル共有という境界を押さえる。

間違えやすい点

  • コンテナを完全な別OSと同一視しない。
  • VMなら資源競合が絶対起きないと考えない。
  • イメージと実行中コンテナを混同しない。

用語解説

ハイパーバイザ
物理資源を仮想化し複数VMへCPU・メモリ・I/Oを割り当てる層。
仮想マシン
仮想ハードウェア上で独立したゲストOSを含む実行環境。
コンテナ
ホストOSカーネルを共有しつつアプリケーション実行環境を分離する方式。
イメージ
コンテナ実行に必要なファイルや設定をまとめた読み取り基盤。
リソース分離
CPU・メモリ・名前空間などの使用範囲を環境ごとに制限する考え方。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。