将 ASP.NET Web 应用程序迁移到 AWS Elastic Beanstalk

使用交互式 Windows Web 应用程序迁移助手 (WWAMA)

概览

此实验室的目的是使用 Windows Web 应用程序迁移助手 (WWAMA) 将 ASP.NET Web 示例应用程序迁移到完全托管的 AWS Elastic Beanstalk 环境。有关 Windows Web 应用程序迁移助手的其他信息可参见此处

预期结果

您将会把 ASP.NET Web 示例应用程序迁移到完全托管的 AWS Elastic Beanstalk 环境。

先决条件

您将需要 AWS 账户和 IAM 权限来创建 EC2 实例、密钥对、安全组、IAM 用户和 Elastic Beanstalk 环境。本教程将部署一个 AWS CloudFormation 模板,该模板会在 EC2 实例上自动预置示例网站,以作为迁移的源 Web 应用程序。 

关于本教程
时间 15 分钟                                           
费用 免费套餐资格
使用案例 Windows 应用程序迁移
产品 AWS Elastic Beanstalk
受众 开发人员
级别 新手
上次更新时间 2020 年 3 月 30 日

1.注册 AWS

本教程中使用的 CloudFormation 模板会启动 t2.micro EC2 实例。t2.micro 实例类型是免费套餐的一部分。如果选中另一个实例类型,将会产生 EC2 费用。您可以在 EC2 定价页面上估计 EC2 费用。

 

已拥有账户? 登录

2.设置和配置

使用 CloudFormation 来启动将托管示例网站的 EC2 实例。然后,设置所需的 IAM 权限。

a.通过 CloudFormation 启动 EC2 实例

使用 CloudFormation 在 US-East-1 中启动 EC2 实例。

启动 CloudFormation 堆栈 >>

然后,单击下一步

WWAMA - CFN

选择现有的密钥对,或者如果没有密钥对,请创建密钥对。然后,单击下一步

WWAMA - 2

配置堆栈选项屏幕上,单击下一步。在查看屏幕的底部,单击创建堆栈。 

 

WWAMA - 3

当堆栈创建完成后,您将看到其状态变为“CREATE_COMPLETE”。

 

WWAMA - 5

b.创建 IAM 用户

登录 IAM 控制台 >>

在左侧导航菜单中,依次单击用户添加用户

输入用户名 MigrationUser,选中编程访问框,然后单击 Next:Permissions

WWAMA - 6

单击直接附加现有策略,并在搜索栏中键入 Beanstalk,以筛选策略。

单击以下 AWS 托管策略的复选框,然后单击下一步:标签

  • IAMReadOnlyAccess
  • AWSElasticBeanstalkFullAccess

 

WWAMA - 8

单击下一步:查看,然后单击创建用户


 

 

WWAMA - 9

创建好用户后,在屏幕出现时单击下载 CSV

 

 

WWAMA - 10

3.登录 EC2 控制台,并进行设置,以运行 WWAMA 工具

a.导航至 EC2 控制台并登录

在此登录 EC2 >>

当您登录 EC2 控制台后,选择 WWAMA 实例并单击连接

WWAMA - launch-instance

单击下载远程桌面文件并保存 RDP 文件。 然后,单击获取密码,并上传您的密钥对文件以获取 Widows Server 密码。您将看到纯文本密码,复制该密码,在下一步中您将需要它。

 

 

WWAMA - RDP_LI

使用您之前保存的 RDP 文件登录 EC2 实例,并提供您的密码。

 

 

b.在 EC2 Windows Server 上打开 PowerShell 终端

以管理员身份打开 PowerShell 终端,并运行右下部分示例中提供的命令以配置 AWS 凭证。将 ACCESS_KEYSECRET_ACCESS_KEY 替换为您之前在创建 MigrationUser 期间下载的 .CSV 中的值。

 

WWAMA - 13
PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default

c.提取迁移助手文件

迁移助手已由 CloudFormation 模板预下载到 C:\ 驱动器中。该文件为 wwama.zip

右键单击 wwama.zip 并提取助手。

WWAMA - 14

d.在迁移前查看示例网站

在 EC2 Windows Server 实例上打开 Web 浏览器并导航至 http://localhost/。您将看到迁移助手将迁移的示例网站。

WWAMA - localhost_LI

4.运行迁移助手

a.启动 MigrateIISWebsiteToElasticBeanstalk.ps1 脚本

在您之前打开的 PowerShell 终端中,启动迁移脚本。

助手将提示您输入凭证文件的位置。按 ENTER 跳过。

在系统提示您输入 AWS 配置文件名称时,输入默认名称

   

PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1

b.选择 AWS 区域

输入您希望 Elastic Beanstalk 环境在其中运行的 AWS 区域。例如:us-east-1。对于已提供 Elastic Beanstalk 的 AWS 区域列表,请参阅 AWS 一般参考中的 AWS Elastic Beanstalk 终端节点和配额

 

Enter the AWS Region (default us-east-1):

c.选择您想要迁移的 Web 应用程序

然后,助手将发现在 IIS 服务器上运行的网站并列出它们,如下面的示例所示。

 

 

WWAMA - 16

输入数字 2 以迁移示例站点。

Enter the number of the website to migrate: (default 1):

d.更新连接字符串

然后,助手将提示您更新上面所选的任何连接字符串,在此应用程序中没有任何连接字符串时按 ENTER。

此消息将出现:

“迁移助手没有找到任何连接字符串。”

Enter the number of the connection string you would like to update, or press ENTER:

e.设置您的 Elastic Beanstalk 应用程序

接下来,为新的 Elastic Beanstalk 应用程序命名。

 

 

在系统提示选择 Windows Server 版本时,键入“6”并按下 Enter。

Enter a unique name for your new Elastic Beanstalk application:
WWAMA - 17

输入您的应用程序将在其上运行的实例类型。类型 t2.micro。有关完整列表,请参阅 Amazon EC2 实例类型

Enter the instance type (default t3.medium) : t2.micro

然后,迁移助手会将您的应用程序迁移到 Elastic Beanstalk。

 

WWAMA - 18

当迁移完成后,您将在 CLI 中看到成功消息。

 

WWAMA - 19

5.导航至在 Elastic Beanstalk 上托管的 Web 应用程序

现在,站点已成功迁移,验证网站已启动并运行。

a.在 Web 浏览器中访问

您可以从 PowerShell 脚本的输出中获取 URL。

将 URL 输入您的 Web 浏览器,您应该看到现在正在 Elastic Beanstalk 上运行的 Web 应用程序。

 

WWAMA - 20
WWAMA - 21

b.在 Elastic Beanstalk 控制台中进行访问

您还可以从 AWS 控制台中查看 Elastic Beanstalk 环境。确保您看到应用程序部署到的相同区域的控制台。通过使用左侧的菜单,随时探索您可以用您的应用程序执行哪些操作。

 

WWAMA - 22

6.清理您的资源

在此最后一步中,您将清理并删除所有资源。

a.删除 Elastic Beanstalk 应用程序

转至 Elastic Beanstalk 控制台并单击右侧的操作菜单。然后,选择终止环境

 

 

WWAMA - 22

b.删除 CloudFormation 堆栈

转至 CloudFormation 控制台,并删除在实验室启动时创建的 CloudFormation 堆栈 WWAMAStack。

 

 

恭喜

您已使用 Windows Web 应用程序迁移助手 (WWAMA) 将 ASP.NET Web 示例应用程序成功迁移到完全托管的 Elastic Beanstalk 环境。


AWS Elastic Beanstalk 是一项易于使用的服务,用于在熟悉的服务器(例如 Apache 、Nginx、Passenger 和 IIS )上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、GO 和 Docker 开发的 Web 应用程序和服务。

您只需上传代码,Elastic Beanstalk 即可自动处理包括容量预配置、负载均衡、自动扩展和应用程序运行状况监控在内的部署工作。同时,您能够完全控制为应用程序提供支持的 AWS 资源,并可以随时访问底层资源。

要了解更多信息,请访问 AWS Elastic Beanstalk

本教程对您是否有帮助?

谢谢
请告知我们您喜欢什么。
很抱歉让您失望了
是否存在过时、令人困惑或不准确的内容? 请向我们提供反馈,帮助我们改进本教程。