まず考え方を理解し、次のアクティビティで確認しましょう。
仮想マシン、コンテナ、そしてVRF
「複数のものが1つのものを共有する」3つの形と、それぞれが実際に何を分離しているのかを学びます。
できるようになること
- 仮想マシンとコンテナを、それぞれが何を含むかで区別する
- ハイパーバイザーが何をし、仮想スイッチがどこに位置するかを説明する
- VRFが何を分離し、VLANとどう違うかを説明する
- 各分離形態がどのレイヤーで動作するかを述べる
この前に: 「ブロードキャストドメインとVLAN」からのVLANとブロードキャストドメイン、「ルーターが経路を選ぶ仕組み」からのルーティングテーブルの知識が必要です。
重要な理由: 出会うほぼすべてのサーバーは仮想であり、ほぼすべてのネットワーク機器は複数の論理ネットワークのトラフィックを運んでいます。両方の試験がこの語彙を問い、有用な整理の問い - 実際に何が隔てられているのか - は、何かが漏れたときにも重要になる問いです。
仮想化とは、複数の層に適用される1つの発想です。1つの物理的なものを、複数の独立したものであるかのように振る舞わせるのです。形態ごとに変わるのは境界線がどこに引かれるかであり、したがって何が本当に分離され、何がひそかに共有されているかです。
サーバー仮想化
ハイパーバイザーは各ゲストに仮想ハードウェアを提示し、それによって複数の完全なオペレーティングシステムが1台の物理マシン上で動作します。各ゲストは自分専用のプロセッサ、メモリ、ディスク、ネットワークカードを持っていると認識しており、互いの存在に気づいていません。
| タイプ | 動作する場所 | 典型的な用途 |
|---|---|---|
| タイプ1、ベアメタル | ハードウェア上に直接 | サーバー - ハイパーバイザーとマシンの間に何もない |
| タイプ2、ホスト型 | 通常のオペレーティングシステムの上 | デスクトップやラボ - 効率よりも利便性を重視 |
各ゲストは仮想ネットワークカードを持っているため、ホストにはそれらのカードを接続する何かが必要になります。それが仮想スイッチであり、物理スイッチと同じように振る舞います。MACアドレスを学習し、VLANを運び、物理ネットワークへトランクできます。
コンテナ
コンテナはハードウェアを仮想化するのではなく、ホストのカーネルを共有します。アプリケーションとその依存関係をパッケージ化し、その分離はエミュレートされたハードウェアからではなく、ファイルシステム、プロセス一覧、ネットワークについて独自の視点を与えるカーネル機能から生まれます。
| 性質 | 仮想マシン | コンテナ |
|---|---|---|
| オペレーティングシステムのカーネルを含む | はい、独自のもの | いいえ、ホストのものを共有 |
| 起動時間 | 数秒から数分 | 1秒未満 |
| サイズ | ギガバイト単位 | メガバイト単位 |
| 分離の強さ | より強い - 独立したカーネル | より弱い - 共有カーネルは共有された攻撃面でもある |
| 異なるOSカーネルを実行できるか | できる | できない |
どちらが総じて優れているということはありません。コンテナはオペレーティングシステムを省くために起動が速くコストも安く済み、仮想マシンはまさに同じ理由でより徹底した分離を実現します。どちらの取引を選ぶかは、ホストを共有するもの同士が互いを信頼しているかどうかによります。
このプラットフォームの正体
これまで皆さんが動かしてきたラボはコンテナです。各ノードは独自のネットワーク名前空間を持つプロセスであり、仮想インターフェースのペアで互いに接続されています。だからこそラボは数秒で起動するのであり、また、何もエミュレートされていないために、故障しうる物理層も、不一致になりうるデュプレックスも、設定すべき無線もないのです。
VRF
VLANは1台のスイッチを複数のブロードキャストドメインに分割します。VRF - 仮想ルーティング・フォワーディングインスタンス - は1つ上の層で同等のことを行います。1台のルーターを複数の独立したルーティングテーブルに分割するのです。
各VRFは独自のテーブル、独自のインターフェース、独自のルートを持ちます。ルートを漏出させるよう明示的に設定されていない限り、トラフィックがVRF間を移動することはありません。そのため、2つのVRFは1台のデバイス上で重複するアドレス空間を、衝突することなく運ぶことができます。
| 仕組み | 分割対象 | 層 | 2つが重複するアドレス範囲を共有できるか |
|---|---|---|---|
| VLAN | 1台のスイッチを複数のブロードキャストドメインに | 2 | できない - 分離されているのはドメインであり、テーブルではない |
| VRF | 1台のルーターを複数のルーティングテーブルに | 3 | できる |
| 仮想マシン | 1台の物理サーバーを複数の完全なマシンに | その下すべて | できる |
それでも共有されているもの
どの形態の仮想化にも何かしら共有されているものがあり、それが何かを知ることがここでの実践的なスキルです。
- 仮想マシンは物理ホストを共有する - そのメモリ帯域幅、ネットワークカード、そして障害も。
- コンテナはさらにカーネルを共有するため、カーネルレベルの侵害はコンテナによって封じ込められない。
- VRFはルーターを共有する - そのプロセッサ、そしてテーブルを分離しているコードにあるあらゆるバグも。
- 設定上はどれほど分離されて見えても、これらすべては外部への物理リンクを共有している。
だからこそ「これらは分離されている」という言葉には、その分離が何でできているのかという追加の問いが必要になります。論理的な分離は本物であり有用ですが、それは2台のデバイスの間にケーブルがまったくない状態とは同じではありません。
用語
- Hypervisor
- ゲストOSに仮想ハードウェアを提示するソフトウェア。タイプ1はハードウェア上で、タイプ2はホストOS上で動作する。
- Virtual switch
- ホスト内部のソフトウェアスイッチで、ゲストのネットワークインターフェース同士、および物理ネットワークとを接続する。
- Container
- ハードウェアを仮想化するのではなくホストのカーネルを共有する、隔離されたアプリケーション環境。
- VRF
- 仮想ルーティング・フォワーディング - 共有ルーター上の独立したルーティングテーブルで、重複するアドレス空間を許容する。
重要なポイント
- 仮想マシンは自分専用のカーネルを持ち込み、コンテナはホストのカーネルを共有する。
- コンテナは起動が速く分離が弱いが、その理由はどちらも同じである。
- 1つの仮想スイッチ上にあるゲスト間のトラフィックは、物理ネットワークに一度も触れないことがある。
- VLANがスイッチをブロードキャストドメインに分割するように、VRFはルーターを独立したルーティングテーブルに分割する。
- 2つのVRFは重複するアドレス空間を運べるが、1台のスイッチ上の2つのVLANはそれができない。
- どの形態の仮想化にも何かしら共有されているものがある - 分離されていると呼ぶ前に、それが何かを問うこと。
続ける準備はできましたか?
無料アカウントを作成すると、進捗を保存して理解度チェックを受けられます。
