2018年11月06日 08時00分 公開
特集/連載

Dockerとネットワーク(前編)基礎から分かるコンテナのネットワーク接続性

Dockerでコンテナを作成するのは容易だが、それらがマイクロサービスとして機能するためには、さまざまな要素を考慮したネットワーク接続性が不可欠だ。基本的なところから復習しよう。

[Daniel Robinson,Computer Weekly]

 企業アプリの開発は、従来型のウオーターフォールモデルからよりアジャイルなアプローチである「DevOps」に変わりつつある。そのDevOpsと密接に関連する重要な技術がコンテナだ。少なくともDockerのコンテナが重要な役割を果たしているのは確かだ。

Computer Weekly日本語版 10月17日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 10月17日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 コンテナはサンドボックス実行環境で、コンテナそれぞれに独自のリソース制限がある。アプリケーションを個々のコンポーネントに分解すれば、導入と保守も別個に行うことが可能になる。さらに、状況に応じて個別にスケールアップすることもできる。こうしたアプローチをマイクロサービスという。

ネットワーク接続性

 ただしマイクロサービスアーキテクチャの成功の鍵を主に握るのは、各コンポーネントが相互に通信する方法と、データベースやストレージサービスなどの共有リソースと通信する方法だ。DevOpsアプローチでは、コンテナとそのワークロードが連続的に実行され、その上廃棄後も何らかの時点で実行される場合がある。そのため各コンテナがネットワーク接続性を備えることが大きな課題になる。

 コンテナは、物理サーバのクラスタで実行される仮想マシン(VM)のインスタンスでホストされる可能性がある。どのホストも独自にネットワークに接続でき、そのネットワーク接続をホスト内の各コンテナにマッピングできなければならない。これは、コンテナの無数のインスタンスをロックダウンするために、IPアドレスの割り当てとセキュリティポリシーの適用を実行することを意味する。

 Dockerは自社のコンテナプラットフォームに

  • Bridge
  • Host
  • Container
  • ネットワークなし

の4つのネットワークサポートモードを用意した。

 デフォルトモードのBridgeは仮想ネットワークを作成して、ホスト内の全てのコンテナとホストの外部ネットワークポートをリンクする。Hostモードはコンテナをホストのネットワークスタックにリンクして、ホスト内の全ネットワークインタフェースからコンテナにアクセスできるようにする。

ITmedia マーケティング新着記事

news113.jpg

新型コロナウイルス感染拡大に関する不安 「経済への打撃」が「多くの死者が出ること」を上回る
McCann Worldgroupが世界14カ国で実施した意識調査の結果、政府の対応体制が「整っている...

news145.jpg

「70歳までの就労意識」をテーマとした調査を実施――富国生命調査
長期的に働く上でのリスクトップ3は「病気」「就業不能状態」「入院」。