Share via


Nano Server の IIS の概要

David So

互換性

バージョン メモ
IIS 10.0 この記事で説明する機能は、IIS 10.0 で導入されました
IIS 8.5 以前 この記事で説明されている機能は、IIS 10.0 より前ではサポートされていませんでした

Nano Server

Nano Server は、Windows Server 2016 における画期的な新しいインストール オプションです。

Nano Server の概要をわかりやすく説明している Nano Server の概要ガイドの引用を次に示します。

"Nano Server は、プライベート クラウドとデータセンター向けに最適化されたリモート管理のサーバー オペレーティング システムです。 Nano Server は Server Core モードの Windows Server に似ていますが、サイズが大幅に小さく、ローカル ログオン機能がありません。さらに、64 ビットのアプリケーション、ツール、およびエージェントのみがサポートされます。 Windows Server と比べて Nano Server の場合は、使用されるディスク領域がかなり小さくなり、セットアップが大幅に速くなり、必要とされる更新と再起動の回数がずっと少なくなります。 再起動も非常に高速化されています。"

そのため、Nano のディスク上の占有領域が大幅に縮小されます。 意思決定。 再起動の回数が少なくなります。 使用メモリが少なくなります。 きっと気に入っていただけます。 :)

Nano Server の IIS

Windows Server 2016 のリリースから、すべてのユーザーにお試しいただけるように、IIS が Nano Server のロールとして利用できるようになりました。メモリが少なくてすみ、ディスク占有領域も大幅に縮小されているため、特に Web ワークロードは Nano Server での実行 (とりわけ高密度ホスティングの場合) に適しています。

作業の開始

  • Nano Server の概要の手順から始めます

  • IIS Nano のドキュメントは https://technet.microsoft.com/library/mt627783.aspx にあります

    • また、[Getting started with Nano Server] (Nano Server の概要) の左側にあるツリー メニューからもそこにアクセスできます
  • Nano に IIS をインストールする方法の詳細については、上記のリンクを参照してください。

ただし、基本的に、Nano Server vhd(x) の最も一般的な作成方法は、New-NanoServerImage コマンドレットを使用することです。

IIS を有効にする場合、単に、Microsoft-NanoServer-IIS-Package を引数として Packages パラメーターに渡します。 例:

New-NanoServerImage -MediaPath f:\ -BasePath .\Base -TargetPath .\Nano1.vhd -GuestDrivers -Packages Microsoft-NanoServer-IIS-Package

Nano および通常のサーバーの IIS の主な相違点

インストール

オンラインとオフラインの両方のインストールをサポートするために、Nano 用の IIS で多くの変更が行われています。 "オンライン" は、マシンが "実行中" のとき (ネットワーク接続に関する意味でのオンラインではありません) を意味し、"オフライン" は、マシンが実行中でないときを意味します。

従来、および通常のサーバーでは、IIS はオンライン (実行中のマシン) でのみインストールできます。 IIS を備えたマシンを準備するときは、通常、次のような手順に従います。

  1. OS をインストールする
  2. インストールが完了するまで待つ
  3. IIS ロールを有効にする
  4. IIS ロールが完了するまで待つ
  5. 設定 (認証設定、モジュール、Asp.Net など) を構成する

Nano Server を使用すると、セットアップをオフラインでプロビジョニングできるため、上記の手順 1 から 4 が大幅に簡素化および高速化されます。

New-NanoServerImage を使用して Microsoft-NanoServer-IIS-Package を含めて vhd(x) を作成する場合、既定での IIS の正常なインストールを構成します

  • インストールされている IIS サービス (WAS、W3SVC など)

  • 既定のドキュメント、静的コンテンツ、HTTP ログなど、有効になっている既定の IIS サブ機能セット。

    • サブ機能が既定で有効になっているチャートを参照してください。
  • 既定の 80/443 ポートで有効になっているファイアウォール規則

IIS が既に組み込まれた生成済み vhd(x) イメージを使用すると、新しい Web サーバー マシンのプロビジョニングが大幅に高速化されます。 事務所のデスクトップ コンピューターで、新しい VM の作成、オフラインでの特殊化、起動、Web 要求の処理をすべて約 25 秒で行うことができました。 Server Core で同じ作業を実行しようとすると、その何倍もの時間がかかります。

構成

認証やログなどの IIS サブ機能の構成は、現在もオンラインのみの手順です (通常のサーバーと同じ)。

通常のサーバーでは、IIS サブ機能は dism /online /enable-feature /all /featurename:IIS-WindowsAuthentication などの DISM コマンドを使用して有効または無効にすることができます。

Windows Server 2016 テクニカル プレビューでは、DISM を使用して IIS サブ機能を構成できず、さらに多くの作業が必要でした (そのため、テクニカル プレビュー...)これがまさに、改善が検討されている領域です。

現時点では、PowerShell コマンドを使用して該当するモジュールを有効または無効にするか、applicationHost.config を編集できます。詳細については、IIS Nano のドキュメントを参照してください。

そこにあるチャートには、最新のテクニカル プレビュー時点で Nano において使用できる IIS サブ機能も示されています。 * は既定で有効になっているものを示しています (* のないものも引き続き使用できますが、有効にする必要があります)。

サポートされるフレームワーク

ASP.NET Core

Nano と通常のサーバーの最も顕著な違いは、Nano が Asp.Net Core (旧称 Asp.Net 5) を対象にしていることです。 クラシック Asp は Nano では実行されず、Asp.Net <=4 などの .Net Framework アプリケーションも完全には実行されません。

Nano 上の IIS で Asp.Net Core アプリケーションを実行する方法に関するブログ投稿を次に示します。

Java

Java アプリケーションは、HttpPlatformHandler を介して IIS でホストできます。

同僚の Jeong Hwan による、Java を Nano上の IIS で動作させる方法に関するブログ投稿をここに紹介します

その他

IIS Nano で ASP.NET Core と Java をサポートすることは素晴らしいスタートですが、追加のプラットフォームをサポートする予定があります。 HttpPlatformHandler は、http リスナーへの要求の管理および送信のための汎用モジュールです。こうして、Nano 上で適切に実行できるものの、まだテストしていないために一覧に含めていないプラットフォームが他にもある可能性があります。

(Ruby や Node などを使用して) これを試し、動作させる場合は、お知らせください。

管理

Nano Server は "ヘッドレス" OS です。つまり、そのサーバー自体に GUI はありません。 PowerShell は、Nano 管理エクスペリエンスの中心です。 当然、これは、IIS PowerShell コマンドレットを使用して Nano 上の IIS を管理できることを意味します。

IIS 10.0 の時点では、次の 2 つの IIS PowerShell モジュールが存在します。

Nano Server は将来のためのクリーン サーバー プラットフォームであるため、現時点では以前のレガシ WebAdministration モジュールを含める計画はありません。 代わりに、新しい IISAdministration モジュールを提供します。

PowerShell (IISAdministration) に加え、appcmd.exe を使用して IIS を管理することもできます。