预期数量的 EC2 实例未在给定时间内初始化

Posted

技术标签:

【中文标题】预期数量的 EC2 实例未在给定时间内初始化【英文标题】:The expected number of EC2 instances were not initialized within the given time 【发布时间】:2020-03-12 17:24:40 【问题描述】:

我正在尝试创建一个在 php 上运行的 Elastic Beanstalk 环境,但每次我尝试时,环境的运行状况都会变得很严重,而且永远不会改变。

在创建过程中,我用我的代码上传了一个 .zip 文件,并稍微更改了环境设置,使其适合我的网站(例如,添加 HTTPS 侦听器并将实例类型更改为 m4 .xlarge)。

在事件日志中,我看到它是如何创建所有内容的,包括实例、安全组、负载均衡器和其他东西,但在创建所有内容之后,我收到以下消息:

环境健康状况已从待定转变为严重。 ELB 进程并非在所有实例上都运行良好。正在进行初始化(运行 11 分钟)。所有实例都没有发送数据。 ELB 运行状况失败或不适用于所有实例。

名为“awseb-e-pxfrhmrp2m-stack”的堆栈已中止操作。当前状态:'CREATE_FAILED' 原因:未能创建以下资源:[AWSEBInstanceLaunchWaitCondition]。

LaunchWaitCondition 失败。。重建环境。如果这种情况仍然存在,请联系支持人员。

我不明白为什么会这样,这非常令人沮丧。

如果您能帮我解决这个问题,那就太好了,因为我已经处理这种情况几个小时了,但找不到任何解决方案。我尝试重建环境,终止它并从头开始,上传我的代码的以前版本,但到目前为止,上述方法都没有奏效。

【问题讨论】:

【参考方案1】:

听起来您的实例无法将其状态发送到 Elastic Beanstalk。 我假设这是因为您将实例部署到私有子网中,无法访问 EB,所以我的建议是: 验证部署您的 ec2 实例的子网是公共子网(即具有路由表的子网和到 Internet 网关的路由),或者是 nat 网关后面的私有子网(即具有路由表的子网和路由到 NAT 网关)。

【讨论】:

谢谢!这解决了问题。显然,我的路由表上没有通往 Internet 网关的路由

以上是关于预期数量的 EC2 实例未在给定时间内初始化的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot application-test.properties 未在被测组件内初始化

未在 Aws Ec2 实例上为 PHP 7.2 执行 PHP 代码

在第一个实例上,内容未在 UICollectionViewCell 内调整大小

数组未在 C++ 中使用花括号进行初始化

数据“未在此范围内声明的成员”

cppcheck警告:变量未在带有初始化初始化的构造函数中实例化