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 マーケティング新着記事

news098.jpg

なぜサブスクリプションは失敗するのか?(無料eBook)
「ITmedia マーケティング」では、気になるマーケティングトレンドをeBookにまとめて不定...

Yahoo!広告がLINE広告と連携 「LINE NEWS」面への配信を開始
ヤフーとLINENが広告事業で初めての連携。

news019.jpg

人はなぜFacebookを離脱したくなるのか? プライバシー懸念を上回る理由
さまざまな懸念もよそに拡大する巨大SNS。一方でそこからログアウトする人々は何を思うの...