特集/連載
「仮想マシン」のいまさら聞けない特徴 「コンテナ」より良い点は?:いつもコンテナが最適とは限らない【前編】
仮想マシン(VM)とコンテナは、システムの構築と運用に広く用いられている。VMの長所と短所を解説しながら、それぞれの得意な分野、不得意な分野を明らかにする。
「仮想マシン」(VM)と「コンテナ」は、どちらも仮想化技術だ。企業が以前から広く採用してきた仮想化技術はVMであるため、「新たに台頭してきたコンテナの方が優れている」と判断する人がいるが、その考えは正しくない。本稿は、VMの長所と短所を明らかにするとともに、VMとコンテナが適している利用例を取り上げる。
仮想マシン(VM)の長所
1台のコンピュータで複数のOSを実行する場合、VMが活躍する。例えば「macOS」が稼働しているコンピュータで「Windows」専用のプログラムを実行したいとき、VMを使えば新しいOSをインストールする必要はない。VMの中で仮想化されたWindowsを実行し、プログラムを実行できる。この仕組みを使って、Amazon Web Services(AWS)などのクラウドベンダーは、クラウドサービスで複数のOSを利用できるようにしている。
VMは以下の点において、コンテナに対する優位性を持つ。
- 適応性
- VMはコンテナよりも適応性があると評価する人がいる。例えば「Linux」でVMを実行してその中でWindowsを稼働させることができ、その逆も可能だ。ホストシステムとは別のOSをコンテナ内で実行するには、VMが必要になる場合がある。
- セキュリティ
- VMにインストールしたOSは、ホストシステムのOSとは独立している。コンテナは通常、ホストシステムのOSとカーネル(OSの中核プログラム)を共有する。この構造は、ホストシステムに存在する脆弱(ぜいじゃく)性が、コンテナにも影響を与える恐れがある。このためコンテナよりもVMの方がセキュアだという見方がある。
- 特定のソフトウェアの実行
- VMはホストシステムのOSに関係なく、特定のOSでしか実行できないソフトウェアを実行可能な環境を提供するため、そうしたソフトウェアを使っている企業にとって有用だ。コンテナでは、GUI(グラフィカルユーザーインタフェース)ベースのプログラムを実行するには追加のセットアップが必要になるが、VMでは必要ない。
後編は、VMの短所を軸にしながらVMとコンテナの違いを明らかにする。
TechTarget発 世界のインサイト&ベストプラクティス
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.