AWS Beanstalk 重启实例

Posted

技术标签:

【中文标题】AWS Beanstalk 重启实例【英文标题】:AWS Beanstalk Restarts Instance 【发布时间】:2019-08-01 22:24:41 【问题描述】:

我使用运行 nodejs 应用程序的 AWS Codepipeline、Github、Jenkins 和 AWS Elastic Beanstalk (Docker) 创建了一个管道。每次在 AWS Codepipeline 中触发构建并在 Elastic Beanstalk 实例上完成部署时,它对应的 EC2 实例都会终止并重新创建另一个实例,我们只希望在不终止 EC2 实例的情况下部署应用程序。每次构建/部署终止的原因可能是什么?

【问题讨论】:

新版本的部署是否会导致巨大的 CPU 峰值?这可能是 Beanstalk 终止您的实例的原因(它认为它们不健康) @Xavier 如果可行,我会尝试发布,谢谢 【参考方案1】:

您的 beanstalk 中有多少个实例,您使用的是什么部署方法:All at Once、Rolling、Rolling with an Additional Batch 或 Immutable?

有了这些回复,我们就可以继续研究了。

【讨论】:

单个实例正在运行,但最多设置了 4 个。部署是(滚动 30%)【参考方案2】:

我切换到不可变部署并停止遇到此问题,如下所述:Difference between rolling, rolling with additional batch and immutable deployments in AWS?

原来滚动部署会导致超时,尤其是我需要一个实例

【讨论】:

以上是关于AWS Beanstalk 重启实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk(节点环境)中的 pm2 重启循环

AWS 仅允许用户访问弹性 beanstalk 实例和存储

更新 AWS 弹性 beanstalk 实例的 apache 配置文件中的 maxclients 设置

AWS - 配置从 Beanstalk 应用程序对 EC2 实例的访问

替换 AWS Elastic BeanStalk 上的特定实例?

从 AWS Elastic Beanstalk 实例中获取有关部署的信息