首页 文章

由于悬空安全组,Elastic Beanstalk部署失败

提问于
浏览
8

使用Elastic Beanstalk进行部署时,我们收到以下错误:

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

可能相关的事情:

  • 我们在.ebextensions中为ELB提供了自定义安全组设置

  • 我们之前已经从较旧的EB环境中克隆了这个特定的EB环境,并且因为这个安全组而无法使旧环境变得不稳定 .

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

4 回答

  • 10

    我找到了Derya Sezen的相关博客文章AWS Elastic Beanstalk the security group having id does not exist problem

    • 描述了一个案例,其中来自先前环境的旧安全组被继承到新环境(可能也是我的情况)

    • 建议使用AWS CLI更新EB环境的安全组选项

    我在博客文章之后使用AWS CLI运行以下命令:

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

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

  • 0

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

  • 1

    如果您犯了与我相同的错误并且环境不正确,则无法使用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完全删除已终止的环境 . 终止完成后通常需要一个小时才能删除 .

  • 0

    在使用EB Web控制台创建新环境时,我遇到了同样的错误 .

    这是我为避免它而采取的措施:

    • 确保为实例选择适当的VPC /在适当的VPC中拥有实例
      在web ui中
    • ,选择至少一个Instance子网

相关问题