

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 appcmd.exe 将 IIS 托管的应用程序迁移 EC2 到亚马逊
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd"></a>

*Deepak Kumar，Amazon Web Services*

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

当您将互联网信息服务 (IIS) 托管的应用程序迁移到亚马逊弹性计算云 (Amazon EC2) 实例时，您需要解决一些身份验证难题。这些挑战包括重新输入应用程序池标识的域凭证，以及可能需要重新生成机器密钥以确保网站功能正常运行。您可以使用 AWS Directory Service 与本地 Active Directory 建立信任关系，也可以在中创建新的托管 Active Directory AWS。此模式描述了一种干净的迁移方法，该方法在 Amazon EC2 实例上使用 IIS 的备份和还原功能。该方法使用 appcmd.exe 在目标 EC2 实例上卸载并重新安装 IIS，从而成功迁移 IIS 托管的网站、应用程序池标识和计算机密钥。

## 先决条件和限制
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-prereqs"></a>

**先决条件**
+ 目标服务器处于活动状态 AWS 账户 。
+ 一个正常运作的源 IIS 服务器，上面托管有网站。
+ 了解 IIS 工作原理，例如管理和配置。
+ 系统管理员可以访问源服务器及目标服务器。
+ 已完成源 IIS 服务器向目标服务器的迁移 AWS 账户。您可以使用迁移工具 AWS Application Migration Service，例如基于快照的 Amazon 系统映像 (AMI) 方法或其他迁移工具。

**限制**
+ 有些 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 Server

**目标技术堆栈**
+ 安装了 IIS 8.5 或 IIS 10.0 的 Windows Server
+ Application Migration Service

**目标架构**

下图显示了此模式的工作流和架构组件。

![将 IIS 托管的应用程序迁移到 Amazon 的工作流程。 EC2](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/2f9f7757-b2bc-4077-b51a-700de521424c/images/36aa9b7a-d0aa-4fa4-be47-9fee43b53c22.png)


此解决方案包括以下步骤：

1. 在公司数据中心的源 IIS 服务器上@@ [安装](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html)和配置 AWS 复制代理。此代理启动复制过程并管理向的数据传输。 AWS

1.  AWS 复制代理与应用程序迁移服务建立[安全连接](https://docs.aws.amazon.com/mgn/latest/ug/Agent-Related-FAQ.html#How-Communication-Secured)，并开始复制源服务器数据，包括 IIS 配置、网站和应用程序文件。

1. 应用程序迁移服务使用复制的数据启动应用程序子网中的 EC2 实例。目标 EC2 实例运行 IIS，包含已迁移的应用程序及其关联的 Amazon Elastic Block Store (Amazon EBS) 卷。初始复制完成后，Application Migration Service 继续同步更改，直至您[准备好切换](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 Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)帮助您将应用程序重新托管*（移动*）到， AWS Cloud 无需更改且停机时间最短。
+ [Amazon Elastic Block Store (Amazon](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) EBS) 提供用于亚马逊实例的块级存储卷。 EC2 
+ [亚马逊弹性计算云 (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) 在中提供可扩展的计算容量 AWS Cloud。您可以根据需要启动任意数量的虚拟服务器，并快速纵向扩展或缩减这些服务器。

**其他工具**
+ 适用于 Windows Server 的 [Internet Information Services（IIS）](https://www.iis.net/overview)是具备可扩展开放式架构的 Web 服务器，用于在网络上托管内容。IIS 提供了一组管理工具，包括管理和命令行工具（例如 appcmd.exe）、托管代码和脚本 APIs以及 Windows PowerShell 支持。

## 操作说明
<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>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建 IIS 托管的网站、配置密钥和 `WAS` 密钥的备份。 | 要为 IIS 托管的网站、配置密钥（`iisConfigurationKey`）和 `WAS` 密钥（`iisWasKey`）创建备份，请在源服务器上使用 appcmd.exe。使用以下步骤：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html)<br />要导出配置密钥和 `WAS` 密钥，请执行以下操作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | ISS 管理员 | 

### 在目标服务器上卸载并重新安装 IIS
<a name="uninstall-and-reinstall-iis-on-the-target-server"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在目标服务器上卸载 IIS | 要在目标服务器上卸载 IIS，请执行以下步骤：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | ISS 管理员 | 
| 在目标服务器上安装 IIS。 | 要在目标服务器上安装 IIS，请执行以下步骤：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | ISS 管理员 | 

### 从备份中恢复 IIS 网站和配置
<a name="restore-iis-websites-and-configuration-from-the-backups"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 恢复 IIS 网站和配置。 | 要在目标服务器上恢复从源服务器创建的 IIS 备份，请执行以下步骤：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | ISS 管理员 | 

## 相关资源
<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 Application Migration Service 文档）

**AWS 规范性指导**
+ [使用将本地虚拟机迁移到 Amazon EC2 AWS Application Migration Service](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)
+ [使用 AMIs 或 Amazon EBS 快照进行备份](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/ec2-backup.html#amis-snapshots)

**Microsoft 资源**
+ [应用程序池标识](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)