「VM」と「コンテナ」を比較 効率とセキュリティ面で軍配が上がるのは?「VM」と「コンテナ」のどちらを利用すべきか【前編】

VMとコンテナはどちらもアプリケーションを実行するためのインフラとして機能するが、メリットとデメリットは異なる。技術の仕組みとサーバ効率、セキュリティの観点から両者の違いを説明する。

2021年10月26日 05時00分 公開
[Tom NolleTechTarget]

 アプリケーションのインフラに仮想マシン(VM)とコンテナのどちらを使用するか検討するときは、2つの技術のメリットとリスクを体系的に評価するとよい。本稿は、これらの技術の仕組みと特徴、比較検討のポイントを説明する。

VMとコンテナの仕組み

 VMは物理サーバを仮想的に分割し、複数のサーバにしたものだ。各VMはOSやアプリケーションを実行するための専用のサーバとなる。サーバの仮想化には一般的にはハイパーバイザーを用いる。ハードウェアの共有方法はハイパーバイザーの機能によって異なるため、適切なハイパーバイザーを選ぶことが重要になる。

 コンテナをVMの一種だと考える人もいる。その考えは正しいとは言えない。コンテナは、コンテナをホストできる「Linux」といったOSで稼働する、アプリケーションの実行単位だ。

VMとコンテナの相違点

 VMとコンテナはアプリケーションを動かすときのサーバ効率やアプリケーション分離、セキュリティなどの点で異なる特性を持つ。以下で相違点を説明する。

1.サーバ効率

 各VMは個別のOSと、その他のミドルウェア、アプリケーションを実行する。1台の物理サーバで複数のVMを実行する際は、その分のリソースを消費することになる。コンテナは基本的にOSを共有する。そのためVMと比べて消費リソースを抑えやすく、場合によってはVMの2〜6倍に相当する数のコンテナを1台の物理サーバで実行できることがある。

2.アプリケーションの分離

 VMで稼働するアプリケーションは、同じ物理サーバで実行している他のアプリケーションから分離される。この仕組みにより「サイバー攻撃者がVMに侵入し、そのVMを踏み台にして同じ物理サーバで稼働する他のVMをハッキングする」という事態が起きる可能性を抑えている。

 コンテナと比べると、VMで稼働するアプリケーションは、物理サーバでリソースの競合相手となる他のアプリケーションの影響を受けにくい。コンテナは物理サーバのメモリやCPUでリソースの競合が発生すると、処理速度といったパフォーマンス低下につながりやすい。

3.セキュリティとコンプライアンス

 VMのセキュリティ手法ではアプリケーションとゲストOS、ハイパーバイザーそれぞれの間に境界を設けることができる。このことを考慮すると、事業にとって重要なアプリケーションのインフラとしては、VMに軍配が上がる可能性が高い。ただし他の考慮事項によってはコンテナが適している場合もある。


 後編はインフラ管理の観点からVMとコンテナを比較する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

ITmedia マーケティング新着記事

news079.jpg

狙うは「銀髪経済」 中国でアクティブシニア事業を展開する企業とマイクロアドが合弁会社を設立
マイクロアドは中国の上海東犁と合弁会社を設立。中国ビジネスの拡大を狙う日本企業のプ...

news068.jpg

社会人1年目と2年目の意識調査2024 「出世したいと思わない」社会人1年生は44%、2年生は53%
ソニー生命保険が毎年実施している「社会人1年目と2年目の意識調査」の2024年版の結果です。

news202.jpg

KARTEに欲しい機能をAIの支援の下で開発 プレイドが「KARTE Craft」の一般提供を開始
サーバレスでKARTEに欲しい機能を、AIの支援の下で開発できる。