

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

# appcmd.exe を使用して IIS がホストするアプリケーションを Amazon EC2 に移行する
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd"></a>

*Amazon Web Services、Deepak Kumar*

## 概要
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-summary"></a>

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

## 前提条件と制限事項
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-prereqs"></a>

**前提条件**
+ ターゲットサーバー 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) を実行する必要があります。

**制限事項**
+ 一部の AWS のサービス は、すべてで利用できるわけではありません AWS リージョン。利用可能なリージョンについては、「[AWS サービス (リージョン別)](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)」を参照してください。特定のエンドポイントについては、「[サービスエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)」を参照して、サービスのリンクを選択してください。

**製品バージョン**
+ IIS 8.5 または IIS 10.0

## アーキテクチャ
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-architecture"></a>

**ソーステクノロジースタック**
+ IIS 8.5 または IIS 10.0 がインストールされている Windows サーバー

**ターゲットテクノロジースタック**
+ IIS 8.5 または IIS 10.0 がインストールされている Windows サーバー
+ AWS Transform MGN

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

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

![IIS がホストするアプリケーションを Amazon EC2 に移行するワークフロー。](https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/2f9f7757-b2bc-4077-b51a-700de521424c/images/36aa9b7a-d0aa-4fa4-be47-9fee43b53c22.png)


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

1. レプリケーションエージェントを企業データセンターのソース IIS AWS サーバーに[インストール](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html)して設定します。このエージェントはレプリケーションプロセスを開始し、データ転送を管理します AWS。

1.  AWS レプリケーションエージェントは MGN への[安全な接続](https://docs.aws.amazon.com/mgn/latest/ug/Agent-Related-FAQ.html#How-Communication-Secured)を確立し、IIS 設定、ウェブサイト、アプリケーションファイルなどのソースサーバーデータのレプリケーションを開始します。

1. MGN は、レプリケートされたデータを使用してアプリケーションサブネットで Amazon EC2 インスタンスを起動します。ターゲット Amazon EC2 インスタンスは IIS を実行し、移行されたアプリケーションと関連する Amazon Elastic Block Store (Amazon EBS) ボリュームが含まれます。最初のレプリケーション後、MGN は新しい環境に[カットオーバーする準備](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html#ready-for-cutover1)ができるまで変更を同期し続けます。

## ツール
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-tools"></a>

**AWS のサービス**
+ [AWS Transform MGN](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) は、変更 AWS クラウド なしで最小限のダウンタイムでアプリケーションを にリホスト (*リフトアンドシフト*) するのに役立ちます。
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) は、Amazon EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。

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

## ベストプラクティス
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-best-practices"></a>
+ **エクスポートされたキーファイルを保護する** – エクスポートされたプライベートキーを含む XML ファイルは、移行が成功した後、ソースサーバーとターゲットサーバーの両方から安全に転送 (転送中に暗号化) および削除する必要があります。
+ **非本番環境でテスト**する – テストサーバーを本番環境で実行する前に、テストサーバーでバックアップと復元の手順を実行します。
+ **アプリケーションプール ID を文書化する** – 復元後にパスワードを再入力する必要があるため、移行前にすべてのアプリケーションプール ID 認証情報を記録します。
+ **SSL 証明書を個別にバックアップ**する – appcmd.exe バックアップには SSL 証明書または TLS 証明書は含まれません。Certificates MMC スナップインまたは PowerShell を使用して個別にエクスポートする
+ **ウェブコンテンツファイルの検証** – IIS 設定バックアップには、ウェブアプリケーションファイル (wwwroot コンテンツ) は含まれません。これらがサーバーイメージで移行されていることを確認します AWS Transform MGN。

## エピック
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-epics"></a>

### 移行前に IIS をソースにバックアップする
<a name="back-up-iis-at-source-prior-to-migration"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| IIS がホストするウェブサイト、設定キー、および `WAS` キーのバックアップを作成します。 | IIS がホストするウェブサイト、設定キー (`iisConfigurationKey`)、および `WAS` キー (`iisWasKey`) のバックアップを作成するには、ソースサーバーで appcmd.exe を使用します。以下のステップを使用します。1. 管理者としてコマンドプロンプトを開きます。<br />2. 次のコマンドを実行します。`cd c:\windows\system32\inetsrv`<br />3. `<backupname>` を自分の値に置き換えて、以下のコマンドを実行します。`appcmd.exe add backup "<backupname>`<br />設定キーと `WAS` キーをエクスポートするには、次の手順を実行してください。1. エクスポートディレクトリを作成します。 `mkdir C:\temp`<br />2. 次のコマンドを実行します。`cd c:\windows\Microsoft.NET\Framework64\v4.0.30319`<br />3. 次のコマンドを実行します。`aspnet_regiis.exe -px "iisConfigurationKey" C:\temp\iisConfKey.xml -pri`<br />4. 次のコマンドを実行します。`aspnet_regiis.exe -px "iisWasKey" C:\temp\iisWasKey.xml -pri` | IIS 管理者 | 

### ターゲットサーバー上で IIS をアンインストールした後、再インストールする
<a name="uninstall-and-reinstall-iis-on-the-target-server"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ターゲットサーバーで IIS をアンインストールします。 | 次の手順に従って、ターゲットサーバーで IIS をアンインストールしてください。1. 管理者権限を持つサーバーにサインインします。<br />2. **[サーバー管理者]** に移動します。<br />3. **[管理]**、**[ロールと機能の削除]**、**[次へ]**、もう一度 **[次へ]** の順に選択します。<br />4. Web **Server (IIS)** チェックボックスをオフにし、**次へ**、次**へ**を選択します。<br />5. **[宛先サーバーを自動的に再起動]** のボックスにチェックを入れます。アンインストールプロセスが完了すると、システムは再起動します。<br />6. IIS は正常にアンインストールされていることを検証するには、`C:\Windows\System32\inetsrv` に移動してフォルダが空になっていることを確認します。 | IIS 管理者 | 
| ターゲットサーバーに IIS をインストールします。 | 次の手順に従って、ターゲットサーバーに IIS をインストールしてください。1. 管理者権限を持つサーバーにサインインします。<br />2. **[サーバー管理者]** に移動します。<br />3. **[ロールと機能の追加]**、**[次へ]**、**[次へ]**、**[次へ]**、さらにもう一度 **[次へ]** を選択します。<br />4. **[Webserver IIS]** のボックスにチェックを入れます。プロンプトが表示されたら、**[機能の追加]** を選択します。<br />5. **「アプリ開発**」、**「機能の追加**」、**「すべての機能の選択**」に表示されるチェックボックスをすべて選択します。詳細な機能を選択したら、最終確認を行います。<br />6. **[インストール]** を選択します。 | IIS 管理者 | 

### バックアップから IIS ウェブサイトと設定を復元する
<a name="restore-iis-websites-and-configuration-from-the-backups"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| IIS ウェブサイトと設定を復元します。 | 次の手順に従って、ターゲットサーバーのソースサーバーから作成した IIS バックアップを復元してください。1. フォルダ`backup`に という名前の`C:\windows\system32\inetsrv`フォルダを作成し、その中にソースバックアップフォルダを配置します。<br />2. 管理者としてコマンドプロンプトを開き、実行します。<br />3. 次のコマンドを実行します。`cd C:\windows\system32\inetsrv`<br />4. 次のコマンドを実行します。`C:\windows\system32\inetsrv\appcmd.exe list backup`<br />5. 次のコマンドを実行します。`C:\windows\system32\inetsrv\appcmd.exe restore backup <sourcebackup>`<br />6. 次のコマンドを実行します。`cd c:\windows\Microsoft.NET\Framework64\v4.0.30319`<br />7. 次のコマンドを実行します。`aspnet_regiis.exe -pi "iisConfigurationKey" C:\temp\iisConfKey.xml -exp`<br />8. 次のコマンドを実行します。`aspnet_regiis.exe -pi "iisWasKey" C:\temp\iisWasKey.xml -exp`<br />9. IIS をリセットし、**[アプリケーションプール ID とウェブサイト]** の詳細設定に移動してパスワードを再入力します。<br />10. IIS Manager を開き、すべてのウェブサイト、アプリケーションプール、仮想ディレクトリが復元されていることを確認します。<br />11. 各ウェブサイトを参照して、コンテンツが正しく提供されていることを確認します。<br />12. 復元が成功したことを確認したら、エクスポートしたキーファイルを から削除します`C:\temp`。<br />`del C:\temp\iisConfKey.xml`<br />`del C:\temp\iisWasKey.xml` | IIS 管理者 | 

## 関連リソース
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-resources"></a>

**AWS ドキュメント**
+ [AWS レプリケーションエージェントのインストール](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) (AWS Transform MGN ドキュメント)

**AWS 規範ガイダンス**
+ [を使用してオンプレミス VM を Amazon EC2 に移行する AWS Transform MGN](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)
+ [Using AMIs or Amazon EBS snapshots for backups](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/ec2-backup.html#amis-snapshots)

**Microsoft リソース**
+ [アプリケーションプール ID](https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/was-service-svchost-process-operation/understanding-identities#application-pool-identities)
+ [IIS ドキュメント](https://learn.microsoft.com/en-us/iis/)
+ [IIS 8 appcmd.exe ドキュメント](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635852(v=ws.11))
+ [IIS 10 appcmd.exe ドキュメント](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10)
+ [強力な管理ツール](https://learn.microsoft.com/en-us/iis/overview/powerful-admin-tools)

## 追加情報
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-additional"></a>
+ appcmd.exe バックアップには、アプリケーションプール、サイト、グローバル設定、IIS スキーマが含まれます。ウェブコンテンツファイル、SSL 証明書、共有設定ファイルは含まれません。
+ 大規模な IIS ファーム移行では、スクリプトによるバックアップおよび復元オペレーションに PowerShell Web-Administration モジュールを使用することを検討してください。