クラウド基盤技術★★★

1台のサーバ上で、同じ構成のアプリケーション実行環境を多数、短い時間で 次々に起動したい。この用途に、ハイパーバイザー型の仮想マシンよりも コンテナ型仮想化が適しているといえる理由として、最も適切なものはどれか。

正解:

  1. コンテナごとに専用のゲストOSを組み込むため、OSの設定を個別に変えられるから。

    誤り。ゲストOSを内側に持つのは仮想マシンのほうです。コンテナはホストの OSを共有するので、OSそのものを個別に入れ替えることはできません。 この持ち方の差が、そのまま起動の重さの差になります。

  2. コンテナごとにCPUやメモリを固定して割り当て、常に占有させられるから。

    誤り。資源を固定して占有させることは、多数を素早く起動できる理由には なりません。割当ての制御は仮想マシンでも設定でき、むしろコンテナは ホストの資源を融通し合うことで集約度を上げています。

  3. 一つのコンテナで障害が起きても、別の物理サーバへ自動的に引き継がれるから。

    誤り。これはクラスタによる引き継ぎの説明です。複数台をまとめて一つの システムに見せる仕組みの話で、コンテナ自体に備わる性質ではありません。

  4. ホストのOSを共有し、ゲストOSを起動しない分だけ軽く、起動も速いから。

    正解。コンテナはOSの起動を伴わず、アプリの実行環境だけを用意します。 1台により多く詰め込め、起動も短時間で済みます。

コンテナは「部屋の仕切り」、仮想マシンは「一戸建て」

仮想マシンは1台ごとにOSを丸ごと抱えた家です。建てるのにも起こすのにも 時間がかかり、土地(サーバ)に建てられる数は限られます。 コンテナは一つの建物の中を仕切って作る部屋です。水道も電気も建物の設備 (ホストのOS)を共有するので、仕切りを増やすだけですぐ使えます。

何を持ち込み、何を借りるか

  • 仮想マシン … ゲストOSを内側に持つ。OSの種類を自由に選べる代わりに、 起動にOSの立ち上げ時間がかかり、メモリも大きく取る
  • コンテナ … OSの中核はホストのものを借り、アプリと必要な部品だけを持つ。 軽く、起動が速く、同じ構成を何個も複製しやすい

「同じ構成を多数、短時間で」という条件は、コンテナの得意分野そのものです。 反対に「別の種類のOSが必要」なら、コンテナでは応えられません。

混同しやすいものとの違い

用語 何のための仕組みか
コンテナ型仮想化 OSを共有し、実行環境だけを軽く分ける
仮想マシン 1台の機器の上に、OSごと別の機器を作る
クラスタ 複数台をまとめて一つのシステムに見せる

コンテナと仮想マシンは「分ける」技術、クラスタは「まとめる」技術です。 向きが逆であることを押さえておくと、選択肢の中で迷いません。

クラウドの一覧へ戻る