本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
执行基本的 IIS 迁移
本节将指导你完成使用命令将 IIS 应用程序迁移到 Elastic Bean eb migrate stalk 的过程。
探索您的 IIS 环境
在进行任何更改之前,您需要了解服务器上存在哪些资源。首先运行浏览您的 IIS 站点eb migrate explore,如以下示例所示:
PS C:\migrations_workspace>
eb migrate explore
此命令会显示您的 IIS 站点。请参阅以下清单:
Default Web Site
Intranet
API.Internal
Reports
要详细查看每个站点的配置(包括绑定、应用程序和虚拟目录),请添加--verbose
选项,如以下示例所示:
PS C:\migrations_workspace>
eb migrate explore --verbose
以下列表显示了该命令提供的有关您的环境的全面信息:
1: Default Web Site:
- Bindings:
- *
:80:www.example.com
- *
:443:www.example.com
- Application '/':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\wwwroot
- Logon Method: ClearText
- Application '/api':
- Application Pool: ApiPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\websites\api
- Logon Method: ClearText
2: Intranet:
...
3. API.Internal:
...
4. Reports:
...
了解发现输出
详细输出为迁移规划提供了以下关键信息:
- 站点
-
发现输出列出了服务器上的所有 IIS 站点。每个网站都由其名称(例如 “默认网站”、“Intranet”、“API.Internal”)进行标识,并按顺序编号。当服务器上存在多个站点时,该
eb migrate
命令可以根据您的迁移策略单独或一起打包和部署每个站点。 - 绑定
-
协议绑定显示您的网站使用哪些协议 (HTTP/HTTPS) 以及它们在哪些端口上运行。绑定信息包括定义基于域的路由配置的主机标头要求。
- 应用程序
-
应用程序路径显示 IIS 配置中的根和嵌套应用程序结构。应用程序池分配表明您的应用程序如何相互隔离,以实现安全和资源管理。
- 虚拟目录
-
物理路径映射表示您的内容在文件系统中的位置。身份验证设置显示迁移后需要维护的特殊访问要求。
准备迁移
了解您的环境后,请确保您的服务器满足先决条件。首先,使用以下 PowerShell 命令验证您的 IIS 版本:
PS C:\migrations_workspace>
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\InetStp\" -Name MajorVersion
你需要 IIS 7.0 或更高版本。迁移工具使用 Web Deploy 3.6 来打包您的应用程序。使用以下命令验证其安装:
PS C:\migrations_workspace>
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3" -Name InstallPath
如果您的服务器上未安装 Web Deploy,则可以从 Microsoft Web 平台安装程序
您的第一次迁移
让我们从默认网站的基本迁移开始。以下示例显示了最简单的命令eb migrate。
PS C:\migrations_workspace>
eb migrate
此命令启动一系列自动步骤,如以下示例输出所示:
Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0)
id: vpc-1234567890abcdef0
publicip: true
elbscheme: public
ec2subnets: subnet-123,subnet-456,subnet-789
securitygroups: sg-123,sg-456
elbsubnets: subnet-123,subnet-456,subnet-789
Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
迁移工具会创建一个包含您的部署工件的结构化目录。以下清单显示了目录结构:
C:\migration_workspace\
└── .\migrations\latest\
└── upload_target\
├── DefaultWebSite.zip
├── aws-windows-deployment-manifest.json
└── ebmigrateScripts\
├── site_installer.ps1
├── permission_handler.ps1
└── >other helper scripts<
控制迁移
为了更好地控制迁移过程,您可以使用以下命令准确指定要迁移的站点:
PS C:\migrations_workspace>
eb migrate --sites "Default Web Site,Intranet"
您还可以自定义环境名称和应用程序名称,如以下示例命令所示:
PS C:\migrations_workspace>
eb migrate ` --sites "Default Web Site" ` --application-name "CorporateApp" ` --environment-name "Production"
有关选项的完整列表,请参阅eb migrate。
监控进度
在迁移期间,eb migrate提供实时状态更新。请参阅以下输出示例:
... Creating application version Creating environment... This may take a few minutes 2024-03-18 18:12:15 INFO Environment details for: Production Application name: CorporateApp Region: us-west-2 Deployed Version: app-230320_153045 Environment ID: e-abcdef1234 Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0 Tier: WebServer-Standard-1.0 CNAME: production.us-west-2.elasticbeanstalk.com Updated: 2024-03-20 15:30:45 2025-03-18 18:12:17 INFO createEnvironment is starting. 2025-03-18 18:12:19 INFO Using elasticbeanstalk-us-east-1-180301529717 as Amazon S3 storage bucket for environment data. 2025-03-18 18:12:40 INFO Created security group named: sg-0fdd4d696a26b086a 2025-03-18 18:12:48 INFO Environment health has transitioned to Pending. Initialization in progress (running for 7 seconds). There are no instances. ... 2025-03-18 18:23:59 INFO Application available at EBMigratedEnv-arrreal3.us-east-1.elasticbeanstalk.com. 2025-03-18 18:24:00 INFO Successfully launched environment: EBMigratedEnv-arrreal3
验证迁移
环境准备就绪后,Elastic Beanstalk 将提供多种方法来验证您的部署。
- 访问您的应用程序
-
在 Web 浏览器中打开您的应用程序 URL (CNAME),以验证其是否正常运行。
- 检查环境运行状况
-
使用eb health命令查看环境的运行状况。
PS C:\migrations_workspace>
eb health
以下屏幕图像显示了实例运行状况、应用程序响应指标和系统资源利用率。
- 使用eb logs命令访问日志以解决任何问题:
-
PS C:\migrations_workspace>
eb logs --zip
该eb logs命令将日志下载到
.elasticbeanstalk/logs
目录中。有关更多信息,请参阅 将 Elastic Bean CloudWatch stalk 与亚马逊日志一起使用。 - Connect 到实例
-
如果您在迁移期间指定了密钥对,则可以使用 RDP 连接到您的实例进行直接故障排除。
- 访问 Elastic Beanstalk 控制台
-
您可以通过该环境的环境管理控制台查看该环境的运行状况、日志和配置属性。
管理迁移对象
该eb migrate命令会在迁移过程中创建本地工件。这些构件包含敏感信息,随着时间的推移,可能会占用大量磁盘空间。使用cleanup子命令管理这些工件,如以下示例所示:
P
S C:\migrations_workspace>
eb migrate cleanup
Are you sure you would like to cleanup older artifacts within ./migrations/? (Y/N):
要在不确认的情况下强制清理,请使用以下--force选项:
PS C:\migrations_workspace>
eb migrate cleanup --force
清理过程会将最近成功的迁移保留在目录中,并删除较旧的迁移./migrations/latest
目录