<<

ITライブラリーより (pdf 100冊) http://itlib1.sakura.ne.jp/

1 他の章は下記をクリックして PDF一覧からお入り下さい。

ITライブラリー (pdf 100冊) http://itlib1.sakura.ne.jp/

目次番号 270番 Windows Enterprise 2008 R2 完全解説 (再入門 ) 全26冊

2 2 3 3 “マイクロソフトの Web サーバー” SQL Reporting Services、SharePoint、OWA の基盤 多くのマイクロソフト製品のHTTP通信エンジン HTML や ASP, ASP.NET コンテンツを ホストするサーバーの役割 IIS5.0 - 普及 そして、厳しい試練 標準でインストール済み 2001年~2002年 CodeRed/Nimda IIS6.0 - 堅固・高速化による再出発 セキュリティ強化、プロセス分離モデル HTTP.SYS の登場による応答性能アップ

4 製品発売日 OS IIS 備考 バージョン バージョン 1997/05/15 Windows NT 4.0 SP3 IIS3.0 1997/12/02 Windows NT 4.0 Option Pack IIS4.0 MTS登場( Transaction Server)

2000/03/31 Professional IIS5.0 COM+登場 Windows 2000 Server

2001/12/31 Windows XP IIS5.1 2003/05/28 IIS6.0 XP SP2 と 2003 SP1で セキュリティ強化 2005/04/24 Windows XP x64 Edition IIS6.0 2007/01/25 Windows Vista IIS7.0 2008/05/06 IIS7.0 Vista SP1と同じレベル Windows Web Server 2008 次期 Ver. Windows 7 IIS7.5 次期 Ver. Windows Server 2008 R2 IIS7.5 Windows Web Server 2008 R2

5 ツール エンド ユーザー サービス

Webにおけるクロス Windows Vista モバイル プラットフォーム .NET Client Applications .NET Compact Silverlight (WPF, Windows Forms) Framework 開発者とデザイナー ASP.NET and AJAX SQL Server のコラボレーション Compact Edition

すべてのシナリオ、すべてのユーザー

テクノロジー

インターネット

Applications

開発の加速とWeb 既存のスキルを活用し、 サーバー、インフラストラクチャ 資産の活用 優れたユーザーエクスペ リエンスを創造 そして Windows Server

データ Webサーバー Eコマース

統合され、互換性があり、最適化された プラットフォーム群 6 7 7 最初に押さえておきたい大きな変更点 アーキテクチャーの変更 新構成システムの採用 IIS 拡張機能の出荷方法の変更

8 8 プロセスの管理(ヘルス モニタリング、リサイクリング、保護)

Web ガーデン アプリケーション プール アプリケーション プール シングル アプリケーション マルチ アプリケーション

Inetinfo.exe Svchost.exe w3wp.exe w3wp.exe w3wp.exe

FTP WWW/WASM ISAPI 拡張機能 ISAPI 拡張機能 ISAPI 拡張機能

IISAdmin Web アプリケーション Web アプリケーション Web アプリケーション NNTP Web アプリケーション

SMTP ISAPI フィルタ ISAPI フィルタ ISAPI フィルタ

プロセスの分離 ユーザー モード ユーザー アプリケーションとサーバーの分離 カーネル モード HTTP Requests HTTP.sys Listener Response Cache

9 サービス ホスト Worker Process (W3WP.EXE) (SVCHost.EXE)

Windows プロセ Bindings: ス起動サービス http://*:80:site1 (WAS) applicationHost.config

World Wide Web

Service (W3SVC) HTTP プロトコル ホスト

HTTP Listener HTTP Channel

HTTP.SYS Kernel-Mode Listener Request Response Queue Cache

10 IIS6.0 IIS7.0 HTTP HTTP HTTP HTTP 40↑ Request Response Request Response 基本 basicauth.dll 認証 認証 NTLM authsspi.dll 基本 NTLM 匿名 許可 匿名 ・・・ キャッシュ解決・・ authanon.dll ・ CGI ・・・ CGI cgi.dll 決定 静的 実行ハンドラー 静的コンテンツ ハンドラー コンテンツ static.dll

ISAPI ISAPI ・・・ isapi.dll ・・・ キャッシュ更新 レスポンス送信 圧縮 compstat.dll 圧縮 ログ レスポンス送信 ログ loghttp.dll

11 発行 アプリケーション 定常監視と セキュリティ FTPServer 開発 問題診断 FTP Management AnonymousAuthentication .NET Extensibility BasicAuthentication HttpLogging パフォーマンス ISAPIFilter DigestAuthentication StaticCompression ISAPIExtension CustomLogging WindowsAuthentication CGI DynamicCompression UrlAuthorization RequestMonitor FastCGI CertificateMapping HttpTracing ADCertificateMapping ServerSideIncludes ODBCLogging 運用管理 RequestFiltering ASP IPRestriction ASP.Net LoggingLibraries Management Console Management Scripting コアHTTP サーバー コンポーネント Mgmt Service (WMSVC) DirBrowsing HttpRedirect DefaultDoc CustomErrors StaticFile IIS6 Config (Metabase) IIS6 WMI Provider プロセスモデル (Windows Process Activation Service) IIS6Scripting ProcessModel .Net Environment Configuration API IIS6 Management Snap-in

12 ASP.NET ASP.NET Native

カスタム

ASP.NET 静的 圧縮 キャッシュ ログ 匿名 基本

FastCGI ASP エラー ISAPI トレース フォーム Url承認

13

13 ¥Windows¥Microsoft.NET¥Framework¥vX.X.XXXXX¥config

machine.config

web.config web.config

¥Windows¥System32¥inetsrv¥config

web.config

applicationHost.config

他にも ➢IIS5.xとIIS6.0のメタベースがこの •administration.config 新しいメカニズムに移行した。 IISツールUI関連構成、IISユーザー情報 ➢IIS6互換機能を入れれば今まで利用した •redirection.config スクリプト類も動作する。 シェアドコンフィグレーション設定

スキーマ定義ファイル:%windir%¥system32¥inetsrv¥config¥schema¥ IIS_schema.xml, ASPNET_schema.xml , FX_schema.xml 14 IIS.net から随時

http://iis.net/extensions

Internet Information Services 7.0

15

15 IIS.net から随時

http://iis.net/extensions

Internet Information Services 7.5

16

16 http://www.iis.net/extensions 2009年5月18日時点 Extension CTP/Beta RC RTW FTP Publishing Service 7.5(R2標準)  WebDAV 7.5(R2標準)  Web Deployment Tool  Bit Rate Throttling  Live Smooth Streaming Beta Smooth Streaming  Web Playlists  Services 2008  URL Rewrite Module 1.1  Application Request Routing 1.0  Application Request Routing 2.0 Beta Administration Pack(R2標準)  Advanced Logging Beta Database Manager  IIS 7.0 Manager for Remote Administration  Windows PowerShell Snap-in 1.0(R2標準)  Web Platform Installer  Dynamic IP Restrictions Beta 17 URL Scan 3.1  17 さらなる信頼性 管理のしやすさ よりセキュアに 幅広い選択肢

動的な要求処理、機能向上 簡潔で分散環境に対応した モジュール化、セキュアな 複数のアプリケーション開 したキャッシュメカニズム、 カスタマイズ可能な管理 コンテンツ発行、要求フィ 発基盤のサポートとメディ より強力な問題診断ツール ツール群と開発者向けに容 ルタリング機能によってさ アコンテンツ配信も視野に によって向上した可用性 易なアプリケーション配置 らに向上したサーバー保護 入れた柔軟な基盤

• スケーラブルな • とても強力な • 拡張された • ASP.NET と PHP Web インフラ 管理ツール群 サーバー保護 のサポート

• 動的なキャッ • 集中管理 • セキュアな • モジュール化さ シュと圧縮機能 コンテンツ発行 れた拡張が容易 • 委任も可能な なWebサーバー • 高機能な リモート管理 • 向上した要求 診断ツール フィルター機能 • スマートな メディア配信

18 さらなる信頼性 スケーラブルなWebインフラ 動的なキャッシュと圧縮機能 高機能な診断ツール

19 19 Windows Server には ネットワーク負荷分散と いう標準機能がある アプリケーション層での負荷分散ソリューション は今まで無かった Application Center の CLB に近いもの Application Request Routing モジュールを IIS7 に追加することで新たに実現 負荷分散のロジックは6通り(処理バイト数の平 準化など) 振り分けを判断する際に URL Rewriteモジュール に依存している 開発中のARR2.0ではエッジキャッシュにもなれ るように機能拡張

20 項目 説明 名前 Application Request Routing 説明 HTTPヘッダー、サーバー変数 及び 負荷分散ロジックに基づい て動作するルーティングモジュール。ルーティングの判断を行 う上でURL Rewrite Moduleに依存している。 特徴 ●HTTPベース(アプリケーション層)のルーティング判断 ●ユーザーが選択できる6つの負荷分散アルゴリズム (Weighted Round Robin, Weighted Total Traffic, Least Current Request, Least Response Time, Server Variable Hash, Query String Hash) ●ライブトラフィックと特定URLのテストによるヘルスモニタ リング:サーバーの健康状態をいくつかの設定で定義 ●2.0(ベータ)ではディスクキャッシュ機能を備える ベネフィット アプリケーションの可用性とスケーラビリティの向上、サー バーリソースの稼働率向上、アプリケーション展開の判断基準 を提供する元になる。共有ホスティングにも有効。 利用可能 OS Windows Server 2008 (IIS 7.0) URL Rewrite Module

21 項目 説明 名前 URL Rewrite 1.1 説明 Webサーバーが処理を行う前にルールに従ったURLのリライト メカニズムを提供するツール。ヘッダーやサーバー変数に基づ き、正規表現やワイルドカードを使用したルールを作成可能。 特徴 ●ルールベースで動作するエンジンによるパターンマッチング ●ECMA-262互換の正規表現、ワイルドカードによるルール ●サーバー全体に効くGlobalルール[applicationHost.configに 指定]と特定のスコープ(例:サイト)に効くDistributedルール [web.configで指定]が指定可能 ●URLリライト以外にもリダイレクト、処理中止、カスタムス テータスコードの送付などのアクションも可能 ●mod_rewriteのルールを変換、インポートする機能がある ベネフィット 柔軟なルールベースのリライトエンジンにより、ユーザーフレ ンドリー、あるいはサーチエンジンフレンドリーなURLを動的 アプリケーションでも可能にする。 利用可能 OS Windows Server 2008 (IIS 7.0) その他前提条件 IIS7.0がインストールされていること

22 強力な動的コンテンツ出力キャッシュ ユーザーモードとカーネルモードあり 利用ターゲットは「半」動的コンテンツ 厳密なトランザクションは NG だが、動的コ ンテンツでも様々な角度でキャッシュ可能

新しくなった HTTP 圧縮機能 アプリケーションの通信量・時間を縮小 静的・動的 コンテンツ向けの HTTP 圧縮 静的コンテンツの圧縮後レスポンスはカーネル モードでキャッシュする

23 バックエンドに依存した呼び出しを抑える パフォーマンス面で飛躍的な向上 簡単な WCAT (Web Capacity Analysis Tool) による ストレステストをかなり実施 www.microsoft.com/en/us/default.aspx

出力キャッシュ テスト期間 RPS CPU% リクエスト/秒 無効 1時間 346 100%

有効 1時間 3305 100%

すべてのアプリケーションに適切な訳ではない ※パーソナライズ度の非常に高いコンテンツは効果があまり見込めないかもしれない

24 主に静的コンテンツ圧縮機能が変更 既定でオン IIS7 ではメインスレッド上で圧縮も行われ、 閾値を利用したキャッシュ保持に変更 圧縮済みのファイルが置かれるフォルダは c:¥inetpub¥temp 以下のネスト構造に変更 CPU稼働率を閾値にした圧縮の自動無効が可能 になり、30秒ごとに稼働率を計算 コンテンツタイプごとの圧縮設定が可能 メインスレッド実行に伴い、いくつかのプロパ ティがキューに関係するものなどが除外 構成上では Deflate は除外されたが、機能は 手動で構成すれば使用可能 25 多くの新しい診断機能が登場 ブラウザーに返る詳細なエラー リクエストに関する詳細情報を表示 実行状態情報を公開するAPI(RSCA) ブラックボックスからの離脱 ワーカープロセス中の実行要求の詳細取得 実行時間の長いリクエストの抽出が可能に 要求に対する高機能なトレース ASP.NET ページトレースとの融合 ETWフレームワークの本格的な採用 本番環境での情報採取が容易に

26 エラーの概要

エラー情報の詳細

可能性のある原因

対処方法 再構築されたカスタムエラー サーバー外のクライアントと “Localhost” で相違 詳細なエラー結果情報 時刻、URL、実行中のモジュール、ステータス etc

27  実行時ステータスをAPIで取得、制御する

 最新状態・詳細な実行時の状況を取得する方法を提供する

' connect to provider set oService = GetObject("winmgmts:root¥WebAdministration") APPCMDでの利用も for Each oProcess in oService.InstancesOf("WorkerProcess") ' the PID of the process is just the Id property MWAでの利用も WScript.Echo "---W3WP DETAILS---" もちろん可能! WScript.Echo " W3WP PID : " & oProcess.PID WScript.Echo " W3WP AppPoolId : " & oProcess.ApplicationPool ※MWA:Microsoft.Web.Administration

Next

28 28 fr999999.xml + freb.xsl

29 どうやって使うか、IIS7ではFRTに出力される!

まずページトレーシングを有効に <%@ Page Trace=“True” %> ASPNET プロバイダー、Page フラグを取得するようにFRTを構成る

イベントは以下を出力する データ: Connection ID, Activity ID, Uri, Write() Warn() コールで指定 したメッセージ Trace.Warn() と Trace.Write() は別のイベントタイプ Write() イベント : verbosity=“verbose” Warn() イベント : verbosity=“warning” 30  ETWを利用した出力 トレースのフレームワーク はETLファイルへ  ETWは IIS6.0 SP1 トレース トレース イベント イベント でも出力可能 ソース プロバイダー/ w3core コンシューマー  ETWはKernel Mode によるトレース出力  Vista以降ではOS管 コンシューマ いずれかの 理ツールと統合 module モジュール パイプライ TRACE_EVENT (ETW, FREB ン上のモ ジュール etc.)

Trace トレース 任意の コンフィグ config トレース 読み込み 出力書式

31 管理のしやすさ とても強力な管理ツール群 集中管理 委任も可能なリモート管理

32 32 GUI IIS マネージャ コマンドライン appcmd スクリプト WMI (root¥WebAdministration) マネージドコード Microsoft.Web.Administration

IIS マネージャ

マネージド WMI appcmd API

アンマネージド コンフィグレーション リーダー API

applicationHost.config XML コンフィグ ファイル web.config 33 33 HTTPでのリモート接続、ファイアウォール越えが可能 マネージドコードによるツール機能の拡張も可能 システム管理者ではない委任されたユーザーによるサイトやア プリケーションの管理を実行可能

34 C:¥> appcmd list sites SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started) SITE "Site1" (id:2,bindings:http/*:81:,state:Started) SITE "Site2" (id:3,bindings:http/*:82:,state:Stopped)

C:¥> appcmd list requests REQUEST "fb0000008000000e" (url:GET /wait.aspx?time=10000,time:4276 msec,client:localhost)

C:¥> appcmd list requests /apppool.name:DefaultAppPool

C:¥> appcmd list requests /wp.name:3567

C:¥> appcmd list requests /site.id:1 アプリプール、ワーカープロセス あるいはサイトによるフィルター 結果 新IIS7構成情報に簡単に、すばやくアクセス IIS6で用意された*.vbs ファイル群に変わるもの ビルトインで“パイプ”をサポート 実はコンポーネントのインストールにも ・・・iis7.log

35 IIS ユーザー ADSI WMI スナップイン (root¥MicrosoftIISv2) プログラム

ABO(Admin Base Object)

メモリー内 メタベース テキスト エディター メタベースの記憶域レイヤー

MBSchema.xml MetaBase.xml

36 Set oService = GetObject("winmgmts:root¥WebAdministration")

' Create binding for site Set oBinding = oService.Get("BindingElement").SpawnInstance_ oBinding.BindingInformation = "*:80:www.site.com" oBinding.Protocol = "http"

' Create site oService.Get("Site").Create _ "NewSite", array(oBinding), "C:¥inetpub¥wwwroot"

' Create application oService.Get("Application").Create _ "/foo", "NewSite", "C:¥inetpub¥wwwroot¥foo" Object構造が整理された 新しい WMI プロバイダーにより新Configをフルサポート WMIv2 と ADSI サポート IIS6 管理互換 機能をインストールして既存互換性を保つ

37 互換性を提供する: IIS6 スクリプト ADSI コマンドラインツール Script ABOへの直接呼び出し デフォルトではインストールされない IIS6ができることが限界 IISADMIN 新しいIISプロパティの読み書きはできない アプリケーションプール: ABOMapper managedPipelineMode, managedRuntimeVersion リクエストフィルタリング フェールドリクエストトレーシング ASP.NETプロパティの読み書きはできない

web.config ファイルの読み書きはできない applicationHost.config 新しい実行状態データにはアクセスできない

38 ServerManager iisManager = new ServerManager(); foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) { Console.WriteLine("W3WP ({0})", w3wp.ProcessId);

foreach(Request request in w3wp.GetRequests(0)) { Console.WriteLine("{0} - {1},{2},{3}", request.Url, request.ClientIPAddr, request.TimeElapsed, request.TimeInState); } }

IISを管理する初めてのマネージAPI WMI、appcmdと同じ機能、オブジェクトを利用 System.Configurationも引き続き利用可能

39 <PowerShell とは?> • BASH / KSH のようなシェル • Perl / Ruby のようなプログラミング <一例> • TCL のような埋め込み 管理機能をコマンドレットとして VS • AS400 CL / VMS DCL のような生産指向 実装し、コマンドラインと管理 • ファイルシステムのように、簡単に コンソールから同等にアクセス データストアにアクセス できるようにする

XXX アプリケーション用 プロバイダー PowerShell Engine

GUI のツールをPowerShell 上に実装

コマンド GUI スクリプト

ユーザーフレンドリー、初期設定等 管理対象 バッチ、スクリプトで自動化 40 Windows環境における強力なシェル 非 Windows 環境で慣れ親しまれてきたシェ ル内で強力なスクリプティングを実現 BATファイルではなく、.NETクラスを使用したコマ ンドレットを作って自動化できる コマンドプロンプトの拡張→互換性あり

IIS7.0との連携 WMI、MWAを使用したコマンドレットを作る Appcmdをシェル内で実行 今後 IIS 管理用のプロバイダも登場予定

41 Server1 # file: Deploy-Application.ps1 Server2 $sourceMachine = "DemoServer1" Server3 $farmList = get-content '.¥RestOfFarm.txt' Server4 $filesToCopy = get-content '.¥AppManifest.txt' foreach ($targetMachine in $farmList) { foreach ($file in $filesToCopy) C:¥PHP C:¥App1 { C:¥App2 $sourcePath = "¥¥" + (join-path $sourceMachine D:¥App3 $file) $destPath = "¥¥" + (join-path $targetMachine $file) web.config write-host -for yellow "$targetMachine : Copying files from $sourcePath" copy-item $sourcePath $destPath -recurse -force PS C:¥> .¥Deploy-Application.ps1 } }

42 共有構成 新構成システムを最大限に活用し、コン テンツだけでなく構成ファイルをファイ ル共有において運用が可能 Web Deployment Tool(msdeploy) IIS6.0 から IIS7.0への移行ツール Webアプリケーションのパッケージ化 実行状態のスナップショットや複製など も可能になっている多機能ツール

43 最初に環境設定したマシンの環境情報を共有 にコピーし、そこをセキュアに各サーバーが アクセスして動作する

44 Webアプリケーションのパッケージ ングと展開 Visual Studio 2010 との連携を予定 Web ファームの管理を簡素化 IIS 6.0 及び IIS 7.0 サーバー間の同期 IIS6.0 環境を IIS7.x環境に移行! 統合されていないExtensions の一つ IISマネージャも拡張してくれる

45 UNC コンテンツストア より簡単になったコンテンツ同期 H/W のベースロードが軽く 業界共通の痛み バックエンド リンク

TCP/IP スタック 改良

ファイル複製サービスの改良 データセンターA データセンターB 遅延気味の長距離リンクは40倍 広帯域を使ったファイル複製、 (12Mbps 対 425Mbps↑) コンテンツ同期、ピア・ツー・ ピア通信、ログシッピング リモート地域を跨いだホスティング もより現実的に 46 47 新構成システムの採用 セキュアなリモート管理(inetmgr) httpsベースの通信を採用 クライアントOS用の単独ダウンロード 委任に使えるユーザー種類、権限許可 IIS のリモート管理機能の有効化

48 48 ¥Windows¥Microsoft.NET¥Framework¥vX.X.XXXXX¥config

machine.config

web.config web.config

¥Windows¥System32¥inetsrv¥config

web.config

applicationHost.config

他にも ➢IIS5.xとIIS6.0のメタベースがこの •administration.config 新しいメカニズムに移行した。 IISツールUI関連構成、IISユーザー情報 ➢IIS6互換機能を入れれば今まで利用した •redirection.config スクリプト類も動作する。 シェアドコンフィグレーション設定

スキーマ定義ファイル:%windir%¥system32¥inetsrv¥config¥schema¥ IIS_schema.xml, ASPNET_schema.xml , FX_schema.xml 49 applicationHost.config 内の主要セクション サーバーレベルでのみ設定可能 ASP.NET設定などと同様に委任可能

既定では委任できる設定は最小限 サーバー管理者がサーバーの利用ポリシーに 応じて委任範囲を拡大できる 開発者やサイト管理者はサーバー管理者に作 業依頼をせずに自身で設定可能

50 HTTPSで通信するメカニズム ファイアウォールを通してのリモート管理 IISマネージャ(inetmgr)には 2 種類 ローカルのみ( Windows Vista付属) リモート管理可能( Windows Server 2008付属) IIS.NETでリモート管理用のIISマネージャを 単独で入手可能(XP/2003では UI は英語) appcmd を winrs.exe(実行)、winrm.exe (設定)と一緒に使う WMIを使えばリモート接続可能 リモート管理マシン上で実行できる

51 管理者以外のユーザーは2種類 IISマネージャ用ユーザー Windowsユーザーあるいはグループ 管理者以外はサイト、アプリケーションに のみ接続が可能 管理者権限を持つWindowsユーザーのみが サーバーレベルへ接続可能 ユーザーに対して明示的にサイト/アプリケーションを設定する

IISマネージャ用ユーザーについて Web管理サービス(WMSvc)でのみ使用 これ以外のIISコンポーネントで使用されない Windowsユーザーとは全く無関係 デフォルトでは administration.config に格納 IIS 認証プロバイダを使う 認証プロバイダはカスタムで作成したものと置換することも可能

52 IIS Management Service のインストール DISM /online /enable-feature /featurename:IIS- ManagementService リモート管理の有効化 HKLM¥Software¥Microsoft¥WebManagement¥Server EnableRemoteManagement を 1 にセットします Management Service の開始 net start wmsvc

リモート接続可能な IIS マネージャは別途ダ ウンロード、Vista・XP・2003 用あり

53 よりセキュアに 拡張されたサーバー保護 セキュアなコンテンツ発行 向上した要求フィルター機能

54 54 証明されたスケーラビリティ MySpace – 230億 ページビュー/月 Microsoft.com – 1万 リクエスト/秒、30万 同時接続 Match.com – 3千万 ページビュー/日 証明されたセキュリティ 出荷以来 緊急 レベルの IIS 6.0 修正プログラムなし 証明された信頼性 フォーチュン1000 企業の 55% が IIS を インターネット企業トップWebサイトに使用 (http://www.port80software.com)

IIS6も安心してお使いいただけるWebプラットフォームです!

55 56 2009年5月18日現在 IIS6.0では重要が4件,緊急は0件 http://www.microsoft.com/japan/technet/security/current.aspx

IISのバージョン 件数

IIS5.0(Windows 2000) 32件 MS08-005: インターネット インフォメーション IIS5.1(Windows XP) 9件 サービス の脆弱性により、特権の昇格が起こる (942831) 深刻度:重要 IIS6.0(Windows 2003) 4件 IIS7.0(Windows Vista) 1件 IIS7.0(Windows 2008) 0件 Secunia サイトにおける単純比較 http://www.secunia.com

製品 Advisory Unpatched

IIS5.x(Windows 2000、XP) 16 1(6%)

IIS6.0(Windows 2003) 5 0(0%)

IIS7.0(Windows Vista、2008) 1 0(0%)

Apache1.3 21 1(5%)

Apache2.0 39 4(10%)

Apache2.2 10 2(20%)

57 Webサーバーのフットプリント最小化 モジュール構造の採用によるリソースフットプ リントの最小化 のサポート シェル、Internet Explorer などの Web サー バーに不要な機能を排除できるインストール ベースロード面でも優位 Webサイト分離を既定で採用 サイト名と同名のアプリケーションプールを作 成する既定設定 アプリケーションプールIDの採用 SIDインジェクション

58 ASP.NET ASP.NET Native

カスタム

ASP.NET 静的 圧縮 キャッシュ ログ 匿名 基本

FastCGI ASP エラー ISAPI トレース フォーム Url承認

59

59 サーバー サービス (その他役割)

ツール

Shell Server Core Plus MMC

ネットワーク セキュリティ 管理

DNS WMI DHCP Server Core RPC File Agents Anti-virus

ホットプラグ可能なハードウェア

60 トークン AppPool2¥ Domain ルート¥ Users Users Default.htm

LOGON_ Everyone BATCH サービスホスト Worker Process Administrator: (W3WP.EXE) フル HRGroup (SVCHost.EXE) System フル サイトオーナー フル Windows AppPool2 フル Process Activation Service トークン (WAS) (省略) AppPool1¥ ルート¥ AppPool2 Default.htm

ユーザー World AppPool IIS_IUSRS パスワード Wide Web 2 Administrator: Service フル applicationHost. System (W3SVC) フル config サイトオーナー フル AppPool1 フル リクエスト 61 FTP7 Ftpsに対応 IIS7の新構成システムをフル活用 セキュリティ面、診断面なども影響 サイト毎の FTP プロトコルの有効化 WebDAV Extensions for IIS7 Windows Server 2008用に開発し直した 新しい WebDAV 拡張機能 URL単位などより柔軟なセキュリティ設定 FrontPage Server Extensionsの今後 今後は FTP7、WebDAV の利用を推奨

62 項目 説明 名前 FTP Publishing Service for IIS7 説明 IIS7.0とともに利用できる、より便利でセキュアなFTPサービス Webコンテンツの発行に使用できる 特徴 ●IIS7.0との統合 ●インターネット標準への準拠 - FTP over SSL, UTF8, Ipv6 ●共有ホスティング向け改善 同一サイト内でのFTPとWebを両方ホスト可能 仮想ホスト名のサポート(同一IPアドレスを利用可能) ●改良されたロギングサポート ●新診断機能のフル活用 新詳細エラーの適用、ETWへのロギング 利用可能 OS Windows Server 2008 のみ その他前提条件 IIS7.0がインストールされていること IIS7.0の管理ツールがインストールされていることが望ましい FTPサービスのインストールは管理者で実行すること IIS7.0とともにインストールされるFTPを削除する必要あり 共有構成をとっている場合、一旦解除が必要

63 項目 説明 名前 WebDAV Extension for IIS7 説明 Windows Server 2008 向けに完全に書き直したWebDAV拡張 特徴 ●IIS7.0との統合 ●サイト毎の構成が可能 ●URL単位でのセキュリティ設定が可能 ベネフィット この WebDAV 拡張により、以前よりもパワフルで使いやすい Webコンテンツの発行が可能。一方では、管理者にとってはセ キュアな環境で 且つ 展開もしやすい。 利用可能 OS Windows Server 2008 x86 edition (IIS 7.0) Windows Server 2008 x64 edition (IIS 7.0) その他前提条件 ■IIS7.0がインストールされていること ■IISマネージャを使用してWebDAVを管理する場合には管理 ツールもインストールしておく必要がある ■この拡張のインストールは管理者として実行する必要がある ■共有構成をしている場合には一旦解除し、インストール後に 再構成する

64 従来のコンテンツ発行に使用されてきたWeb サーバー拡張機能 FTP7 や WebDAV を今後は推奨 Visual Studio も FPSE に依存しなくなる方向 FPSE は今後 Ready-to-Run Software 社で メンテナンス、サポート 対応OS Windows Server 2008/Windows Vista 入手先 http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1460

65 65 IIS への攻撃を防御する機能の数々 要求フィルター機能 以前の IIS では URLScan を利用 同様の機能を標準モジュールとして実装したもの URLScan 引き続き最新の開発は行われる タイミングによっては URLScan にしかない機能も IPアドレスおよびドメインの制限 IPアドレスやドメインを指定してフィルター Dynamic IP Restrictions 「IPアドレスおよびドメインの制限」機能のアップ デートモジュール IPv6対応、動的なブロック機能などを搭載

66 IIS7要求フィルター機能とURLScan 従来の IIS で要求をフィルタリングする機能 はURLScanという別ツールで実装 URLScan2.5 相当の機能をIIS7の標準機能と して実装したものが 要求フィルター URLScanの今後 引き続き開発され、以前のIIS向けにも提供 SQL Injection攻撃緩和対応などの機能は要求 フィルターになく、URLScan にのみ搭載され ているものもある 基本的に URLScan 搭載の機能は IIS7の要求 フィルターのバージョンアップでも対応する

67 項目 説明 名前 Dynamic IP Restrictions 説明 IPやドメイン情報を利用した動的な要求フィルター 特徴 ●「IPアドレスおよびドメインの制限」の機能更新 ●IISマネージャーへのシームレスな統合 ●IPv6対応 ●同時実行数や一定期間内の実行数をトリガーにして、動的で 一時的な要求ブロックが可能 ●ブロック時の応答内容が指定可能(403, 404, 切断) ●現時点でブロックされているIPアドレスの一覧表示 ベネフィット 動的な要求ブロック機能によりDoS攻撃や総当り攻撃に対処で き、IPv6 環境にも対応できる 利用可能 OS Windows Server 2008, Windows Vista SP1 Windows Server 2008 R2 , Windows 7 その他前提条件 ■IIS7がインストールされていること ■IPアドレスおよびドメインの制限 機能がインストールされて いる環境では上書きされるが、構成情報は保持される。

68 幅広い選択肢 ASP.NET と PHPのサポート モジュール化された拡張が容易なWeb スマートなメディア配信

69 69 IIS と言えば ASP, ASP.NET をホストする 環境のイメージが強かった ASP.NET については IIS6 よりも統合の度 合いが進み、ASP.NET を動作させる最良の 環境へ PHP など CGI 対応プラットフォームを IIS 上で快適に動作させる FastCGI モジュール の提供によっても状況が変わってきている 様々な開発プラットフォームを相互に連携 させることも可能 ASP.NET で開発したサーバー機能をPHP呼び 出しの際に行う などなど

70 HTTP Request ISAPIエクステンションに 認証 よる実装

基本 NTLM 匿名 ASP.NETリクエストのみを ・・・ 処理 CGI aspnet_isapi.dll

決定 静的 認証 実行時の制限 ハンドラー コンテンツ フォーム Windows ISAPI ・・・ 実行される順番 ISAPI ASPX ・・・ マップ ハンドラー Trace レスポンス送信 ・・・ 類似機能の存在 認証 圧縮 ログ ハンドラーのマッピング エラーハンドラー HTTP Response 71 HTTP HTTP Request Request

基本 基本 認証 認証 匿名 許可 匿名 許可 フォーム キャッシュ解決 キャッシュ解決

aspnet_isapi.dll Windows 静的 認証 コンテンツ 静的 フォーム Windows コンテンツ 実行ハンドラー ・・・ 実行ハンドラー ISAPI ISAPI ASPX マップ ASPX ハンドラー Trace

・・・ キャッシュ更新 キャッシュ更新 Trace 圧縮 レスポンス送信 レスポンス送信 圧縮 ログ ログ HTTP HTTP Response Response 72 ISAPI/CGI という開発用インタフェースを ある意味用意していただけ インターネットで検索すると設定方法を書いて いる報告がみつかる マイクロソフトのサイトに行ってもPHPのキー ワードでは何も見つからない

マイクロソフトのSQL ServerとPHPの接続 性は基本的にPHPの拡張ライブラリが汎用 的に開発されていた マイクロソフトは積極的に取組んでこなかった

73 主に PHP に焦点をおいた FastCGI モジュールの共同開発とチューニング マルチスレッドモデルのWindowsでも安定し て、しかも高速にPHPを動作させる環境 マイクロソフトSQL Serverへの接続におい てPHP用のドライバを開発 実際にはWindows ODBCドライバーのラッ パー構造でできている PHP 拡張ライブラリ 名前は SQL Server 2005 用でも SQL Server 2008 にも対応 Zend Conferenceへの出展と登壇 先日サンタクララで開催。マイクロソフトの開 発者がPHPの修正点コードを寄贈。 74 インストールマニアックス コンテスト インプレス社と協業してよくLAMP環境で利用 されているオープンソースパッケージの Windows + IIS7 環境へ構築 インターネットに多くの OSS 対応ノウハウが これを機に増加 PHP5.2.9、5.3 からインストーラーが IIS7 用の FastCGI 環境設定に完全対応 Web Platform Installer による PHP イン ストール自動化も実現 http://www.microsoft.com/web

75 ASP.NET の IIS7 との緊密な統合により、 マネージコードによる IIS7 サーバー機能 開発も可能 IIS7 のパイプライン上にカスタム開発した モジュールを配置して使用可能 標準機能の強化・特化した機能への置換 独自のモジュール開発というビジネスチャンス 新しい可能性

76 HTTP Request 基本 モジュール開発 ISAPIの互換性を残し、新強 認証 匿名 独自開発 力APIでの開発 許可 フォーム 統一された機能の管理 粒度が小さい機能 キャッシュ解決 Windows 全リクエスト対象 静的 コンテンツ

実行ハンドラー ISAPI 統合モードの影響 独自開発 ASPX 実行時の変更 IISネイティブの Trace スレッドプールを使用 キャッシュ更新 パフォーマンス影響 圧縮 プリコンディション レスポンス送信 独自開発 リシャッフル、マージ ログ IHttpModule イベント順序 コンフィギュレーション HTTP Response 77 マイクロソフトは従来Windows メディア サービスを提供 Webコンテンツの一つとしてのメディア配 信に注目が集まり、IIS の開発チームへ Windows Media サービスの開発が移行 現在の主流である HTTP インフラを利用で きる新しい配信方式への方針変更 IIS7 Smooth Streaming IIS7 Live Smooth Streaming

Alex Zambelli 氏のブログの日本語化 http://blogs.technet.com/hirookun/archive/tags/Media/default.aspx

78 Windows Media テクノロジー 1999年 Windows Media 4.x 2002年 Windows Media 9.x が有名 実は エンコード機能やサーバー側機能も Windows Media サービス 2007年ごろから IIS の開発チームへ移管 メディアストリーミングの潮流に合わせて新し い機能、しかも IIS と連動する機能を開発 Web Playlist、Bitrate Throttling HD 世代のストリーミング IIS Smooth Streamingへ

79 配信メディアのビデオへの転換 マイクロソフトでも MSN SoapBox、 Silverlight Streaming、MSDN Channel 9、 TechNet Edge など 「百分は一見に如かず」 世界で視聴されるビデオの数はなんと 10,000,000,000 / 月 という統計もある 撮影機材・ソフトウェアの価格低下 ストリーミングの仕掛けの変化(HTTP活用) コスト削減で社長のスピーチはビデオ採用

80 • 企業での活用 • オンライントレーニング(例:コンプライアンス教材) • 経営層のスピーチ (例:年始の挨拶) • 社内テレビ放送 (例:米国では結構あるらしい) • 製品のプロモーションビデオ

• インターネットでの活用(通常 広告つき) • Social networking videos • 映画のプロモーションビデオ • ニュースやエンターテイメント ビデオクリップ • 音楽や映像配信サービス • インターネットラジオやテレビ • ラジオやテレビの再放送 • ライブ中継 などなど今後も拡大必至。

81 項目 説明 名前 Windows Media Services 2008 説明 Windows Mediaストリーミングサーバーを構築できる。提供モ ジュールにはフルインストール用、Server Core用、管理のみの 3つがx86、x64両方のプラットフォームで用意されている 特徴 ●WMS Cache/Proxyプラグインをビルトインで用意 デジタルメディアコンテンツ配信のプロキシーあるいはリバー スポロキシーを担当可能 ●Windows Server 2008 Server Coreインストールにも対応し、 役割としてインストールされる ベネフィット インターネット越し・イントラネット環境におけるライブスト リーミング、オンデマンド 音声&映像配信。クライアントは Windows Media Player、SDKを使用して開発してアプリ、 SilverlightベースのWebアプリケーションなど広範囲。 利用可能 OS Windows Server 2008 その他前提条件 このタイプのストリーミングではWindows Media Servicesは 単独でIIS7は直接は関係ない

82 Windows Media テクノロジーが生まれた 時に開発された専用サーバーサービス 今後は HTTP ベースのメディアストリーミ ングが主流で、このサービスは開発継続し ない 最後のバージョンは Windows Server 2008 R2 に搭載されるものの予定

• HTTP ベースのストリーミングの最大の長 所はインターネットの既存のインフラを利 用できること • HTTP ベースのプロキシーが利用できる ことにより、どんどんユーザーエクスペリ エンスが向上できる

83 項目 説明 名前 Web Playlist for IIS7 説明 Webサーバー制御のメディア再生リストを提供するツール。 Web Playlistによってクライアントがスキップ、シークできる かの制御が可能で、実際のメディア資産の場所をわかりにくく する効果もある。 特徴 ●既存アプリケーションとメディアコンテンツの融合 ●特定再生リストの同時視聴可能数の制御 ●再生リストのネストが可能 ●.NET、COMベースのカスタムプロバイダーを開発可能 ベネフィット ダウンロード可能なメディアファイルは種類を問わず、Web再 生リストに追加することが可能。コンテンツのアクセス、視聴 順をサーバー側で制御、ASP.NETセッション状態を活用するこ とでサーバーファームでの共用可能。IIS7.0と完全に統合した モジュール構造になっているので管理も柔軟に可能。 利用可能 OS Windows Server 2008 (IIS7.0) IIS7.0 がインストールされていること

84 メディアのプレイリスト(再生一覧)にはい くつか種類がある .asx(Advanced Stream Redirector) 通常クライアントプレイリストと呼ばれる 今までも多く活用されてきた .isx(IIS7 Web Playlist ファイル) 原理的には クライアントがサーバーに .isx を要求するとサーバーは .asx ファイルを返 す動きをしている インターネットのメディアストリーミングビ ジネスは広告が欠かせないため、重要な要素

85 項目 説明 名前 IIS7 Media Pack – Bit Rate Throttling 説明 メディア、データ転送において効率化を図り、サーバー毎の キャパシティ向上、通信コストの削減に有効 特徴 ●メディアファイルタイプに応じたビットレートを自動検出 ●サーバールールに基づき、各コネクションに対して帯域制御 を行う ●他のメディアタイプやファイルタイプに拡張可能 ●既定、最大スロットリング帯域の指定、同時実行コネクショ ンの最大数の指定がそれぞれ可能 ベネフィット Web管理者、サイトオペレーターはエンドユーザーエクスペリ エンスに影響を与えずに制御された帯域利用を設定可能で、主 にコンテンツの途中で視聴を止める確率が高い音声・映像コン テンツ配信において通信コスト、サーバーリソースの有効利用 を促進する 利用可能 OS Windows Server 2008 (IIS 7.0) IIS7.0 がインストールされていること

86 Windows メディアサービスのような専用プ ロトコルを利用する方式ではなく、今は HTTPのファイルダウンロードベースが潮流 HTTPベースの方式は基本的に全部ダウン ロードする前提になっており、サーバーの負 荷が無駄になっていることが多い このモジュールは見ている時間帯よりも数秒 分だけ先までを送る仕組みなので無駄が無い ため、より多くのユーザーにサービスを提供 できる仕組み ファイルの形式は制限が無いので特にマイク ロソフトのフォーマットに拘らない

87 入手先 http://www.iis.net/extensions/SmoothStreaming SmoothX32.msi(x86環境用) SmoothX64.msi(x64環境用)

サーバーレベルにキャッシュ設定 サイトレベルにプレゼンテーション設定

原理的には複数のビットレートのファイルを置い てそれを細切れにしてクライアントに送信する過 程でビットレートが変更できる仕組み

88 仕組みがわかるサンプルコンテンツが利用可能 HD ビデオなのですごくきれい IIS Smooth Streaming Beta Sample Content http://www.microsoft.com/downloads/detail s.aspx?FamilyID=e44b0a2d-2e0c-48ff-bf57- 3d05a20e2f6a&displaylang=en

帯域 シミュレーション 実際の利用ビット レートをグラフで

89 ベータ版の入手先 http://www.iis.net/extensions/LiveSmoothStrea ming LiveSmooth32.msi(x86環境用) LiveSmooth64.msi(x64環境用)

ライブイベントの Silverlight クライアントへの アダプティブストリーミング機能 利用者通信環境、CPU環境に応じた最良の画質を 確保できる 原理的には Smooth Streaming と同じで、ソー スがライブ中継になる

90 91 91 新機能・変更点 Server Core 上での ASP.NET サポート Windows PowerShell スナップイン 統合された FTP と WebDAV IIS マネージャの機能拡張 システム構成への操作に関してのログ機能 ベスト プラクティス アナライザー

92 Windows Server 2008 登場後、とても多 かった要望の二つが Server Core 上での PowerShell の動作、ASP.NETの稼働 Windows Server 2008 R2 では Server Core 環境においても ASP.NET をサポート Windows PowerShell も同時に標準機能へ Application Request Routingとともに利 用してエッジ(Server Core)と構内サー バー(フルインストール)の組合せ運用が これでさらに軽量に、便利に、現実へ

93 よく使うコマンドの一覧表示 cscript c:¥windows¥system32¥scregedit.wsf /cli コンピュータ名の確認 set c または hostname または ipconfig /all または systeminfo netdom renamecomputer %computername% /NewName:[新しいコンピュータ名] ドメインに参加している場合 コンピュータ名の変更 /UserD:[ドメインユーザー名] /PasswordD:* ドメインに参加していない場合 netdom renamecomputer %computername% /NewName:[新しいコンピュータ名]

wmic computersystem where name="%computername%" call ワークグループの変更 joindomainorworkgroup name="[新しいワークグループ名]" パッケージ一覧 Oclist 役割・機能 start /w ocsetup [パッケージ名] 追加 Active Directory のインストールは dcpromo アクティベーションの実行 cscript slmgr.vbs –ato アクティベーション cscript slmgr.vbs -dli 状態の確認 cscript slmgr.vbs -dlv (ボリュームライセンス) タスクマネージャーの起動 Ctrl-Shift-ESC インストール msiexec /I [MSIパッケージ] 一覧 wmic product ツール (MSI パッケージ) wmic product get name /value 削除 wmic product where name="[ツール名]" call uninstall 一覧 sc query type= driver (driver の前にスペース) デバイスドライバ ドライバーファイルをコピー インストール pnputil -i -a [パス]¥[ドライバ].inf cscript c:¥windows¥system32¥scregedit.wsf /au 4 の有効化 net stop wuauserv 更新プログラム net start wuauserv 更新プログラムの確認 wuauclt /detectnow 個別インストール wusa [更新プログラム].msu /quiet 時計、時間帯の変更 control timedate.cpl 地域設定の変更 control intl.cpl WinRM の初期設定 winrm quickconfig cscript c:¥windows¥system32¥scregedit.wsf /ar 0 ターミナルサービスの有効化 cscript c:¥windows¥system32¥scregedit.wsf /cs 0 (以前のクライアント) 94

94 更新の適用 もし Server Core が以前にもあったら(たら・れば ですが) Windows 2000 :~60% の適用数削減 Windows Server 2003 :~40% の適用数削減 Windows Server 2008 の現時点 ~35% の適用数削減(すべてのパッチを適用する場合) ~65% の適用数削減(必要最小限を適用する場合) ~65% 再起動が必要な条件の減少 HDDの占有容量 役割や機能を Server Core の環境から完全に削除することも可能 再インストールしないと戻せないので注意!! 容量の大きいもの .Net サポート :~500MB WoW64 サポート :~250MB IME サポート :~200MB

95 Server Core アーキテクチャー 完全:役割 (これ以外にも多く存在)

Etc TS NAS ADFS WDS …

Server Core:役割とオプション機能

.NET .NET PS ASP.NET 2.0 3/3.5 完全インストール NetFx, シェル, ツール, AD Print Media etc. DNS DHCP AD File IIS 7 Hyper- LDS Server V

Server Core WoW64 GUI, シェル, セキュリティ、TCP/IP、ファイルシステム IE, メディア, RPC 、その他 サブシステム メール, Etc.

96 96 WCF WF WPF ASP.NET LINQ

CLR 3.0 CLR 3.5 CLR 2.0 Additions Additions

97 97 項目 コメント インストール .NET2.0 Server Core の機能に合わせて含 Start /w ocsetup NetFx2-ServerCore まれている サブセット ベータ版など、現時点のビルド 32-bit サポートが必要であれば では既定でインストール済み Start /w ocsetup ServerCore-WOW64 Start /w ocsetup NetFx2-ServerCore-WOW64 .NET3.0 WPF なし .NET 3.0 / 3.5 機能は一つのパッケージ サブセット Start /w ocsetup NetFx3-ServerCore サポートが必要であれば LINQ 32-bit .NET3.5 Start /w ocsetup ServerCore-WOW64 サブセット Start /w ocsetup NetFx3-ServerCore-WOW64 ASP.NET IIS とともに含まれています。振 start /w ocsetup IIS-WebServerRole;IIS- サブセット るインストールと同じパッケー WebServer;WAS-WindowsActivationService;WAS- ジ名: IIS-ASPNET ProcessModel

*CDOSYS がないため、 start /w ocsetup IIS-CommonHttpFeatures;IIS- System.Web.Mail クラスは失敗 DefaultDocument;IIS-Security;IIS-RequestFiltering System.Net.Mail で代替する *Web Application Tool (WAT) start /w ocsetup IIS-ApplicationDevelopment;IIS- はない ISAPIFilter;IIS-ISAPIExtensions;IIS- NetFxExtensibility;WAS-NetFxEnvironment;IIS-ASPNET 98 98 IT 技術者、ホスティング事業者 に複雑な IIS7 の管理タスクの一括実行を 容易にし、IT管理者の生産性を飛躍的に向上

利点 機能 Webサイトの管理をスクリプト化 Windows PowerShell 環境へ することで管理を容易にする シームレスに統合 複数のサーバーにまたがる管理タ 汎用性の高いコマンドレットとタ スクを繰り返し実行できる スク専用コマンドレットの融合体 リアルタイムの計測値を実際に Webサイト、Webアプリ サーバーから取得することでより ケーション、仮想ディレクト 確度の高い意思決定を行える リ、アプリケーションプール のシステム構成 追加・変更 GUIでは実行が難しい複雑な システム構成タスクの実行 実行リクエストの詳細などの 実行時状態データの取得

99 Windows Server 2008では Extension をインストール R2 では標準機能 +GUI も 日本語対応

100 Webコンテンツを容易にかつ、セキュアに発行できる新しいFTPサーバー

利点 機能 より新しいインターネット標準に準拠 IIS 7.0 マネージャに完全統合 したセキュアなファイル転送を実現 FTP over SSL(FTPS)サポート WebとFTPを同一サイトで運営でき、 FTPバインドを追加するだけで 管理をよりシンプルに コンテンツ を同じサイトで設定 セキュリティや監査面において認証 同一IPアドレスで複数のFTPサイト プロバイダの活用と拡張されたログ を運用可能 の活用 仮想ディレクトリ機能の向上 ユーザー毎の仮想ディレクトリ ログ機能の大幅な向上 エンドユーザー向けのより詳細なエ ラー表示とサーバー側のイベントト レース機能

101 101 完全に書き起こした IIS7 用の WebDAV 発行機能

利点 機能 容易でセキュアなコンテンツ発行 IIS 7.0 マネージャと完全統合 サイト単位で構成を分けることができ HTTP over SSL(https)サポート る IIS6.0ではサーバーレベルの設定 セキュリティの改善、監査をカスタム だったが、この WebDAV 発行機能 オーサリング規則で実現 はサイト単位で設定可能

ドライブにマップする機能は WebDAV リダイレクタ URL 単位でセキュリティ設定が可能 を使い、これは Vista は標準、2008はデスクトップ で、通常の HTTPリクエストと エクスペリエンスを入れないと入っていない WebDAV 発行と個別にセキュリティ 設定を保持できる FrontPage Server Extensions は 開発終了しているので発行機能は 順次 FTP あるいは この WebDAV に移行する

102 102 今まで無かった要求フィルター のGUI 設定機能が追加

103 いくつかの IIS マネージャの拡張機能 ※Administration Pack は IIS Reports というツールがあるが、R2 は無し

利点 機能 最終システム構成を階層表示し、 タスクを自動化するために利用で 直接プロパティのように編集する きるスクリプト生成機能を持った エディター 構成エディター システム構成ファイル スコープ指定できる構成システム (applicationHost.config)で直 の検索機能 接編集して設定する必要があった より快適にFastCGI モジュールを いくつかの機能がGUIで設定可能 利用する環境(例:PHP)のGUI に での構成が可能に ASP.NET 系の二つのモジュール により、カスタムエラーの設定や 承認規則の設定がGUIで可能に 利用頻度の高い機能である要求 フィルターにも GUI 設定機能

104 104 IIS7.0ではシステム構成の操作を委任することが可能 システム構成の変更をトレースする機能がビルトインで存在しない

IIS7.5 では ⚫システム構成の 読取り / 書込み 監査 ⚫Logging of Read/Write failures ⚫Logging of Read/Write successes ⚫読取り / 書取りに関係 ないイベントも ⚫アプリケーションと サービスログ – Microsoft – Windows 下 ⚫IIS-Configuration

HKLM > Software > Microsoft > Windows > CurrentVersion > WINEVT > Channels > Microsoft-IIS-Configuration/* で Enabled = 1 にしてもよい 105 サーバーマネージャーの役割表示に機 能が追加されている 推奨設定との差異をスキャンして報告

106 107 107 ほとんど(99%+) ASPとASP.NETアプリケーションはそのまま 動いた(“Just Worked”) 一つのアプリケーションが大きな変更を必要とした 数えるほどのアプリケーションが統合モードで動作させるために新構 成情報への移行が必要だった

クラシックモードはアプリケーションの移行を容易にした ASP.NET セットアップは “Classic .NET AppPool” というアプリケー ションプールを作成し、準備してくれる

AppCmd を統合モードへのアプリ移行に使用 %windir%¥system32¥inetsrv¥APPCMD.EXE migrate config

メタベースの互換性(IIS6互換性機能) 以前からあるADSIのスクリプトが動作する IIS 6 メタベース互換性モジュールがインストールされている必要

108 108 アーキテクチャ変更による全般的な影響 既定ではインストールされない機能が多い ISAPI、ASP、ASP.net、認証モジュール類 IIS6 メタベースなどの IIS6管理互換機能

新しいビルトインアカウント IUSR_<マシン名> がビルトインの IUSR に変更 IIS_WPG が IIS_IUSRS に変わった

IIS5 互換モードは無い Read-Raw を使う ISAPI フィルターは動作しない

109 セキュリティ UrlScan は要求フィルターとして標準機能に より厳密な既定値 URL 内の ”+” を禁止 クエリストリングの長さ制限は 2048 バイト 64ビット対応(R2は 64ビットのみ) 32ビットワーカープロセスの実行が可能 プリコンディションで構成可能:bitness32 バイナリーのアーキテクチャー相違 32ビットのみ対応している機能 Access データベースのドライバー

110 統合モード関連 system.web 内の セクションは system.webServer 内の へ validateIntegratedModeConfiguration 設定を使う ことでサイドバイサイドの構成可能 コマンドで移行してしまいたい場合は %windir%¥system32¥inetsrv¥ Appcmd migrate config "“ ASPNET_REGIIS は IIS7 では使わない 警告: このユーティリティは Vista 上での機能が制限されています。ASP.NET をイ ンストールまたは削除するにはコントロール パネルの [Windows の機能] を使用 し、ASP.NET アプリケーションを構成するには IIS7 管理コンソールまたは appcmd.exe ツールを使用することを強くお勧めします。

111 既定ではインストールされない スクリプトエラーなどデバッグ機能は既定で は無効なので有効にする必要がある appcmd set config -section:asp -scriptErrorSentToBrowser:true 親パスは無効 繰返し:64ビットの影響 Access:64ビットドライバー なし appcmd set AppPool アプリケーションプール名 -enable32BitAppOnWin64:true

112 IIS6.0 と IIS7.0のアプリケーション プール 実行アカウントの既定は NetworkService IIS7.5では アプリケーションプール名 の ID が既定になっている セキュリティ面での強化 変更は可能

113 IIS のプロセスモデルは元来リクエストドリブン 重要なアプリケーションにおいてより迅速な立ち上げを実行 するために事前ロードが必要になるケースがある 例) SharePoint、WCF、VS Debugger Windows 7 のアプリケーション事前ロード機能を使ってリ クエストがある前に事前にスタートしておくことが可能 下記を applicationHost.config ファイルに追加する 下記を web.config ファイルに追加する

114 グローバルな ASPNET.config に記述する設定 カスタムな ASPNET.config ファイルが作成可能に applicationHost.config で位置を指定する 実行時にローカル設定が採用される(UNCパスも可能) 例: スレッドやリクエスト数の最大数をセット ガベージコレクションの設定をセット 下記を applicationHost.config ファイルに記述する

115 116 116 マイクロソフトの新しい取り組み オープンソースソフトウェアをIIS上で動作させる 統合インストーラー(WebPI)にカタログされる アプリケーションの登録ギャラリー

117 最新のIIS Extensionsを含むマイクロソフトWebテクノロジー全般の統合 インストーラーでダウンロード先を意識せずにインストールが可能 まだ日本語版ありません!

利点 機能 マイクロソフトのWebプラットフォー 対応する環境 ム コンポーネントを素早く、簡単に Windows XP, Windows Vista, 集め、インストールできる Windows Server 2003 , インストールするコンポーネントをカ Windows Server 2008 スタマイズした環境の容易な構築 すべてのマイクロソフト Webプ 最新のコンポーネントの容易な 入手とインストール ラットフォーム コンポーネント OSSアプリケーションの をインストールできる統合インス 自動インストール(v2.0) トーラー: SQL Server Express, .NET Framework , Visual Web Developer Express IISとASP.NETの選択 環境設定 XMLベースのマニフェストで動作 し、自動的に更新

118 118 Dublin 拡張機能

.NET Fx 強化機能 Windows/IIS

“Quadrant” (モデリングツール) Visual Studio IIS マネージャ

WF / WCF Dublin へのモデル配置 WF / WCF 管理モジュール プロジェクト テンプレート サーバー

管理用 API (PowerShell コマンドレット) 管理パック アプリケーション ホスティング 永続化 モニタリング メッセージング

ディスカバリ, スケールアウト, アプリケーション バージョニング, パーティショニング, コントロール 信頼性 モニタリング ルーティング

Durable SQL WF SQL WCF SQL Discovery Forwarding Timer Persistence Tracking Tracking

Service Service Center System Service Provider Provider Behaviors

永続化スキーマ データベース モニタリング スキーマ

WF / WCF Frameworks

IIS / WAS

アプリケーション サーバー(サーバーの役割)

119 120 120 ASPとASP.NETをホストする環境は以前の話。 多機能でOSSにも順次対応していく新基盤へ R2搭載のIIS7.5、ぜひご体験ください。

121 122 122 IIS7だけじゃない!IIS5・IIS5.1・IIS6の情報も http://www.iis.net 広告ベース運営のコミュニティサイト IIS7製品開発チームの技術記事 バーチャルラボでIIS7を体験できる!

123 IIS6.0の情報サイト http://www.microsoft.com/japan/servers/default.mspx 日本語版のバーチャルラボ 好評公開中! 日本語版のウェブキャストも企画中!

124 124 仮想のソフトウェア評価環境

http://technet.microsoft.com/ja-jp/bb467605.aspx IIS7.0のラボは9つ! デスクトップの演習環境

準備するのは、Web ブラウザとインターネット接続環境だけ

複数マシン環境でも場所の確保不要

テスト用にハードウェアや ソフトウェアを用意しなくても マニュアル(90分シナリオ)付き サーバーやクライアント環境を 新しいシナリオも続々登場!! 実際に操作できる

バーチャル ラボは、マイクロソフトがホスティングする仮想のソフトウェア評価環境に、 デスクトップ上の Web ブラウザからアクセスし、製品評価やトレーニングができる 無償のオンライン サービス です。 最新のラインナップ(ラボのシナリオ)は、TechNet バーチャル ラボ サイト、TechNet Flash ニュースレターにて紹介します。

125 126 126 OSインストールのカスタマイズ Microsoft Deployment Toolkit

MDT Lite Touch セットアップ手順

セットアップ MDT インストール OS の追加

アプリケーションの追加 設定 パッケージの追加

ドライバーの追加

タスクシーケンス タスクシーケンスの作成

展開 配布ポイントの作成

127 Vista 2008 2008 Win7 2008 R2 Core R2 Core GUI ◎ なし なし ◎ なし なし Windows機能の~ OptionalFeatures.exe Pkgmgr ▲ ▲ ▲ ▲ ▲ ▲ Ocsetup ○ △ ◎ ○ △ ○ GUI なし ◎ なし なし ◎ なし サーバーマネージャー ServerManagerCmd なし ◎ なし なし △ なし Dism なし なし なし ◎ ◎ ◎ Add-WindowsFeature PowerShell なし なし なし なし ☆ ☆ ServerManager コマンドレット

◎:推奨、〇:次点、△:可能、▲:非推奨、なし:動作しない 128 Pkgmgr.exe start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS- CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS- DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS- ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS- ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS- ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS- LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS- CustomLogging;IIS-ODBCLogging;IIS-Security;IIS- BasicAuthentication;IIS-WindowsAuthentication;IIS- DigestAuthentication;IIS- ClientCertificateMappingAuthentication;IIS- IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS- RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS- HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS- WebServerManagementTools;IIS-ManagementConsole;IIS- ManagementScriptingTools;IIS-ManagementService;IIS- IIS6ManagementCompatibility;IIS-Metabase;IIS- WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;IIS- FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;WAS- WindowsActivationService;WAS-ProcessModel;WAS- NetFxEnvironment;WAS-ConfigurationAPI [HOW TO] IIS7.0 のインストール方法 http://blogs.technet.com/hirookun/archive/ 2007/09/08/iis7-how-to-iis7-0.aspx http://social.technet.microsoft.com/forums/ ja-JP/iis7ja/thread/bf87da4b-2e84-475a- 8984-fc1e1e2e215d/ パラメーターで XML ファイルを指定できる 129 ocsetup.exe start /w ocsetup IIS- WebServerRole ※2008 フルインストールだと機 能しないが、R2では既定インス トール Windows Server 2008 の Server Coreでは推奨の方法

[HOW TO] IIS7.0 のインストール方法 http://blogs.technet.com/hirookun/archi ve/2007/09/08/iis7-how-to-iis7-0.aspx http://social.technet.microsoft.com/foru ms/ja-JP/iis7ja/thread/bf87da4b-2e84- 475a-8984-fc1e1e2e215d/

130 ServerManagerCmd.exe -WhatIf などGUIよりパワフルな面も ServerManagerCmd -install Web-Server -a( ServerManagerCmd -install Web-Server -a -WhatIf ServerManagerCmd.exe -inputPath Default_FULL.xml

[HOW TO] IIS7.0 のインストール方法 http://blogs.technet.com/hirookun/archive/2007/09/08/iis7- how-to-iis7-0.aspx http://social.technet.microsoft.com/forums/ja- JP/iis7ja/thread/bf87da4b-2e84-475a-8984-fc1e1e2e215d/

-a は -allSubFeatures の省略: 指定しているよりも下を全部という意味

131 役割や機能を追加・削除するための新しいコ マンドラインツール インストールステータスを表示 Pkgmgr, Ocsetup よりも便利なエラー処理 複数の機能を一つのコマンドラインから 実行可能 Dism /online /enable-feature /featurename:MicrosoftWindowsPowerShell /featurename:ServerManager-PSH-Cmdlets Windows Server 2008 R2 と Windows 7 /onlineで実行中のOS、/imageでオフライン

132 Windows PowerShellのインストール start /w ocsetup MicrosoftWindowsPowerShell start /w ocsetup IIS-PowerShellProvider

Windows PowerShell コマンドレット Windows PowerShell を先にインストール必要 ServerManager cmdlets Start /w ocsetup ServerManager-PSH-Cmdlets add-pssnapin Microsoft.windows.servermanager add-windowsfeature, get-windowsfeature, remove-windowsfeature Best Practice Analyzer cmdlets Start /w ocsetup BestPractices-PSH-Cmdlets add-module BestPractices get-bparesult, invoke-bpamodel set-bparesult

133 134 134 出力キャッシュを準ダイナミックなページで有効にする データベース等で生成される動的ページでもクエリーストリング やヘッダーベースでの違いであればこの機能はかなり有効 接続通信帯域が潤沢で無い支店ありませんか? 動的圧縮機能を利用しましょう!約~ 5% CPU のオーバーヘッ ド 一台のマシンで相当な数の Web アプリケーションを動作 させますか? IIS ワーカープロセスを Wow64 モードで実行しよう。 OSにより多くリソースを空け、Web アプリにもリソースのゆとり 今ではアプリケーションプール毎の設定、是非試してみよう! Enable32BitAppOnWow64 新しいWebサーバーのハードウェアを購入しようとしてま すか? W2K8 はマルチプロセッサー(8 Coreとか)のマシンで非常に 効率的に動作できます。

135 秒間リクエストが数千の単位ですか? 使わないモジュールは外しましょう、あるいは 入れないようにしましょう。 なんでこんなに遅いページがあるんだろう という問題に突き当たってませんか? FREBを使って、“所要時間” のフィルター機能 を使って調査しましょう。 ASP.NETですべてのリクエストを * でスク リプトマップしてませんか? IIS7では統合パイプラインの方がずっと速い です。IIS7 Url 認証とともに使ってみよう!

136 PHP アプリケーションがありますか? 必ず FastCGI で環境を作りましょう。CGIより格段に速い。 ほとんどのリクエストが既定のドキュメント (例:index.htm、index.aspx)へのアクセスで すか? 該当のものを一番上にする IIS7は毎回順番にチェックすることになるので遅くなる 静的な既定のドキュメントはカーネルモードでキャッシュされ るのでその効果は劇的 (+450%) Webサーバーのパフォーマンスを簡易測定する ツールを探していますか? WCAT 6.3(無償)を使ってみよう。32と64用がある。 http://www.iis.net/downloads/default.aspx?tabid=34&i=1466&g=6

137 他の章は下記をクリックして PDF一覧からお入り下さい。

ITライブラリー (pdf 100冊) http://itlib1.sakura.ne.jp/

目次番号 270番 Windows Server Enterprise 2008 R2 完全解説 (再入門 ) 全26冊

138 138 139