CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
第5回目はネットワークの仮想化について見ていきたいと思います。
みなさんは仮想化システムを設計する上で一番難しいものはなんだと思いますか?
サーバなどのプラットフォームでしょうか、それともストレージでしょうか。実は、一番難しいと言われているのがネットワークの設計です。ストレージなどは難しいように思われますが、サーバからストレージが見えればあとは使用率さえしっかりと管理しておけばそれほど大変ではありません。サーバについても、CPUとメモリがある程度余裕がある設計であればいいのでそれほど難しくはありません。
しかし、複数のサーバやアプリケーションを仮想サーバ上で動作させるためには、それに応じたネットワークを設計する必要があります。単体のサーバでもネットワーク設計は比較的、難度が高いと思いますが、仮想化されると更に難度が上がってきます。
実際に仮想化サーバ上でネットワークを構築するには、どのような技術を利用することができるのでしょうか。仮想化サーバ上でネットワークを構築するには、Virtual LAN(以下、VLAN)の技術を利用します。VLANを利用することにより複数のセグメントを構築することができます。アプリケーション毎に必要なセグメントにVLANを割り当てて利用することになります。VLANには、IDを割り当てますが、実は利用できるVLAN IDは規格上12ビットなので4094個しかありません。つまり、VLANは4096個までしか作ることができないことになります。このあたりの制限をよく理解した上で、VLANの設計を行う必要があります。また、VLANはレイヤ2(データリンク層)のみの通信となりますので、ブロードキャストドメインをまたがるデータセンター間での分散処理は行うことができません。
現在のVLANの問題を解消するためにVXLANは考案されました。「VXLAN Network Identifier(VNI)」と呼ばれる24ビットのVXLAN IDを活用(このため理論的には約1677万のセグメントを管理可能)して、レイヤ2の通信をレイヤ3(ネットワーク層)でトンネリングすることで、ブロードキャストドメインを延長することができます。普及はこれからだと考えられますが、VLAN IDの制限を解決するだけではなく、ブロードキャストドメインをまたがるデータセンター間での相互接続も実現することが可能です。
私の会社のシステムにはルータがありません。正確に言うと物理ルータがないということになります。以前は、バッファロの簡易ルータを設置してフレッツ光に接続していましたが、現在はバッファロの簡易ルータは撤去しています。そのかわり、仮想ルータ兼Firewall(Endian Firewall)を利用してフレッツ光に接続しています(注:本構成はNTT東日本がサポートする構成ではありません)。構成は以下のとおりです。VLANを活用してL2スイッチとサーバだけの構成にしました。これで電気代が少し節約できます。
アプリケーションの要件などに依存すると思いますが、VLANをうまく活用すれば物理的なネットワーク機器は、L2スイッチだけで事が足りる構成を作ることも可能です。ルータ、Firewall、ロードバランサーなどのレイヤ2以上の処理については、すべて仮想サーバ上で行うように設計すればいいのではないでしょうか。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes