是啥导致我尝试为 AWS-EB 启用 SSH 失败?
Posted
技术标签:
【中文标题】是啥导致我尝试为 AWS-EB 启用 SSH 失败?【英文标题】:What is causing my attempt to enable SSH for AWS-EB to fail?是什么导致我尝试为 AWS-EB 启用 SSH 失败? 【发布时间】:2015-03-12 20:55:36 【问题描述】:我正在尝试为我的 AWS Elastic Beanstalk 应用程序启用 SSH,并已运行 eb ssh --setup
(作为用户,似乎是 be suitable privileges、ElasticBeanstalkFullAccess
;使用 AWS CLI 3.x);但我的尝试因以下原因而失败(更改了 GUID 以保护无辜者):
INFO: Environment update is starting.
INFO: Updating environment sitetest-develop-env's configuration settings.
INFO: Created Auto Scaling launch configuration named: awseb-e-notrea1nUm-stack-AWSEBAutoScalingLaunchConfiguration-MAdUpa2bCrCx
ERROR: Updating Auto Scaling group failed Reason: Template error: DBInstance bxzumnil42x11w doesn't exist
ERROR: Service:AmazonCloudFormation, Message:Stack named 'awseb-e-notrea1nUm-stack' aborted operation. Current state: 'UPDATE_ROLLBACK_IN_PROGRESS' Reason: The following resource(s) failed to update: [AWSEBAutoScalingGroup].
ERROR: Failed to deploy configuration.
INFO: Created Auto Scaling launch configuration named: awseb-e-myjrm7xr9n-stack-AWSEBAutoScalingLaunchConfiguration-5uKixPQCM71K
INFO: Deleted Auto Scaling launch configuration named: awseb-e-notrea1nUm-stack-AWSEBAutoScalingLaunchConfiguration-MAdUpa2bCrCx
INFO: The environment was reverted to the previous configuration setting.
是什么导致这种情况发生?我需要在 AWS 控制台中做些什么来防止出现此错误吗?
【问题讨论】:
这不是***.com/questions/27927555的副本 一点也不。那是关于许可的。这是在权限问题解决之后;一个完全不同的问题。不是吗? 确实如此。好像你失去了你的数据库。我已经在下面回答了。 【参考方案1】:我在这里看到的相关错误消息是DBInstance bxzumnil42x11w doesn't exist
。
您可能已选择让 Elastic Beanstalk 创建 RDS 服务器作为环境创建过程的一部分。现在似乎数据库不再存在。你是手动杀的吗?
无论如何,我建议不要让 EB 管理您的 RDS。最好自己创建一个并手动分配以下环境变量:RDS_HOSTNAME, RDS_PORT, RDS_DB_NAME, RDS_USERNAME, RDS_PASSWORD
。
此时我建议终止此环境并创建一个新环境,只是这次不要选中名为Create an RDS DB Instance with this environment
的复选框。
【讨论】:
我通过选择“添加新的 RDS 数据库”将其添加到环境的“数据层”面板中。这不是将 RDS 数据库添加到环境的方法吗? 嗯,这是亚马逊计划让它工作的方式,但我不建议这样做。这使 Elastic Beanstalk 能够控制您的数据库,尤其是能够随意终止它(这不是您在终止服务器时想要的)。去 AWS RDS 并设置一个新的数据库。然后回到EB,在软件配置部分填写我上面提到的RDS_*环境变量。 所以 EB 在设置 SSH 的过程中将其杀死,然后在重新创建 EB 实例时找不到它? 附加的 RDS 应该仅在您终止 env 时才终止,所以我不知道是什么杀死了您的托管数据库,但我可以告诉您它也发生在我身上。我咨询了亚马逊支持,他们建议不要让 EB 控制 RDS。 “太脆弱了”他说,并建议我使用环境变量附加一个现有的数据库。 是的。 “将现有的 Amazon RDS 数据库实例与 Python 一起使用”部分以上是关于是啥导致我尝试为 AWS-EB 启用 SSH 失败?的主要内容,如果未能解决你的问题,请参考以下文章
是啥导致我的基本客户端/服务器套接字程序中的循环在第二次尝试时失败? [关闭]