本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
故障排除和诊断
本节为解决将 IIS 应用程序迁移到 Elastic Beanstalk 期间可能出现的常见问题提供了指导。
将 EC2 密钥对与您的环境相关联
您可以使用亚马逊密钥对安全地登录为您的 Elastic Beanstalk 应用程序预配置的亚马逊弹性计算云 (Amazon EC2) 实例。 EC2 有关创建密钥对的说明,请参阅亚马逊 EC2 用户指南 EC2中的使用亚马逊创建密钥对。
将密钥名指定为可以将您的 El eb migrate astic Beanstalk 环境与密钥对相关联。出于安全考虑,这不会在您的 EC2 实例安全组上打开端口 3389。您可以关联其他 EC2 安全组,允许端口 3389 上的流量在初始迁eb config移后通过。
PS C:\migrations_workspace>
eb migrate ` --keyname "my-keypair" ` --verbose
当您创建密钥对时,Amazon 会 EC2 存储您的公钥副本。如果您不再需要使用它来连接任何环境实例,可以将其从 Amazon 中删除 EC2。有关详情,请参阅 Amazon EC2 用户指南中的删除您的密钥对。
有关连接到 Windows 亚马逊 EC2 实例的更多信息,请参阅连接到 Windows 实例。
访问日志
EB CLI 提供了一种eb logs工具,您无需登录其实例即可使用该工具从 Elastic Beanstalk 环境中检索日志。 EC2 执行后eb migrate,您可以发出命令,该eb logs --zip命令会将日志下载并保存到.elasticbeanstalk\logs
目录中。
或者,您可以通过 E Amazon lastic Beanstalk 控制台查看日志。有关更多信息,请参阅 在 Elastic Beanstalk 环境中查看来自亚马逊 EC2 实例的日志。
访问客户端工件
该eb migrate命令存储由迁移工件目录msdeploy内部生成的应用程序和错误日志。
./migrations/
├── latest -> migration_20240308_123456/
└── migration_20240308_123456/
├── application.log
├── error.log
└── upload_target\
监控环境运行状况
Elastic Beanstalk 通过增强的运行状况监控功能帮助您监控运行状况。它是一个自动运行状况监控系统,利用诸如 CPU 利用率、延迟、请求计数和响应代码之类的内置指标,持续跟踪应用程序实例的运行状态。
运行状况监控系统利用基于代理的方法来收集实例级数据,并与实时日志和警报集成。Elastic Load Balancing (ELB) 和 Auto Scaling 会动态响应运行状况的变化,从而确保高可用性和容错能力。高级监控模式(包括增强型运行状况报告)可提供对应用程序行为的精细可见性,从而实现主动故障排除和自动恢复机制。
运行 EB CLI eb health 命令以显示环境的运行状况。将显示以下信息:
-
实例运行状况
-
应用程序响应指标
-
系统资源利用率
-
最近的部署事件
EC2 性能优化
默认情况下,eb migrate选择 c5.2xl
PS C:\migrations_workspace>
eb migrate ` --instance-type "t3.large"
对于生产环境,在选择实例类型时请考虑以下因素:
-
应用程序的内存要求
-
处理工作负载的 CPU 要求
-
网络性能需求
-
成本优化目标
EBS 卷配置
默认情况下,Elastic Beanstalk 将仅为您的环境创建根块C:\
设备卷 ()。您可以通过以下--ebs-snapshots选项传递其他 Amazon Elastic Block Store 快照卷:
PS C:\migrations_workspace>
eb migrate ` --ebs-snapshots "snap-123456789abc"
有关如何使用 Elastic Beanstalk 配置区块设备映射的示例,请参阅博客文章在 Elastic Beanstalk 环境中自定义临时卷和 EBS 卷。
对于存储要求高的应用程序,请考虑以下选项:
-
使用 EBS 卷存储永久数据
-
为静态内容实施 Amazon S3
-
将 Amazon f FSx or Windows 文件服务器用于共享文件系统
常见问题和解决方案
事件:缺少 Web 部署安装
如果你遇到与找不到 Web 部署相关的错误,请从微软 Web 平台安装程序
Couldn't find msdeploy.exe. Follow instructions here: https://learn.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy
事件:迁移期间的权限问题
如果您遇到与权限相关的错误,请确保以管理权限运行 EB CLI。以下示例显示了一条可能的错误消息。
[ERROR] Access to the path 'C:\inetpub\wwwroot\web.config' is denied.
事件:应用程序池身份问题
如果您的应用程序由于应用程序池标识问题而无法启动,请创建一个自定义脚本来配置应用程序池身份,如中所示自定义应用程序池设置。
事件:SSL 证书配置错误
如果 HTTPS 绑定无法正常工作,请确保使用选项参数指定了有效的 ACM 证书 ARN。eb mibrate --ssl-certificates
事件:环境创建超时
如果环境创建超时,请在 Amazon 管理控制台中检查 Amazon CloudFormation 事件以了解特定的资源创建失败。常见原因包括 VPC 配置问题或服务限制。
获取支持
如果您遇到无法解决的问题,请在联系之前 Amazon Web Services 支持 收集以下信息:
-
环境 ID (
eb status
) -
应用程序日志 (
eb logs --zip
) -
来自的迁移工件
.\migrations\latest\
-
源 IIS 配置(的输出
eb migrate explore --verbose
) -
详细的错误消息
有关 Elastic Beanstalk 疑难解答的更多信息,请参阅。排查 Elastic Beanstalk 环境的问题