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.js
和Python
,都一样。
遇到同样的错误。这是整个日志:
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 - 无法启动环境的主要内容,如果未能解决你的问题,请参考以下文章
PHP-如何在不重新启动 rds 的情况下将 aws.push git 到弹性 beantalk?