AWS 弹性 beantalk - 无法启动环境

Posted

技术标签:

【中文标题】AWS 弹性 beantalk - 无法启动环境【英文标题】:AWS elastic beanstalk - Failed to Launch Environment 【发布时间】:2020-12-26 16:21:31 【问题描述】:

我遵循此Deploying an Express application to Elastic Beanstalk 并陷入“创建 Elastic Beanstalk 环境”第 2 步:

当我运行~/node-express$ eb create --sample node-express-env 时,出现错误并建议我检查日志。所以我去控制台查看环境创建日志。创建负载均衡器失败的错误。看起来像这样:

Creating load balancer failed Reason: At least two subnets in two different Availability Zones must be specified (Service: AmazonElasticLoadBalancing; Status Code: 400; Error Code: ValidationError; Request ID: f4be9cd2-469e-4b44-a82f-d4f6dc2bb69a; Proxy: null)

我也尝试通过控制台创建环境。没有个人代码,只有 AWS 的“示例应用程序”。我试过node.jsPython,都一样。

遇到同样的错误。这是整个日志:

2020-09-08 19:29:45 UTC+1000 INFO Launched environment: Tutorials-env. However, there were issues during launch. See event log for details.

2020-09-08 19:29:43 UTC+1000 ERROR Creating security group named: awseb-e-m2hqmqrmb6-stack-AWSEBSecurityGroup-93PRN501BC96 failed Reason: Resource creation cancelled

2020-09-08 19:29:43 UTC+1000 ERROR Stack named 'awseb-e-m2hqmqrmb6-stack' aborted operation. Current state: 'CREATE_FAILED' Reason: The following resource(s) failed to create: [AWSEBV2LoadBalancer, AWSEBSecurityGroup].

2020-09-08 19:29:27 UTC+1000 ERROR Creating load balancer failed Reason: At least two subnets in two different Availability Zones must be specified (Service: AmazonElasticLoadBalancing; Status Code: 400; Error Code: ValidationError; Request ID: cf359cab-39bd-4dec-aaf4-e21271a97823; Proxy: null)

2020-09-08 19:29:27 UTC+1000 INFO Created security group named: sg-01ed408338797a1ef

谢谢大家。


更多信息: 权限应该足够了。我切换到 root 帐户,但仍然出现同样的错误。

【问题讨论】:

【参考方案1】:

必须指定至少两个不同可用区中的两个子网

如错误消息所示,您需要为 Application Load Balancer 指定 两个 AZ

您可以使用aws:ec2:vpc 中的ELBSubnets 选项为您的 ALB 自定义子网。

【讨论】:

嗨马尔辛。谢谢你的回答。我刚刚创建了一个新帐户并启动了一个eb 环境,一切都很顺利。所以我想我一定是对我的 VPC 或 ELB 设置做错了什么。以前的配置怎么会弄乱这个新环境的启动(即使使用默认模板)。 @JasonZheng EB 有保存配置的概念。因此,它们可能会被重复使用。【参考方案2】:

@JasonZheng -- 捎带@Marcin 的评论,问题很可能与您帐户中的其他资源(beantalk 之外)有关。在不同地区尝试同样的事情——看看是否会出现同样的问题。这可能对诊断有所帮助。

【讨论】:

这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker.【参考方案3】:

您需要检查默认子网。 Beanstalk 中的 Cloudformation 代码需要尝试找到它们。可能是您重新创建了默认 VPC 和子网,因此它们不是默认值。 这是 AWS 文档:https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet 我有同样的问题,并用新的默认 vpc 和子网修复它。

【讨论】:

以上是关于AWS 弹性 beantalk - 无法启动环境的主要内容,如果未能解决你的问题,请参考以下文章

开发环境和AWS弹性beantalk

单独的环境配置弹性beantalk

PHP-如何在不重新启动 rds 的情况下将 aws.push git 到弹性 beantalk?

AWS弹性beantalk cron作业

第一个 git aws.push 到弹性 beantalk 时出错

第一个 git aws.push 到弹性 beantalk 时出错