部署应用程序失败:在中止部署期间,某些实例可能已经部署了新的应用程序版本
Failed to deploy application: During an aborted deployment, some instances may have deployed the new application version
我无法在 Elastic Beanstalk 上部署新版本。
一切正常,直到我尝试部署一个新版本,但我遇到了很多问题(这不是我第一次在这个环境中部署新版本,我已经部署了几十个)。当我设法修复所有这些错误时,我遇到了这些错误:
Failed to deploy application.
During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version.
Unsuccessful command execution on instance id(s) 'i-...'. Aborting the operation
我重新部署了那个不起作用的版本。
这是 Elastic Beanstalk 控制台:
Elastic Beanstalk console
Elastic Beanstalk events
来自 Elastic Beanstalk 的请求日志按钮 return 无。
来自 EC2 实例的系统日志显示了最后的工作版本日志。
我从 Configuration
导航窗格启用 CloudWatch 日志。它向 CloudWatch 日志添加了 4 个文件:
/var/log/eb-activity.log
-> 目前为空
/var/log/httpd/access_log
-> 目前为空
/var/log/httpd/error_log
-> 目前为空
/environment-health.log
-> Command is executing on all instances (56 minutes or more elapsed).", "Incorrect application version found on all instances. Expected version \"prod-v1.7.28-0\" (deployment 128).
这是一个 Amazon Linux,t2.medium 实例,Apache 作为网络服务器
我已经尝试过的:
- 每次更改 .zip 的名称以与其他已部署的 zip 不同
- 终止实例,loadBalancer 自动创建一个新实例
- 重启实例
- 重建 Elastic Beanstalk 环境
- 部署最简单的代码
我试图用下面的代码部署一个 zip,但我遇到了同样的错误。
<html>
<head>
<title>This is the title of the webpage!</title>
</head>
<body>
<p>This is an example paragraph. Anything in the <strong>body</strong> tag will appear on the page, just like this <strong>p</strong> tag and its contents.</p>
</body>
</html>
它总是回到上一个工作版本,当我尝试部署新版本时它不起作用。
在一些 post 上,我看到有人说这可能是因为实例太小,但在它运行完美之前,大小从那时起就没有改变。
如果您有任何问题或想法,我将不胜感激。
祝你有美好的一天!
答案:
就像你说的那样,问题出在日志中。我必须通过 ssh 进入我的 EC2 实例才能访问它们。错误在文件 cfn-init-cmd.log
中。
其中一个命令正在等待输入,因此超时且没有错误消息。
您应该检查 EBS 的日志以获取有关您的部署出现问题的任何提示。 AWS 控制台
对此会有帮助。
还有EC2可以获取的日志:
CloudWatch 日志是另一件要检查的事情。
你还应该检查自动缩放组,看看那里是否有任何健康检查。这些是什么类型的支票?什么是宽限期?
以下是 EC2 运行状况检查可能失败的原因列表。
您可以启动一个更好的 ec2 实例来进行故障排除。
实例状态检查。
以下是可能导致实例状态检查失败的问题示例:
系统状态检查失败
不正确的网络或启动配置
内存耗尽
损坏的文件系统
内核不兼容
此外,重建确实是一个激烈的步骤,因为它会破坏并重建您的所有资源。例如,您的 ELB DNS 将消失,任何关联的 EIP 将被释放。这些东西是不能回收的。
我无法在 Elastic Beanstalk 上部署新版本。
一切正常,直到我尝试部署一个新版本,但我遇到了很多问题(这不是我第一次在这个环境中部署新版本,我已经部署了几十个)。当我设法修复所有这些错误时,我遇到了这些错误:
Failed to deploy application.
During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version.
Unsuccessful command execution on instance id(s) 'i-...'. Aborting the operation
我重新部署了那个不起作用的版本。
这是 Elastic Beanstalk 控制台:
Elastic Beanstalk console
Elastic Beanstalk events
来自 Elastic Beanstalk 的请求日志按钮 return 无。 来自 EC2 实例的系统日志显示了最后的工作版本日志。
我从 Configuration
导航窗格启用 CloudWatch 日志。它向 CloudWatch 日志添加了 4 个文件:
/var/log/eb-activity.log
-> 目前为空/var/log/httpd/access_log
-> 目前为空/var/log/httpd/error_log
-> 目前为空/environment-health.log
->Command is executing on all instances (56 minutes or more elapsed).", "Incorrect application version found on all instances. Expected version \"prod-v1.7.28-0\" (deployment 128).
这是一个 Amazon Linux,t2.medium 实例,Apache 作为网络服务器
我已经尝试过的:
- 每次更改 .zip 的名称以与其他已部署的 zip 不同
- 终止实例,loadBalancer 自动创建一个新实例
- 重启实例
- 重建 Elastic Beanstalk 环境
- 部署最简单的代码
我试图用下面的代码部署一个 zip,但我遇到了同样的错误。
<html>
<head>
<title>This is the title of the webpage!</title>
</head>
<body>
<p>This is an example paragraph. Anything in the <strong>body</strong> tag will appear on the page, just like this <strong>p</strong> tag and its contents.</p>
</body>
</html>
它总是回到上一个工作版本,当我尝试部署新版本时它不起作用。
在一些 post 上,我看到有人说这可能是因为实例太小,但在它运行完美之前,大小从那时起就没有改变。
如果您有任何问题或想法,我将不胜感激。 祝你有美好的一天!
答案:
就像你说的那样,问题出在日志中。我必须通过 ssh 进入我的 EC2 实例才能访问它们。错误在文件 cfn-init-cmd.log
中。
其中一个命令正在等待输入,因此超时且没有错误消息。
您应该检查 EBS 的日志以获取有关您的部署出现问题的任何提示。 AWS 控制台 对此会有帮助。
还有EC2可以获取的日志:
CloudWatch 日志是另一件要检查的事情。
你还应该检查自动缩放组,看看那里是否有任何健康检查。这些是什么类型的支票?什么是宽限期?
以下是 EC2 运行状况检查可能失败的原因列表。 您可以启动一个更好的 ec2 实例来进行故障排除。
实例状态检查。
以下是可能导致实例状态检查失败的问题示例:
系统状态检查失败
不正确的网络或启动配置
内存耗尽
损坏的文件系统
内核不兼容
此外,重建确实是一个激烈的步骤,因为它会破坏并重建您的所有资源。例如,您的 ELB DNS 将消失,任何关联的 EIP 将被释放。这些东西是不能回收的。