Amazon web services 由于不存在RDS,AWS Elastic Beanstalk环境终止失败

Amazon web services 由于不存在RDS,AWS Elastic Beanstalk环境终止失败,amazon-web-services,amazon-elastic-beanstalk,amazon-rds,Amazon Web Services,Amazon Elastic Beanstalk,Amazon Rds,我通过向导创建了一个Elastic Beanstalk,它创建了一个我没有使用的Amazon RDS数据库,因为我们的DB实例位于Elastic Beanstalk之外的另一个RDS中 我删除了RDS实例,这使得环境不稳定,我们无法再使用它。然而,我们创造了一个新的环境,一切顺利 现在,我正在尝试终止另一个豆茎,我们不能/不会使用它,但它一直无法终止。据我所知,似乎在创建RDS时,保留设置为“拍摄快照”,现在RDS不存在,它无法拍摄快照,并且无法终止环境 我所需要做的就是摆脱这个环境,因为它只是

我通过向导创建了一个Elastic Beanstalk,它创建了一个我没有使用的Amazon RDS数据库,因为我们的DB实例位于Elastic Beanstalk之外的另一个RDS中

我删除了RDS实例,这使得环境不稳定,我们无法再使用它。然而,我们创造了一个新的环境,一切顺利

现在,我正在尝试终止另一个豆茎,我们不能/不会使用它,但它一直无法终止。据我所知,似乎在创建RDS时,保留设置为“拍摄快照”,现在RDS不存在,它无法拍摄快照,并且无法终止环境

我所需要做的就是摆脱这个环境,因为它只是坐在那里。我该如何着手解决这个问题

以下是错误日志的内容,仅供参考:

2018-06-05 14:00:41 UTC-0500    ERROR   Stack deletion failed: The following resource(s) failed to delete: [AWSEBRDSDatabase].
2018-06-05 14:00:41 UTC-0500    ERROR   Deleting RDS database named: aa1ipjn4c8bwak9 failed Reason: DBInstance aa1ipjn4c8bwak9 not found. (Service: AmazonRDS; Status Code: 404; Error Code: DBInstanceNotFound; Request ID: f8f17442-bd41-4188-9c7e-9408a5398a92)
2018-06-05 14:00:24 UTC-0500    INFO    rebuildEnvironment is starting.
2018-06-01 14:21:01 UTC-0500    ERROR   Stack deletion failed: The following resource(s) failed to delete: [AWSEBRDSDatabase].
2018-06-01 14:21:01 UTC-0500    ERROR   Deleting RDS database named: aa1ipjn4c8bwak9 failed Reason: DBInstance aa1ipjn4c8bwak9 not found. (Service: AmazonRDS; Status Code: 404; Error Code: DBInstanceNotFound; Request ID: 0dba0c59-473f-4814-a6dd-2af7847be6c0)

我在一个安全小组中也遇到过同样的问题。我可以通过重建环境来删除环境

步骤:

  • 重建环境
  • 在elastic beanstalk右上角的Actions下拉列表下,单击重建环境选项

    注意:这可能需要一些时间才能完成

  • 终止环境
  • 在相同操作下拉列表下,单击终止环境

    附言:

    您可以创建一个名为
    aa1ipjn4c8bwak9
    的新RDS实例,然后删除环境。当我从默认的ELB切换到ALB时,我不得不做类似的事情


    我希望EB不要默认使用该环境创建数据库-在任何类型的生产环境中,这几乎肯定是个坏主意。

    添加我们的经验以防有所帮助

    正常终止环境失败,因为在RDS快照上最大化导致无法终止RDS实例。(从理论上讲,作为一种解决办法,人们可以突破这一限制……)。我们手动终止了RDS实例。我们仍然无法终止环境。检查CloudFormation控制台(参考资料选项卡),我们看到一个AWSEBSecurityGroup和一个AWSEBLoadBalancerSecurityGroup的状态都是DELETE_FAILED。在某些情况下,环境的安全组控制台中列出了2个lb安全组(如果操作涉及交换LBs,并且在拆除旧的LBs之前发生故障)。密钥是其中一个依赖于孤立的RDS安全组(组名前缀='RDS awseb')。在交互方面,似乎别无选择,只能尝试同时删除这两个选项。您将获得一个链接以查看依赖项-对于其中一个,依赖项将是rds安全组。单击安全组控制台并将其删除。一旦这样做了,我们就可以从CloudFormation控制台中删除堆栈(留下僵尸EB环境),或者(更好)从EB控制台或使用CLI终止EB环境。根据顺序,我们发现EB terminate仍然失败,因为无法终止现在缺失的RDS实例。在这种情况下,从CF控制台删除堆栈是可行的(出现提示时单击“保留”),然后EB终止成功。确保这样做,因为当CF堆栈删除完成时,通常还有其他资源未删除

  • 打开AWS CloudFormation控制台

  • 在导航窗格中,选择堆栈

  • 在“堆栈名称”列中,选择要删除的Elastic Beanstalk环境的堆栈

  • 注意:在堆栈的“状态”列中,您应该看到DELETE_FAILED

    提示:您可以通过验证AWS CloudFormation控制台中描述列中的环境ID是否与Elastic Beanstalk环境的环境ID匹配来识别堆栈

  • 选择删除

  • 在弹出窗口中,选中要保留的资源-可选部分中的AWSEBRDSDatabase复选框,然后选择删除堆栈


  • 来源:-

    如果您仍将.war文件部署到该Elastic Beanstalk,请尝试先将其删除,刷新页面,然后尝试删除againI尝试删除部署到上述EBS的版本,但它给了我与问题中提到的相同的两个错误。有没有其他方法可以从EBS中删除已部署的代码?我尝试过,但失败了,我认为在重建环境时,它会首先删除所有配置,而在我的情况下,在删除数据库时,重建也会出错(在本例中,数据库不存在)。所以我的重建也失败了。没有办法摆脱这种混乱。这是一个非常肮脏的解决办法,不幸的是,这是唯一有效的办法。真不敢相信没有这方面的规定。谢谢:)没问题。在我看来,EB确实是一项很有前途的技术,但如今它正被其他AWS产品抛在后面,并显示出它的时代。有没有完全取代EB的产品?如果是的话,我想知道,也许我已经迁移到他们那里了,因为电子商务绝对不会让事情变得很容易。这取决于你所说的“替换”是什么意思。在我看来,ElasticBeanstalk旨在管理传统三层web应用程序的生命周期。它自动化了基础架构资源调配、应用程序部署、容量扩展和监控。如果您的应用程序符合EB范式,它仍然是一个不错的选择。当你想在它的框架之外做一些事情时,挑战就来了。如果您想要更大的灵活性,您可能想看看CodeDeploy、CodePipeline或CodeStar,或者如果您的需求更简单,Lightsail或Lambda可能更适合。谢谢Brian,这确实让我有了更好的了解