Amazonはマイクロソフトを説得し、マネージドWindowsコンテナのサポートをEC2 Container ServiceのAWSに対して提供することなった。Azureでの提供に先立つものであり、いくつかの警告を含むベータサービスとしての提供となる。AmazonはCloudFormationテンプレートを提供する。それによって、WindowsベースのEC2コンテナクラスタを作成でき、数回のクリックで始めることができる。Jeff Bar氏は自身のブログで、このサービスは、"我々が本機能を本番運用に先立って仕上げている一方で、利用者がWindowsアプリケーションをコンテナ化してテストする"準備が整っていることを述べている。
DockerのサポートはWindows Server 2016で利用可能であり、それはオペレーティングシステムが2016年9月にリリースされてから続いている。コンテナを実行するには、Windowsの機能を有効にし、Dockerランタイムをダウンロードし、MicrosoftのWindows Server CoreベースのイメージまたはNano Serverイメージを使用する必要がある。AWSは既に設定済みのDockerにWindows Serverマシンイメージを構築した。これはCloudFormationテンプレートがEC2で仮想マシンを作成するために使用する。Amazonは、コンテナ化されたWindowsワークロードをLinuxワークロードとは別のクラスタで実行することを推奨しているが、クラスタ内ではDocker HubまたはEC2 Container Registryからのイメージを使用できる。
Windowsホストのユーザ体験は、既存のLinuxベースのプラットフォームと同じである。コンテナホストはEC2仮想マシンとして動作し、AWSタスク定義を使用してコンテナを立ち上げる。全てのタスク機能がWindowsのタスク定義で使用できるわけではなく、一部のサポートされている機能が動作不明としてリスト化されている。欠落している機能の多くはネットワーキングスタックにあり、コンテナとカスタムDNS設定間のリンクはサポートされていない。
それらの欠落した機能と、Windowsがオーバーレイネットワークをサポートしていないことは、現時点でAWSのWindowsコンテナでできることを制限している。オーバーレイネットワークがないと異なるホスト上で実行されているコンテナ間の通信ができないため、同一のEC2インスタンス上で全てがホストされていない限り、Webアプリケーションコンテナがメッセージキューコンテナにpublishできないし、データベースコンテナにデータを保存できない。その制限はWindowsアップデートで対処されるが、そのリリースの公開スケジュールはない。それまでは、ステートレスアーキテクチャのサービスが適する。つまり、アプリケーションのコンポーネントがコンテナ内で実行され、通信のためのSimple Queue Serviceや、ストレージのためのRelational Database Serviceなどのプラットフォームのパーツを使用するサービスである。
オーバーレイネットワークが使えるようになると、同じDocker Swarm内の異なるオペレーティングシステムからホストを実行できるようになる。そのため、クラスタを別々に保つためのECSのアドバイスが変わる可能性がある。LinuxとWindows Dockerエンジンを同じクラスタで実行することで、あらゆるスタックの中から最高のテクノロジを使用して、プラットフォーム間をつなぐハイブリッドソリューションを実行できる。分散ソリューションではLinux上でNginxコンテナを使用することができ、Windowsコンテナ上で実行されるASP.NETアプリケーションのプロキシとして動作させられる。それでも、すべてのコンポーネントに対して同じECSインフラストラクチャと管理インターフェイスを利用できる。
マネージドWindowsコンテナサポートはAzure Container ServiceやGoogle Container Engineではまだ利用できないが、これらのクラウドではIaaSオプションを利用できる。Microsoftは、Dockerで事前設定されたWindows Server 2016 VMを実行するためのARMテンプレートを提供する。また、VMにダウンロード済みのWindows Server Dockerイメージも提供する。Google Compute Engineでは、VM上で動作するWindowsコンテナをサポートしている。しかし、カスタムマシンイメージでないため、手動でWindows上にDockerを設定する必要がある。
WindowsでのDockerのサポートは、コンテナオーケストレーションプラットフォームにも提供され始めている。Kubernetes 1.5はアルファ機能としてWindowsをサポートしており、DC/OSではWindowsのサポートが間もなく開始されると述べている。DockerとMicrosoftの商用パートナーシップにより、間もなくDocker DatacenterのWindows版も登場するかもしれない。ユーザには、オンプレミスまたはクラウド内のコンテナを管理するために選択できる、包括的な製品が提供されるであろう。
Rate this Article
- Editor Review
- Chief Editor Action