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

news079.jpg

ブランドにとってのTwitterの価値は「オーディエンス」 『カメ止め』女優や経沢香保子氏らが語る
映画『カメラを止めるな!』に出演した女優しゅはまはるみ氏、アーティスト和田永氏、キ...

news044.jpg

世界の顧客満足度は下降傾向に――Zendesk調査
Zendeskの「カスタマーエクスペリエンス傾向分析レポート2019年版」より。

news008.jpg

ツイートから見る訪日外国人の高評価観光スポット――東京海上日動火災保険とNTTデータ調査
ソーシャルビッグデータを活用した全国インバウンド観光調査の結果です。