IIS 6.0 から IIS 7.0 への移行

作成者 : Faith Allington
発行日 : 2008 年 3 月 23 日 (作業者 : faith_a(英語))
更新日 : 2009 年 5 月 12 日 (作業者 : faith_a(英語))

このクイック ガイドは、Web 配置ツールを使用して IIS 6.0 から IIS 7.0 へ Web サイトを移行するのに役立ちます。

Web 配置ツールを使用して実施できる移行の種類

  • すべての構成設定、コンテンツ、および証明書を含む 1 つまたはそれこそ 1,000 の Web サイトの、IIS6 から IIS7 への移行
  • 単一アプリケーションの移行
  • サーバー全体 (すべての Web サイト、アプリケーション プールなど) の IIS6 から IIS7 への移行
  • サイト、アプリケーション プール、アセンブリ、COM オブジェクト、レジストリ キー、コンテンツなどからなるカスタム マニフェストの、IIS6 から IIS7 への移行

前提条件

このガイドの前提条件ソフトウェアは以下のとおりです。

  • .NET Framework 2.0 SP1 以降
  • Web 配置ツール(RC 版)

注 : Web 配置ツールをまだインストールしていない場合は、「Web 配置ツールのインストール」を参照してください。

パート 1 - サイトの依存関係の表示

1. 次のコマンドを実行して、Web サイトの依存関係を取得します。

msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1

2. 依存関係の出力内容を確認し、スクリプト マップ、またはサイトで使用されているインストール済みコンポーネントを探します。たとえば Windows 認証が Web サイトで使用されている場合、<dependency name="WindowsAuthentication" /> が見つかります。

3. サイトがスクリプト マップを継承している場合、このスクリプト マップは依存関係に表示されません。そのサイトのスクリプト マップを手動で確認する必要があります。

4. ターゲットで必要なコンポーネントの一覧をまとめます。

getDependencies の出力を分析する詳細な手順については、「Web サイトの依存関係の表示」を参照してください。

パート 2 - ターゲットの構成

1. 依存関係の一覧を確認し、その依存関係をターゲット サーバーにインストールします。

たとえば、以下が Web サイトで使用されているとします。

  • ASP.NET
  • Windows 認証
  • 匿名認証

依存関係の分析に基づいて、これらのコンポーネントとモジュールをインストールします。

パート 3 - ターゲットへのサイトの移行

1. ターゲット サーバーのバックアップを必ず作成します。テストだけの場合でも、これにより、サーバーの状態を簡単に復元できます。

2. ソース サーバーで以下のコマンドを実行し、同期のために、サーバーのアーカイブを取得します。

msdeploy -verb:sync  -source:metakey=lm/w3svc/1 -dest:archivedir=c:\site1archive > msdeployarchive.log

3. アーカイブ フォルダーをターゲット サーバーにコピーします。

3. ターゲット サーバーで次のコマンドを実行して、移行が実行された場合にどんな結果になるかを確認します。

msdeploy -verb:migrate -source:archivedir=c:\site1archive -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log

4. 出力内容を検証後、whatif フラグを指定せずに同じコマンドを実行します。

msdeploy -verb:migrate -source:archivedir=c:\site1archive -dest:metakey=lm/w3svc/1 > msdeploysync.log

任意 - リモート サービスを使用した、ターゲットへのサイトの移行

アーカイブから移行したくない場合は、リモート サービスを使用して移行できます。

1. リモート ソースから同期するかリモート ターゲットへ同期するかに応じて、ソースまたはターゲットのいずれかにリモート サービスをインストールします。

2. コンピューターでサービスを開始します。

net start msdepsvc 

3. 次のコマンドを実行して、ローカル ソースからリモート ターゲットへの "プッシュ" 同期を実行します (Server1 を、使用しているコンピューター名で置き換えてください)。

msdeploy -verb:migrate -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log

4. リモート ソースからローカル ターゲットへの "プル" 同期を実行する場合は、次のコマンドを実行します (Server1 を、使用しているコンピューター名で置き換えてください)。

msdeploy -verb:migrate -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log 

これで、サイトの移行が終了しました。確認する場合は、ターゲット サーバーにある Web サイトの閲覧をテストします。トラブルシューティングのヘルプについては、「Web 配置ツールのトラブルシューティング」を参照してください。

まとめ

ここでは、ソースの IIS 6.0 サーバーからターゲットの IIS 7.0 サーバーへの Web サイトの移行 (依存関係の表示、ターゲットの IIS 7.0 サーバーの構成、および移行の実行を含む) を行いました。