12
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

書籍:「仮想化&コンテナがしっかりわかる教科書」の要点まとめ (1章〜3章まで)

Last updated at Posted at 2025-09-24

「仮想化」「コンテナ」の基礎知識

📚 参考書籍 図解即戦力 仮想化&コンテナがこれ1冊でしっかりわかる教科書 (五十嵐 貴之, 薄田 達哉)

各章の内容

テーマ
1章 仮想化の基礎知識
2章 仮想化のしくみと技術
3章 コンテナ技術の基礎知識
4章 コンテナ型仮想化ソフトウェア「Docker」
5章 コンテナオーケストレーションツール 「Kubernets」
6章 クラウドのコンテナサービス

1. どんな人におすすめか

下記の概要やメリット、デメリットについて学びたい人

  • 仮想化技術
  • コンテナ
  • Docker
  • kubernetes
  • 主なクラウドのコンテナサービス

💡 下記のような知識と関わりが強いので、並行して勉強すると良さそうです。

  • コンピュータ基礎知識 (基本情報技術試験の内容)
  • ネットワークなどの基礎知識
  • クラウドなどの基礎知識
  • 主なクラウドサービスの概要 (AWS / GCP / Azureなど)

2. 仮想化の基礎知識

1. 仮想化とは

物理的なサーバー上に仮想的なサーバーを構築する技術です。

  • 1つの物理サーバー → 複数の仮想サーバー
    • サーバー統合による「効率化・コスト削減・柔軟性」
  • 複数の物理サーバー → 1つの仮想サーバー
    • リソース集約による「高可用性・高性能・拡張性」

2. 仮想化のメリット

  • バックアップが容易で、障害時に以前の状態に戻せる
  • 柔軟に環境を構築可能
種類
物理サーバーOS Windows 10 Pro
仮想サーバーOS CentOS / Ubuntu / Windows Server

⚠️ 3. 仮想化のデメリット

  • 物理サーバーの不具合には対応できない
  • 物理サーバーよりコストが高くなる場合がある

4. 仮想化の種類

  • サーバー仮想化:1台のサーバーを分割して複数用途に利用
  • ネットワーク仮想化:仮想的にネットワークを作り分ける
  • ストレージ仮想化:バラバラのストレージをまとめて見せる
  • デスクトップ仮想化:PC環境をサーバー上に置き、リモートで利用

💬 コメント:上記は実際にサービスを使ってみないと難しいなと思いました。

3. 仮想化のしくみと技術

1. サーバー仮想化の3つの種類

  • ホストOS型仮想化
  • ハイパーバイザー型仮想化
  • コンテナ型仮想化

2. 「ホストOS型仮想化」と「ハイパーバイザー型仮想化」の違い

主な違いは 「ホストOS」の有無です。

種類 概要 メリット デメリット
ホストOS型仮想化 ホストOS上で仮想サーバーを動作 導入コストが低い、操作がわかりやすい ホストOSが間にあるため性能は低め
ハイパーバイザー型仮想化 ハイパーバイザー型仮想化ソフトウェア上で仮想サーバーを動作 オーバーヘッドが少なく高速、拡張性・安定性が高い 導入・運用コストが高い、知識が必要

3. 現在の主流:コンテナ型仮想化

  • コンテナ型仮想化
    「コンテナ」と「実行環境」をまとめて隔離し、アプリケーション単位で仮想化する技術です。

「ホストOS型」「ハイパーバイザー型」「コンテナ型」の違い

種類 概要 カーネルの扱い
ホストOS型 仮想サーバの中に仮想マシンやゲストOSをインストール ゲストOSごとにカーネルを共有
ハイパーバイザー型 仮想サーバの中に仮想マシンやゲストOSをインストール ゲストOSごとにカーネルを共有
コンテナ型 コンテナを作成し、アプリケーションを導入 ホストOSのカーネルを共有

⚠️ 注意点

Docker等で同一の環境構築をした場合でも、カーネルのバージョンや機能によって、コンテナ内のアプリの挙動が変わる可能性があります

4. クラウドのサーバー仮想化 (代表的なサービス)

  • Amazon EC2 (AWS)
  • Google Compute Engine (GCP)
  • Virtual Machines (Azure)

5. ネットワーク仮想化

物理構成とは異なる論理的なネットワーク構成を表現する技術です。

ネットワーク仮想化の技術(詳細は別途まとめ予定)

  • VLAN
  • オーバーレイネットワーク
  • VPN
  • SDN
  • OpenFlow
  • NFV
  • SD-WAN

4.コンテナ技術の基礎知識

1. コンテナ技術のポイント

  • 「仮想マシン」や「ゲストOS」を必要としないため、手軽に仮想サーバーを構築できる
  • 「ファイルシステム」が独立しており、ホストOS内にインストールした他アプリやファイルの影響を受けない
  • 可能な限り、データはコンテナに含めない(永続化は外部ストレージやDBを利用するのが基本)

2. DevOpsとコンテナ技術

  • DevOps:開発者(Dev)と運用者(Ops)が協力してサービスを提供する手法
  • コンテナは可搬性(ポータビリティ)が高く、開発と運用のスムーズな連携を実現

DevOpsの主なプロセス

DEV(開発者側) OPS(運用者側)
計画(Plan) リリース(Release)
実装 (Code) デプロイ (Deploy)
ビルド (Build) 運用 (Operate)
テスト (Test) 監視 (Monitor)

3. マイクロサービス

  • マイクロサービス:複数の小さなサービスを組み合わせて大きなサービスを提供する設計手法
  • コンテナ技術は複数のコンテナを連携させて1つの大きなサービスを構築できるため、マイクロサービスとの相性が非常に良い
  • 大規模なマイクロサービスでは コンテナオーケストレーションツール(例:Kubernetes) が必要になる

💬 コメント:
「Kubernetes」の発音は人によって異なります。
自分は「クーバネイティス」と読んでいましたが、「クバネティス」「クバネテス」「クーベネティス」など諸説あるそうです。

4. コンテナとサーバーレスの比較

サーバーレスの特徴

  • 主にクラウドで提供されるサービス
  • 最小単位は Function(機能)
  • リクエストがあるときだけ起動し、処理が終わると終了する
  • サーバーは事業者が管理しており、開発者が意識する必要はない(ただしサーバーは存在している)

コンテナとサーバーレスの違い

技術 単位 特徴
コンテナ アプリケーション 自由度・可搬性が高い
サーバーレス Function(機能) サーバー管理不要、未使用時のコストが発生しない

まとめ

今回の書籍で特に重要だと感じたのは、
4章「コンテナ型仮想化ソフトウェア Docker」
5章「コンテナオーケストレーションツール Kubernetes」 です。

この2章だけを読んでも理解は可能ですが、前提知識として

  • 本記事で扱った 1〜3章の内容
  • コンピュータ / ネットワーク / クラウドの基礎知識

を押さえておくと、よりスムーズに理解できます。

なお、今回詳細を扱わなかった 「ネットワーク仮想化の技術」 や、4章・5章の内容については、別記事で改めてまとめる予定です。興味のある方はぜひそちらもチェックしてみてください!

株式会社シンシア

株式会社xincereでは、実務未経験のエンジニアの方や学生エンジニアインターンを採用し一緒に働いています。
※ シンシアにおける働き方の様子はこちら

シンシアでは、年間100人程度の実務未経験の方が応募し技術面接を受けます。
その経験を通し、実務未経験者の方にぜひ身につけて欲しい技術力(文法)をここでは紹介していきます。

12
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?