Amazon web services 由于安全组悬空,弹性Beanstalk部署失败

Amazon web services 由于安全组悬空,弹性Beanstalk部署失败,amazon-web-services,amazon-elastic-beanstalk,aws-security-group,Amazon Web Services,Amazon Elastic Beanstalk,Aws Security Group,使用Elastic Beanstalk进行部署时,出现以下错误: 错误:配置验证异常:无效选项值:“sg-fdd33e89”(命名空间:“aws:autoscaling:launchconfiguration”,选项名称:“SecurityGroups”):id为“sg-fdd33e89”的安全组不存在 可能相关的事情: 我们为.ebextensions中的ELB提供了自定义安全组设置 我们早些时候从一个旧的EB环境中克隆了这个特定的EB环境,并且由于这个安全组而无法终止旧环境 (已经解决了

使用Elastic Beanstalk进行部署时,出现以下错误:

错误:配置验证异常:无效选项值:“sg-fdd33e89”(命名空间:“aws:autoscaling:launchconfiguration”,选项名称:“SecurityGroups”):id为“sg-fdd33e89”的安全组不存在

可能相关的事情:

  • 我们为.ebextensions中的ELB提供了自定义安全组设置
  • 我们早些时候从一个旧的EB环境中克隆了这个特定的EB环境,并且由于这个安全组而无法终止旧环境

(已经解决了这个问题,但分享了这个问题,以防它对其他人有帮助)

我发现Derya Sezen的相关博客文章

  • 正在描述一个案例,其中旧安全组从以前的环境继承到新环境(可能我也是这样)
  • 建议使用AWS CLI更新EB环境的安全组选项
在博客文章之后,我使用AWS CLI运行以下命令:

aws elasticbeanstalk update-environment --environment-name my-env-name --option-settings Namespace=aws:autoscaling:launchconfiguration,OptionName=SecurityGroups,Value=""

在此之后,EB更新了一段时间的环境,之后我就能够成功部署。

如果您犯了与我相同的错误,并且终止了环境,您就无法使用AWS CLI来修复此问题

$ aws elasticbeanstalk update-environment --environment-name my-kick-ass-env --option-settings Namespace=aws:autoscaling:launchconfiguration,OptionName=SecurityGroups,Value=""

A client error (InvalidParameterValue) occurred when calling the UpdateEnvironment operation: No Environment found for EnvironmentName = 'my-kick-ass-env'.

唯一的解决方案是等待AWS完全删除终止的环境。通常在终止完成后需要一个小时才能删除。在使用EB web console创建新环境时,我遇到了相同的错误

以下是我为避免它所做的:

  • 确保为实例选择适当的专有网络/将实例置于适当的专有网络中
  • 在web ui中,至少选择一个实例子网

您可以通过运行
eb config
删除有问题的部分。您将收到您的环境的可编辑配置,您可以在其中找到不存在的安全组并轻松删除它。

我遇到了相同的错误,并首先由Google引导到这里,但我发现另一个SO答案更适用于我,因为我确信我的安全组仍然存在(实际上是默认的VPC安全组):