【あいあいえす】

IIS とは?

最終更新:
💡 WindowsでWebサイトやアプリを公開するWebサーバ

Microsoft製のWindows向けWebサーバ。サイトとアプリケーションプール、ASP.NET Coreの実行方式、公開時のエラー情報の扱いを解説します。

📌 このページのポイント
IIS:WindowsでWebの要求に応答するブラウザーIISWindowsサイト・機能を設定静的ファイルやアプリで処理HTTP要求応答アプリの実行方式は、構成で異なるASP.NET Core:IIS内/別のKestrelへ転送Windowsを入れるだけでは公開されない
ブラウザーとIISの要求・応答を示す概略です。静的ファイルやアプリの処理は構成で異なり、ASP.NET Coreを常に別プロセスへ転送するものではありません。
ひよこ ひよこ
IISは、Windowsそのもの?
ペンギン先生 ペンギン先生
Windows向けのWebサーバだよ。ブラウザーからのHTTPリクエストを受け、ファイルやアプリが作った応答を返す。Windowsを入れただけで、必ずWebサイトが公開されているわけではない。
ひよこ ひよこ
使うには、何を準備するの?
ペンギン先生 ペンギン先生
必要なIISの機能を導入・有効化し、サイトの場所や接続を設定する。アプリの種類によっては、追加の実行環境も必要だよ。対応するWindowsやアプリのバージョンを、公式の導入案内で確認しよう。
ひよこ ひよこ
サイトとアプリケーションプールは、同じ?
ペンギン先生 ペンギン先生
サイトは公開する内容や接続先などを設定する単位。プールはアプリを実行するワーカープロセスなどを管理する単位だよ。プールを分けるとプロセスを分離できるけれど、共有するサーバー全体の障害まで防げるわけではない。
ひよこ ひよこ
ASP.NET Coreでは、いつもKestrelに転送する?
ペンギン先生 ペンギン先生
二つの方式があるよ。インプロセスではIISのワーカープロセス内でアプリが動く。アウトプロセスでは別のプロセスにあるKestrelへ転送する。どちらの構成かを確認してから、設定や障害を調べよう。
ひよこ ひよこ
500エラーなら、詳しい内容を全員に表示する?
ペンギン先生 ペンギン先生
公開サイトでは、内部のパスや構成などが漏れないようにする。IISの既定のDetailedLocalOnlyは、ローカルには詳細、外部には一般的なエラーを返す設定だよ。管理者はログなどで原因を調べ、利用者には適切な案内を表示しよう。
もっと詳しく知りたい人へ

IISとKestrelは、どちらも必要?

ASP.NET CoreのIISホスティングでは実行方式によります。インプロセスではIISHttpServer、アウトプロセスではKestrelが使われます。KestrelはIISを使わない構成でも利用できます。アプリの対象バージョンとホスティング方式に合う公式資料で確認します。

アプリを全部同じプールに入れてよい?

実行方式や分離の要件を確認します。例えばASP.NET Coreのインプロセス方式では、一つのプールに複数のアプリを共有させる構成はサポートされません。別プールにしても、OSやディスクなどの共有資源は残ります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「IIS」って出てきたら「WindowsでWebサイトやアプリを公開するWebサーバ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Internet Information Services」 = インターネット情報サービス
💬 Microsoftが提供するWindows向けのWebサーバです。必要なモジュールを組み合わせて、静的ファイルの配信やアプリの実行などに対応します。

参考資料

← 用語集にもどる