システム構成要素
コンテナ型仮想化(Dockerなど)と仮想マシン(ハイパーバイザ型)を比較したとき、コンテナの特徴として適切なものはどれか。
ア.コンテナはハードウェアまでを含む完全な仮想環境を提供するため、異なるOS(LinuxコンテナをWindowsカーネル上)を完全に分離して実行できる。
イ.コンテナはホストOSのカーネルを共有するため、仮想マシンより起動が速く軽量であるが、OS間の分離度は仮想マシンより低い。正解
ウ.コンテナは仮想マシンよりもセキュリティ分離度が高く、コンテナからホストOSへの攻撃が理論上不可能な設計になっている。
エ.コンテナは単一のプロセスしか実行できないため、Webサーバとデータベースを同じコンテナに含めることはできない。
解説
コンテナは「同じ建物(カーネル)内の個別の部屋」のようなもの。仮想マシンは「別々の建物(別カーネル)」を丸ごと建てます。部屋(コンテナ)の方が建設(起動)は速く安上がりですが、建物の壁(カーネルの分離)は一枚の壁を共有しているため、完全な独立性は仮想マシンより低くなります。
なぜ イ が正解か
コンテナ(Dockerなど)はホストOSのカーネルをコンテナ間で共有します。メリット:①起動が数秒と高速(VMは数十秒〜数分)、②軽量(GBサイズのVMイメージ vs MBサイズのコンテナ)、③密度が高い(1サーバに多数のコンテナ)。デメリット:カーネルを共有するため、VMほどのセキュリティ分離はなく、ホストOSが同じカーネル系でなければならない制約があります。イが正解です。
出典: AI生成問題(学習用)