Web 配置の概要
厳 しいミタール
Web 配置とは
Web 配置は、コンテンツと構成を IIS に同期するための拡張可能なクライアント サーバー ツールです。 Web 配置は、主に次の 2 つのシナリオで使用されます。
- 開発者はこれを使用して、コンパイルされた Web アプリケーション (ASP .Net、PHP など) を開発者ツール (Visual Studio、WebMatrix など) から IIS に同期 ("発行") します
- IT プロフェッショナルは、IIS6 などの古いバージョンの IIS を実行しているオペレーティング システムから、IIS 7.5 などの新しいバージョンの IIS を実行しているオペレーティング システムに Web サイト & アプリケーションを移行するために使用します。
Web 配置と FTP の比較
Web Deploy は、FTP、XCOPY、RoboCopy などのテクノロジと比較されることがよくあります。 これらのテクノロジは便利ですが、Web Deploy にはいくつかの利点があります。
Web Deploy と FTP の比較を次に示します。
- Web デプロイは FTP よりも高速です。 Web 配置では、操作ごとに異なるコマンドは発行されません。 代わりに、同期の開始時に比較が行われ、変更のみが転送されます。
- Web デプロイはセキュリティで保護されています。 Web Deploy では、HTTPS 経由での転送がサポートされています。 SFTP や FTPS などの FTP のバリアントもセキュリティで保護されていることに注意してください。
- Web Deploy では、宛先ファイルとディレクトリにセキュリティ記述子 (ACL) を設定できます。 たとえば、Web 配置を使用して、展開時に Windows ユーザーにアプリケーションの "ダウンロード" フォルダーへの特定のアクセス権を付与できます。
- Web 配置では、データベースを発行できます。 Web 配置では、SQL Server、MySQL Server、Sqlite、SQL Server Compact データベースをスクリプト化し、同期中に結果のスクリプトを適用するための既定のサポートが提供されています。これは、アプリで機能するデータベースが必要な場合に非常に便利です。
- Web 配置では、デプロイ中に変換を適用できます。 Web 配置を使用して、同期中に接続文字列またはアプリケーション設定を変更できます。Web 配置では、IIS 設定の変換など、さまざまな変換がサポートされています。
- Web 配置は、Visual Studio 2010 および WebMatrix と統合されます。
- Web 配置は拡張可能です。 Web Deploy には、パブリックにアクセスできる豊富な拡張性モデルがあり、新しいシナリオを作成できます。
それはどのように機能しますか?
Web 配置操作のほとんどは、ソースと宛先の間の同期操作を中心にモデル化されています。 同期操作は、以下で説明するように、1 つ以上の Web 配置プロバイダーを使用して Web 配置フレームワークによって調整されます。
フレームワーク
Web 配置は、接続状態を管理し、ソース & の宛先間の同期を調整するフレームワークで構成されます。 たとえば、フレームワークは、特定の種類のコンテンツの同期、ルールの実行、ファイルの変換をスキップする役割を担います。
フレームワークには、パブリック API とコマンド ライン実行可能ファイル ( msdeploy.exe) を介してアクセスできます。
プロバイダー
Web 配置では、フレームワークに接続する組み込みプロバイダーを使用して、2 つの場所間で任意の種類のデータを同期できます。 プロバイダーは、2 つのソース間で特定の種類のデータを同期したり、データ ソースに関する有用な情報を取得したりする方法を知っています。
たとえば、Web 配置には、SQL Server データベース全体を別のサーバーに同期できる SQL データベース (dbFullSql) と連携するプロバイダーがあります。 他の組み込みプロバイダーは、MySQL データベース (dbMySql)、IIS 7 構成 (appHostConfig)、GAC アセンブリ (gacAssembly)、COM オブジェクト (comObject32/comObject64) を同期します。 より完全な一覧 は TechNet で確認できます。
プロバイダー モデルは拡張可能であり、開発者はカスタム データを同期する必要がある場合に、Web 配置用の独自のプロバイダーを作成できます。
しくみ
ソースが Web 配置を使用してアクションを開始すると、Web 配置フレームワークによって宛先との接続が確立されます。 Web Deploy では 2 つの接続エンドポイントがサポートされており、使用するものはいくつかの要因によって異なります。
- 宛先が IIS6 を実行している Windows Server 2003 の場合は、その Web Deployment Agent サービス (リモート エージェント サービスとも呼ばれます) エンドポイントに接続できます。 リモート エージェント サービスは、この接続のセキュリティを提供し、管理者ユーザーのみがアクセスできます。
- IIS7.5 を実行している IIS7 または Windows Server 2008 R2 を実行している Windows Server 2008 が宛先で、管理者以外の資格情報で接続している場合は、Web 管理サービス エンドポイントに接続する必要があります。 Web 配置は、Web 管理サービスでハンドラーをインストールします。これにより、管理者以外のユーザーは、Web 管理サービスで認証と承認を行った後に展開できます。
- 宛先が IIS7 を実行している Windows Server 2008 または IIS7.5 を実行している Windows Server 2008 R2 で、管理者の資格情報を使用して接続している場合は、いずれかのエンドポイントに接続できます。
詳細については、以下をご覧ください。
iis.net のチュートリアルと technet ドキュメントを参照してください。