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

news033.jpg

広告運用の自動化 できることとできないこと
日本の広告運用の現場にも自動化がようやく浸透し始めています。とはいえ、全てが自動化...

news069.jpg

デジタル広告の効果測定、7割の広告主が「Cookieだけでは足りない」――サイカ調査
クッキーだけでは足りないといっても、子どものおやつへの不満ではありません。もっとず...

news099.jpg

サイバー・バズ、YouTube企業公式チャンネルの運用代行サービスを開始
サイバー・バズは、YouTube企業公式チャンネルの運用代行サービスを開始した。