第28回 Docker Networkingの基礎知識 ソフトウェア定義型時代の到来:古賀政純の「攻めのITのためのDocker塾」(3/3 ページ)
今回からDocker環境のネットワーキングに迫ります。ネットワーキングと聞くと、とても難解なイメージがあるかもしれませんが要素技術は非常に重要です。従来の物理システムと異なる点もあるDockerのネットワーキングについて、まずは基本を解説します。
ネットワーキングはハードウェア定義型からソフトウェア定義型へ
2000年代中盤からのハイパーバイザ型の仮想化ソフトウェアの普及により、ネットワーク設定は非常に柔軟性の高いものに変化しました。具体的には、仮想化ソフトウェア上で作成した仮想マシンに対して、物理サーバに搭載されたNICポートとは独立した複数の仮想的なLANセグメントを作成したり、クラウド基盤ソフトウェアのOpenStack上では、異なるネットワークセグメントや仮想ルータからなる「ソフトウェア定義型ネットワーク」をユーザーがセルフサービスポータル画面から作成できるようになったりと、物理的なネットワーク機器の制限に縛られないネットワーク構成が求められるようになりました。
物理的なNICやネットワークスイッチがなくなるわけでは決してありませんが、ネットワークを取り巻く環境は、制御するレイヤがハードウェア定義型からソフトウェア定義型へと変わってきています。特に、近年導入が進むOpenStackなどのIaaSのクラウド基盤では、従来の固定的な仮想化基盤に比べ、ソフトウェア定義型ネットワーキングと情報セキュリティに関する深い知識が問われるようになってきています。
ハードウェア定義型ネットワーキングからソフトウェア定義型ネットワーキングへ。IaaS基盤ソフトウェアで有名なOpenStackでは、セルフサービスポータル画面から、仮想的なパブリックLANやプライベートLAN、さらに仮想ルータなどから構成されるソフトウェア定義型ネットワークを作成する
Dockerにおけるネットワーキング
仮想化ソフトウェアやクラウド基盤では、仮想ブリッジ、仮想ルータ、さらに物理NICのポートが所属するネットワークセグメントとは別に定義したユーザー用の仮想的なネットワークセグメントなどを適切に管理できなければなりません。
Dockerにおいても、仮想化ソフトウェアやクラウド基盤ソフトウェアと同様に、ソフトウェア定義型のネットワーキングを理解しなければなりません。例えば、単一の物理サーバ上で稼働するDockerコンテナ同士の通信や、別々の物理ホストで稼働するDockerコンテナ同士の通信を実現する「Swarm」(スウォーム)と呼ばれるDocker特有のクラスタの構築、さらには、同一LANセグメントに所属する複数のホストOS環境において、ホストOSとDockerコンテナを同一LANセグメントに所属させることで、異なるホストOS上で稼働するDockerコンテナ同士の通信を可能にする「ホストOSのブリッジインタフェースを利用した接続」など、コンテナ同士あるいはコンテナと外部システムが通信を行うための様々な仕組みが存在します。
またDocker環境では、OpenStackで採用されている仮想スイッチを実現するソフトウェアなどを駆使することで、柔軟性の高いネットワーク構成を作成することもできます。
Dockerにおけるネットワーキング。1台の物理サーバ上で稼働するDockerコンテナの通信以外にも、「Swarm」と呼ばれるDockerホストを束ねてクラスタ化するソフトウェアや、ホストOSとコンテナを同一LANセグメントに所属させるブリッジ接続による通信などがある
次回はDocker環境で最低限知っておくべき基本的なネットワーク設定に関する操作例を紹介します。
古賀政純(こが・まさずみ)
日本ヒューレット・パッカード株式会社 オープンソース・Linuxテクノロジーエバンジェリスト。兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレット・パッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当。日本ヒューレット・パッカードが認定するオープンソース・Linux テクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っている。Red Hat Certified Virtualization Administrator, Novell Certified Linux Professional, Red Hat Certified System Administrator in Red Hat OpenStack, Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「OpenStack 実践ガイド」「Docker 実践ガイド」「CentOS 7実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。古賀氏の最新記事が読めるブログはこちら。
関連記事
- 第23回 非Linux環境のDocker、プレステも採用する“あのOS”で動かす意味
実はLinuxではないOS環境でもDockerは動きます。でもWindowsではありません。今回はプレステにも搭載され、これからのIoT時代に主役になるかもしれない、あのOSでDockerを動かす理由を紹介します。 - 第20回 Dockerで3Dゲームを動かす――準備編
非常に深い関係にあるゲームとコンピュータ。今回からDockerの環境で3Dゲームを稼働させる方法についてご紹介していきます。まずはその目的や方法、必要な環境などについてみていきましょう。 - 第25回 32ビット環境に迫る「2038年問題」 時計がおかしくなると……
いまだ数多くのシステムで32ビットのOSやアプリケーションが使われていますが、実は深刻な影響が懸念される「2038年問題」を抱えています。将来どのような影響が出るのかについて、今回から「Docker」による検証を先取りしていきます。 - 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
Copyright © ITmedia, Inc. All Rights Reserved.