Azureのパブリックイメージとして、2019年11月からWindows Server半期チャネル(SAC)の最新バージョン「[smalldisk]Windows Server, version 1909 with Containers」のイメージが利用可能になっています。しかし、2019年12月末時点でAzure Marketplaceにはこのイメージは表示されません。そこで、JSONテンプレートからデプロイする方法でこのイメージからAzure仮想マシンを作成する方法を紹介します。本稿が公開されるころにはAzure Marketplaceでも利用可能になっているかもしれませんが、次期バージョン「Windows Server, version 2004」(通称、20H1)がリリースされた際の参考になるでしょう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
2019年12月末日時点のAzure Marketplaceでは、Windows Server半期チャネル(SAC)のパブリックイメージとして、「Docker Enterprise for Windows Server」が定義済みとなっている以下の3バージョンが利用可能です。
なお、Windows Server, version 1803は、2019年11月に18カ月のサポートが終了した扱いですが、少なくとも12月の更新イメージ(ビルド17134.1184)は提供されました。
2019年11月にリリースされたWindows Server, version 1909ベースのものは、2019年12月末時点では利用可能になっていませんが、パブリックイメージはリリース直後から利用可能です。
Azure PowerShell(Azure Cloud Shellからはすぐに実行可能)で以下のコマンドラインを実行すると、SKU名「datacenter-core-1909-with-containers-smalldisk」として利用可能なイメージを確認できます(画面1)。
Get-AzureRMVMImage -Location "japaneast" -Publisher "MicrosoftWindowsServer" -Offer "WindowsServer" -Sku "datacenter-core-1909-with-containers-smalldisk"
ちなみに、Windows Server, version 1809や1903ベースのSKU名は「datacenter-core-1809-with-containers-smalldisk」や「datacenter-core-1903-with-containers-smalldisk」です。
利用可能なWindows ServerのAzureパブリックイメージの情報については、以下のサポート情報でも確認できます。
これらのパブリックイメージは、30GBのOSディスクに、Windows Server SACバージョン、Hyper-Vの役割、Containersの機能、Docker Enterprise 3.0のソフトウェアがセットアップ済みの環境であり、Windows Server SACベースのDockerサーバをAzure上に簡単に展開できるようにしたものです。
Windows Server, version 1909は、Dockerのサポートに関して、重要な新機能が追加されています。詳しくは、本連載の前回(第94回)の記事を参考にしてください。
Azure Marketplaceで「[smaldisk]Windows Server, version 1909 with Containers」が利用可能になるまでは、カスタムテンプレート(json)を作成し、テンプレートからデプロイすることで、同等のAzure仮想マシンを作成できます。
SKU名「datacenter-core-1909-with-containers-smalldisk」のパブリックイメージをデプロイするためのカスタムテンプレートを作成する最も簡単で確実な方法は、Azure PortalでAzure Marketplaceの「[smalldisk]Windows Server, version 1903 with Containers」イメージから仮想マシンをデプロイ用に構成し、最後にテンプレートをダウンロードして、それを修正する方法です(この仮想マシンはデプロイしません)。
仮想マシンをデプロイ用に構成する際は、次の2点に留意してください。
まず、「Hyper-V分離モード」をサポートするためには、「Hyper-Vの役割」が必須になります。そのため、仮想マシンのサイズとしては、Hyper-Vに対応した「入れ子構造の仮想化」(Nested Virtualization)をサポートするものを選択してください。例えば、全てのv3シリーズ(DSv3など)のサイズは、入れ子構造の仮想化に対応しています(画面2)。
入れ子構造の仮想化に対応したシリーズは、以下のページで確認できます(***が付いているもの)。
Windows Serverイメージは通常、127GBのOSディスクで構築されています。しかし、[smalldisk]のイメージはOSディスクが30GBしかありません。Windows版Docker Enterpriseでは、Dockerのアプリケーションデータ(コンテナイメージやコンテナ)の保存に既定で「C:\ProgramData\docker」ディレクトリを使用します。
Nano Serverのイメージは数百MB程度ですが、Windows Server CoreのイメージはベースOSだけで数GBになります。数GBのイメージやコンテナが多数になると、C:ドライブはあっという間に空き領域不足に陥ってしまうでしょう。
そこで、仮想マシンをデプロイする際、あるいはデプロイ後には、仮想マシンにデータディスクを追加して、Dockerのアプリケーションデータの場所(Dockerルートディレクトリ)を変更しましょう(画面3)。Dockerのアプリケーションデータの場所の変更方法については後で説明します。
「[smalldisk]Windows Server, version 1903 with Containers」イメージをデプロイ用に構成し、検証が完了したら、「作成」ボタンはクリックせずに、「Automationのテンプレートをダウンロードする」リンクをクリックし、「テンプレート」ページの「ダウンロード」ボタンをクリックして、「template.zip」をダウンロードします(画面4、画面5)。
ダウンロードが完了したら、「仮想マシンの作成」ウィザードは「×」ボタンをクリックしてキャンセルします。
「template.zip」を展開すると、「template.json」と「parameters.json」の2つのファイルを入手できます。「template.json」をテキストエディタで開いて、SKU名「datacenter-core-1903-with-containers-smalldisk」を「datacenter-core-1909-with-containers-smalldisk」に修正すれば、「[smalldisk]Windows Server, version 1909 with Containers」相当の構成済みテンプレートの完成です。
しかし今回は、Azureポータルにアップロードしてから、ポータル上で修正してWindows Server, version 1909の仮想マシンをデプロイしてみます。
Copyright © ITmedia, Inc. All Rights Reserved.