View a markdown version of this page

appcmd.exe を使用して IIS がホストするアプリケーションを Amazon EC2 に移行する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

appcmd.exe を使用して IIS がホストするアプリケーションを Amazon EC2 に移行する

Amazon Web Services、Deepak Kumar

概要

Internet Information Services (IIS) がホストするアプリケーションを Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに移行する場合は、いくつかの認証処理を行う必要があります。アプリケーションプール ID のドメイン認証情報の再入力や、ウェブサイトが正しく機能するためのマシンキーの再生成などの作業を行います。このパターンでは、Amazon EC2 インスタンス上で IIS のバックアップおよび復元機能を使用する、クリーンな移行アプローチについて説明します。このアプローチでは、appcmd.exe を使用して、ターゲット Amazon EC2 インスタンスに IIS をアンインストールおよび再インストールし、IIS がホストするウェブサイト、アプリケーションプール ID、およびマシンキーの移行を成功させることができます。

前提条件と制限事項

前提条件

  • ターゲットサーバー AWS アカウント に対してアクティブな 。

  • ウェブサイトをホストする機能ソース IIS サーバー。

  • 管理や設定などの IIS 作業原則の理解。

  • ソースとターゲット双方のサーバーにおけるシステム管理者アクセス。

  • ソース IIS サーバーのターゲットへの移行が完了しました AWS アカウント。Amazon マシンイメージ (AMI) AWS Transform MGNスナップショットベースのアプローチなどの移行ツール、またはその他の移行ツールを使用できます。

  • ソースサーバーとターゲットサーバーの両方で Windows Server 2012 R2 以降。

  • 両方のサーバーにインストールされた Microsoft .NET Framework 4.5 以降 (aspnet_regiis.exe キーコンテナオペレーションに必要)

  • Amazon Simple Storage Service (Amazon S3)、共有ネットワークドライブ、セキュアコピーなど、バックアップファイルとエクスポートされたキー XML ファイルをソースからターゲットサーバーに転送する方法。

  • ソース IIS インスタンスとターゲット IIS インスタンスは、同じ IIS バージョン (8.5 または 10.0) を実行する必要があります。

制限事項

製品バージョン

  • IIS 8.5 または IIS 10.0

アーキテクチャ

ソーステクノロジースタック

  • IIS 8.5 または IIS 10.0 がインストールされている Windows サーバー

ターゲットテクノロジースタック

  • IIS 8.5 または IIS 10.0 がインストールされている Windows サーバー

  • AWS Transform MGN

ターゲットアーキテクチャ

次の図表は、このパターンのアプリケーションのワークフローとアーキテクチャコンポーネントを示しています。

IIS がホストするアプリケーションを Amazon EC2 に移行するワークフロー。

作業には以下のステップが含まれます。

  1. レプリケーションエージェントを企業データセンターのソース IIS AWS サーバーにインストールして設定します。このエージェントはレプリケーションプロセスを開始し、データ転送を管理します AWS。

  2. AWS レプリケーションエージェントは MGN への安全な接続を確立し、IIS 設定、ウェブサイト、アプリケーションファイルなどのソースサーバーデータのレプリケーションを開始します。

  3. MGN は、レプリケートされたデータを使用してアプリケーションサブネットで Amazon EC2 インスタンスを起動します。ターゲット Amazon EC2 インスタンスは IIS を実行し、移行されたアプリケーションと関連する Amazon Elastic Block Store (Amazon EBS) ボリュームが含まれます。最初のレプリケーション後、MGN は新しい環境にカットオーバーする準備ができるまで変更を同期し続けます。

ツール

AWS のサービス

  • AWS Transform MGN は、変更 AWS クラウド なしで最小限のダウンタイムでアプリケーションを にリホスト (リフトアンドシフト) するのに役立ちます。

  • Amazon Elastic Block Store (Amazon EBS) は、Amazon EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。

  • Amazon Elastic Compute Cloud (Amazon EC2) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。

その他のツール

  • Windows サーバー版 Internet Information Services (IIS) は、拡張可能なオープンアーキテクチャであり、ウェブ上のあらゆるものをホストします。IIS には、管理ツールおよびコマンドラインツール (appcmd.exe 等)、マネージドコードとスクリプト API、また Windows PowerShell サポートなどの一連の管理ツールが用意されています。

ベストプラクティス

  • エクスポートされたキーファイルを保護する – エクスポートされたプライベートキーを含む XML ファイルは、移行が成功した後、ソースサーバーとターゲットサーバーの両方から安全に転送 (転送中に暗号化) および削除する必要があります。

  • 非本番環境でテストする – テストサーバーを本番環境で実行する前に、テストサーバーでバックアップと復元の手順を実行します。

  • アプリケーションプール ID を文書化する – 復元後にパスワードを再入力する必要があるため、移行前にすべてのアプリケーションプール ID 認証情報を記録します。

  • SSL 証明書を個別にバックアップする – appcmd.exe バックアップには SSL 証明書または TLS 証明書は含まれません。Certificates MMC スナップインまたは PowerShell を使用して個別にエクスポートする

  • ウェブコンテンツファイルの検証 – IIS 設定バックアップには、ウェブアプリケーションファイル (wwwroot コンテンツ) は含まれません。これらがサーバーイメージで移行されていることを確認します AWS Transform MGN。

エピック

タスク説明必要なスキル

IIS がホストするウェブサイト、設定キー、および WAS キーのバックアップを作成します。

IIS がホストするウェブサイト、設定キー (iisConfigurationKey)、および WAS キー (iisWasKey) のバックアップを作成するには、ソースサーバーで appcmd.exe を使用します。以下のステップを使用します。

  1. 管理者としてコマンドプロンプトを開きます。

  2. 次のコマンドを実行します。cd c:\windows\system32\inetsrv

  3. <backupname> を自分の値に置き換えて、以下のコマンドを実行します。appcmd.exe add backup "<backupname>

設定キーと WAS キーをエクスポートするには、次の手順を実行してください。

  1. エクスポートディレクトリを作成します。 mkdir C:\temp

  2. 次のコマンドを実行します。cd c:\windows\Microsoft.NET\Framework64\v4.0.30319

  3. 次のコマンドを実行します。aspnet_regiis.exe -px "iisConfigurationKey" C:\temp\iisConfKey.xml -pri

  4. 次のコマンドを実行します。aspnet_regiis.exe -px "iisWasKey" C:\temp\iisWasKey.xml -pri

IIS 管理者
タスク説明必要なスキル

ターゲットサーバーで IIS をアンインストールします。

次の手順に従って、ターゲットサーバーで IIS をアンインストールしてください。

  1. 管理者権限を持つサーバーにサインインします。

  2. [サーバー管理者] に移動します。

  3. [管理][ロールと機能の削除][次へ]、もう一度 [次へ] の順に選択します。

  4. Web Server (IIS) チェックボックスをオフにし、次へ、次を選択します。

  5. [宛先サーバーを自動的に再起動] のボックスにチェックを入れます。アンインストールプロセスが完了すると、システムは再起動します。

  6. IIS は正常にアンインストールされていることを検証するには、C:\Windows\System32\inetsrv に移動してフォルダが空になっていることを確認します。

IIS 管理者

ターゲットサーバーに IIS をインストールします。

次の手順に従って、ターゲットサーバーに IIS をインストールしてください。

  1. 管理者権限を持つサーバーにサインインします。

  2. [サーバー管理者] に移動します。

  3. [ロールと機能の追加][次へ][次へ][次へ]、さらにもう一度 [次へ] を選択します。

  4. [Webserver IIS] のボックスにチェックを入れます。プロンプトが表示されたら、[機能の追加] を選択します。

  5. 「アプリ開発」、「機能の追加」、「すべての機能の選択」に表示されるチェックボックスをすべて選択します。詳細な機能を選択したら、最終確認を行います。

  6. [インストール] を選択します。

IIS 管理者
タスク説明必要なスキル

IIS ウェブサイトと設定を復元します。

次の手順に従って、ターゲットサーバーのソースサーバーから作成した IIS バックアップを復元してください。

  1. フォルダbackupに という名前のC:\windows\system32\inetsrvフォルダを作成し、その中にソースバックアップフォルダを配置します。

  2. 管理者としてコマンドプロンプトを開き、実行します。

  3. 次のコマンドを実行します。cd C:\windows\system32\inetsrv

  4. 次のコマンドを実行します。C:\windows\system32\inetsrv\appcmd.exe list backup

  5. 次のコマンドを実行します。C:\windows\system32\inetsrv\appcmd.exe restore backup <sourcebackup>

  6. 次のコマンドを実行します。cd c:\windows\Microsoft.NET\Framework64\v4.0.30319

  7. 次のコマンドを実行します。aspnet_regiis.exe -pi "iisConfigurationKey" C:\temp\iisConfKey.xml -exp

  8. 次のコマンドを実行します。aspnet_regiis.exe -pi "iisWasKey" C:\temp\iisWasKey.xml -exp

  9. IIS をリセットし、[アプリケーションプール ID とウェブサイト] の詳細設定に移動してパスワードを再入力します。

  10. IIS Manager を開き、すべてのウェブサイト、アプリケーションプール、仮想ディレクトリが復元されていることを確認します。

  11. 各ウェブサイトを参照して、コンテンツが正しく提供されていることを確認します。

  12. 復元が成功したことを確認したら、エクスポートしたキーファイルを から削除しますC:\temp

    del C:\temp\iisConfKey.xml

    del C:\temp\iisWasKey.xml

IIS 管理者

関連リソース

AWS ドキュメント

AWS 規範ガイダンス

Microsoft リソース

追加情報

  • appcmd.exe バックアップには、アプリケーションプール、サイト、グローバル設定、IIS スキーマが含まれます。ウェブコンテンツファイル、SSL 証明書、共有設定ファイルは含まれません。

  • 大規模な IIS ファーム移行では、スクリプトによるバックアップおよび復元オペレーションに PowerShell Web-Administration モジュールを使用することを検討してください。