Windows Server, version 1909 with ContainersをJSONテンプレートからデプロイする方法Microsoft Azure最新機能フォローアップ(95)

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)がリリースされた際の参考になるでしょう。

» 2020年01月08日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

Windows Server, version 1909のAzure仮想マシンのデプロイ方法

 2019年12月末日時点のAzure Marketplaceでは、Windows Server半期チャネル(SAC)のパブリックイメージとして、「Docker Enterprise for Windows Server」が定義済みとなっている以下の3バージョンが利用可能です。

  • [smalldisk]Windows Server, version 1803 with Containers
  • [smalldisk]Windows Server, version 1809 with Containers
  • [smalldisk]Windows Server, version 1903 with Containers

 なお、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"
画面1 画面1 2019年12月末時点でAzure Marketplaceに「[smalldisk]Windows Server, version 1909 with Containers」は存在しないが、使用するパブリックイメージのSKU名「datacenter-core-1909-with-containers-smalldisk」は2019年11月から利用可能

 ちなみに、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仮想マシンを作成できます。

1つ前のバージョンのイメージを利用してカスタムテンプレートを作成する

 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)。

画面2 画面2 Docker Enterprise for Windows Serverの全ての機能を利用するには、入れ子構造の仮想化をサポートするシリーズのサイズを選択する

 入れ子構造の仮想化に対応したシリーズは、以下のページで確認できます(***が付いているもの)。

 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のアプリケーションデータの場所の変更方法については後で説明します。

画面3 画面3 Dockerイメージおよびコンテナのデータ格納用にデータディスクを追加しておく

 「[smalldisk]Windows Server, version 1903 with Containers」イメージをデプロイ用に構成し、検証が完了したら、「作成」ボタンはクリックせずに、「Automationのテンプレートをダウンロードする」リンクをクリックし、「テンプレート」ページの「ダウンロード」ボタンをクリックして、「template.zip」をダウンロードします(画面4画面5)。

画面4 画面4 「作成」ボタンはクリックせずに、「Automationのテンプレートをダウンロードする」リンクをクリックする
画面5 画面5 テンプレートとパラメーターを含む「template.zip」をダウンロードする

 ダウンロードが完了したら、「仮想マシンの作成」ウィザードは「×」ボタンをクリックしてキャンセルします。

 「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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。