Windows Server 2016の新機能であるコンテナ管理技術「Containers」および「Windowsコンテナ」は、まだまだ不明な部分が多いです。ですが、Windows ServerコンテナでSQL Serverを動かせるという情報を得たので実際に確認したことをご紹介します。
Windows Server 2016に搭載されるDocker管理互換のコンテナ管理技術「Containers」と、Containersで作成、実行できる「Windows Serverコンテナ」「Hyper-Vコンテナ」、この2種類の「Windowsコンテナ」について、本連載でも複数回に分けて説明してきました。
Windows Server 2016 Technical Preview 3(TP3)でWindows Serverコンテナが実装され、Windows Server 2016 Technical Preview 4(TP4)でHyper-Vコンテナが実装されたことで、Windows Serve 2016 TP4では両方のWindowsコンテナを評価できるようになっています。
「Docker」に代表されるコンテナ技術は、特にクラウドにおけるアプリケーションの開発やデプロイにとって、ハイパーバイザーベースの従来の仮想化テクノロジーに続く“次のキーテクノロジー”といわれています。ですので、Windows Server 2016が正式リリースされるまでに、ContainersやWindowsコンテナ(Windows Serverコンテナ、Hyper-Vコンテナ)、Dockerの理解を深めておくことをお勧めします。
とはいえ、ContainersやWindowsコンテナは、これまでのWindows Serverには存在しなかった全く新しいテクノロジーであり、まだ開発中ということもあって、不明な部分が多いのも事実です。現時点のWindowsコンテナで実際に何ができるのか、Windowsコンテナにすることで何がうれしいのか、釈然としない部分も多いでしょう。
本連載ではこれまで、Windows ServerコンテナやHyper-Vコンテナに「IIS Webサーバの役割」をデプロイして、Webサーバを簡単に立ち上げられることを説明しました。今回は、Windows Serverコンテナ上でSQL Serverを動かすことに挑戦してみたいと思います。
マイクロソフトは先日、SQL Server 2016をベースとした「Linux版SQL Server(SQL Server on Linux)」を提供する計画を発表しました。プレビューに申し込むと、SQL Server on Linuxの早期プレビュー版がDockerイメージとして提供されるそうです。
「Docker」「SQL Server」というキーワードが今回の内容と重なっていますが、今回はSQL Server on Linuxとは全く関係がないことを先に断っておきます。今回のテーマは「SQL Server on Linux」ではなく、「SQL Server on Windows Serverコンテナ」です。
ちなみに、SQL Server on LinuxのDockerイメージをWindows Server 2016 TP4のContainersで動作させることは不可能です。提供されるDockerイメージは、Linux(Ubuntu)イメージにSQL Server for Linuxを組み込んだものであり、Linuxベースのコンテナホストでなければ動作しませんのでご注意を。
コンテナがコンテナホストとカーネルを共有していることは、これまでも説明してきました。Linuxベースのコンテナは、Windows Serverベースのコンテナホストで動作しません。逆に、WindowsコンテナもLinuxベースのコンテナホストでは動作しません。WindowsコンテナでSQL Serverを動かすのであれば、Windows版のSQL ServerをWindowsコンテナに組み込むのが現時点で唯一の方法のはずです。
Copyright © ITmedia, Inc. All Rights Reserved.