为啥我的 ec2-instance 被 elastic-beanstalk 终止?

Posted

技术标签:

【中文标题】为啥我的 ec2-instance 被 elastic-beanstalk 终止?【英文标题】:Why was my ec2-instance terminated by elastic-beanstalk?为什么我的 ec2-instance 被 elastic-beanstalk 终止? 【发布时间】:2015-12-20 10:06:07 【问题描述】:

我在 Elastic Beanstalk 环境中有一个 EC2 实例,该实例因未知原因而终止。我拥有的唯一信息是状态转换原因

Client.UserInitiatedShutdown: User initiated shutdown. 

我单独使用这个环境,确定不是我自己发起关机,所以这一定是EB。

在事件中只有一条记录:instance 'i-6252b1a3' has been removed from your environment。在 EB 日志中也没有提及终止此实例。我如何才能获取此实例终止原因的信息?

【问题讨论】:

【参考方案1】:

当您达到 Elastic Block Store (EBS) 容量限制时会发生这种情况,尤其是当它是免费层服务器时。该错误可能会产生误导,因为它说:

用户启动关机

有关诊断实例终止的详细信息,请参阅“What To Do If An Instance Immediately Terminates”。

AWS CloudTrail 有帮助,但如果它没有设置为监控实例关闭,它不会为您提供任何详细信息。

如果您的 EC2 仪表板中没有设置监控,在监控失败期间没有设置任何警报来恢复,那么就无法恢复终止的服务器。

如果您创建了快照,您可以restore it,或者如果服务器已经终止,您可以从备份中创建一个新实例。

这样您不必更改您的服务器应用程序,而是使用 webservice/api 的移动和其他应用程序。

【讨论】:

【参考方案2】:

尝试查看您的 AWS CloudTrail 日志

AWS CloudTrail 是一项网络服务,可记录您的 AWS API 调用 帐户并向您提供日志文件。记录的信息 包括 API 调用者的身份、API 调用的时间、 API 调用者的源 IP 地址、请求参数和 AWS 服务返回的响应元素。

https://aws.amazon.com/cloudtrail/

您将能够找出谁在调用终止您的实例。

【讨论】:

以上是关于为啥我的 ec2-instance 被 elastic-beanstalk 终止?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 https 在 AWS Elastic Beanstalk 上被阻止?

为啥我的 Rails 应用程序无法部署到 AWS Elastic Beanstalk?

为啥 Amazon Elastic Beanstalk 需要很长时间才能更新我的部署?

为啥在 AWS Elastic BeanStalk 中将 Web 服务器更改为 nginx 时我的网页标题显示“Apache”

为啥 AWS Elastic Beanstalk Python 优先插入“静态”规则在所有其他规则之前?

为啥 Docker 构建命令在 Elastic Beanstalk 中运行如此缓慢?