使用 appcmd.exe 将 IIS 托管的应用程序迁移 EC2 到亚马逊 - AWS 规范指引

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

使用 appcmd.exe 将 IIS 托管的应用程序迁移 EC2 到亚马逊

Deepak Kumar,Amazon Web Services

Summary

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

先决条件和限制

先决条件

  • 目标服务器处于活动状态 AWS 账户 。

  • 一个正常运作的源 IIS 服务器,上面托管有网站。

  • 了解 IIS 工作原理,例如管理和配置。

  • 系统管理员可以访问源服务器及目标服务器。

  • 已完成源 IIS 服务器向目标服务器的迁移 AWS 账户。您可以使用迁移工具 AWS Application Migration Service,例如基于快照的 Amazon 系统映像 (AMI) 方法或其他迁移工具。

限制

产品版本

  • IIS 8.5 或 IIS 10.0

架构

源技术堆栈

  • 安装了 IIS 8.5 或 IIS 10.0 的 Windows Server

目标技术堆栈

  • 安装了 IIS 8.5 或 IIS 10.0 的 Windows Server

  • Application Migration Service

目标架构

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

将 IIS 托管的应用程序迁移到 Amazon 的工作流程。 EC2

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

  1. 在公司数据中心的源 IIS 服务器上@@ 安装和配置 AWS 复制代理。此代理启动复制过程并管理向的数据传输。 AWS

  2. AWS 复制代理与应用程序迁移服务建立安全连接,并开始复制源服务器数据,包括 IIS 配置、网站和应用程序文件。

  3. 应用程序迁移服务使用复制的数据启动应用程序子网中的 EC2 实例。目标 EC2 实例运行 IIS,包含已迁移的应用程序及其关联的 Amazon Elastic Block Store (Amazon EBS) 卷。初始复制完成后,Application Migration Service 继续同步更改,直至您准备好切换到新环境为止。

工具

AWS 服务

其他工具

  • 适用于 Windows Server 的 Internet Information Services(IIS)是具备可扩展开放式架构的 Web 服务器,用于在网络上托管内容。IIS 提供了一组管理工具,包括管理和命令行工具(例如 appcmd.exe)、托管代码和脚本 APIs以及 Windows PowerShell 支持。

操作说明

Task说明所需技能

创建 IIS 托管的网站、配置密钥和 WAS 密钥的备份。

要为 IIS 托管的网站、配置密钥(iisConfigurationKey)和 WAS 密钥(iisWasKey)创建备份,请在源服务器上使用 appcmd.exe。使用以下步骤:

  1. 以管理员身份打开命令提示符并运行。

  2. 运行以下命令:c:\windows\system32\inetsrv

  3. 运行以下命令,将 <backupname> 替换为您的值:appcmd.exe add backup "<backupname>"

要导出配置密钥和 WAS 密钥,请执行以下操作:

  1. 运行以下命令:cd c:\windows\Microsoft.NET\Framework\v2.0.50727 5. aspnet_regiis.exe -px "iisConfigurationKey"

  2. 运行以下命令:C:\temp\iisConfKey.xml -pri

  3. 运行以下命令:aspnet_regiis.exe -px "iisWasKey" C:\temp\iisWasKey.xml -pri

ISS 管理员
Task说明所需技能

在目标服务器上卸载 IIS

要在目标服务器上卸载 IIS,请执行以下步骤:

  1. 使用管理员权限登录服务器。

  2. 前往服务器管理器

  3. 依次选择管理移除角色和功能下一步下一步

  4. 清除 Web IIS 复选框,然后依次选择下一步下一步

  5. 选中自动重启目标服务器复选框。卸载完成后,系统将重新启动。

  6. 前往 C:\Windows\System32\inetsrv 并确认此文件夹为空,以验证是否成功卸载 IIS。

ISS 管理员

在目标服务器上安装 IIS。

要在目标服务器上安装 IIS,请执行以下步骤:

  1. 使用管理员权限登录服务器。

  2. 前往服务器管理器

  3. 依次选择添加角色和功能下一步下一步下一步下一步

  4. 选中 Web 服务器 IIS 复选框。出现提示时,选择添加功能

  5. 选择应用程序开发中显示的所有复选框,然后依次选择添加功能选择所有功能。可以更细致地选择功能,再进行确认。

  6. 选择安装

ISS 管理员
Task说明所需技能

恢复 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\v2.0.50727\

  7. 运行以下命令:aspnet_regiis.exe -pi "iisConfigurationKey" C:\temp\iisConfKey.xml -exp

  8. 运行以下命令:aspnet_regiis.exe -pi "iisWasKey" C:\temp\iisWasKey.xml -exp

  9. 重置 IIS,然后前往应用程序池标识和网站高级设置重新输入密码。

ISS 管理员

相关资源

AWS 文档

AWS 规范性指导

Microsoft 资源