将现有 RDS 连接到 Elastic Beanstalk

Posted

技术标签:

【中文标题】将现有 RDS 连接到 Elastic Beanstalk【英文标题】:Connecting existing RDS to Elastic Beanstalk 【发布时间】:2017-06-30 22:58:28 【问题描述】:

我有一个正在运行的 RDS 数据库 (postgres),我现在正尝试连接到 Elastic Beanstalk 应用程序。连接超时。

我猜这与 VPC 和安全组有关,但 AWS 在这里继续让我感到困惑,我对此有点陌生。我正在尝试遵循本指南:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html?icmpid=docs_elasticbeanstalk_console

当我尝试将rds_launch_wizard 安全组添加到 EB 实例时,它告诉我找不到安全组。 rds_launch_wizard 在 VPC 中,而 EB 应用程序不在。

我尝试进入 EB 配置,选择实例并尝试添加安全组:

按名称,这会弹出一条错误消息,指出“我无法按名称添加组”。 通过组 ID,这告诉我 group sg-xxxxx not found。 同样,我无法将 EB 安全组添加到 RDS,因为这也找不到

如何让两人互相交谈?

【问题讨论】:

您的 EB 应用程序怎么不在 VPC 中?您是否有一个非常旧的 AWS 账户? VPC 多年来一直是一项要求。您是否启用了 ClassicLink? docs.aws.amazon.com/AWSEC2/latest/UserGuide/… @MarkB 不确定,我已作为开发人员添加到现有帐户中。如果有帮助,我添加了安全组的图片。 ServerFault.SE 中的相关问题:How to associate an existing RDS instance to an Elastic Beanstalk environment?. 【参考方案1】:

你有两个选择:

将 EB 环境移至 VPC 启用ClassicLink,以便您的 EB 环境中的 EC2 Classic 实例可以与 VPC 通信。

ClassicLink 是显而易见的快速解决方案,但我认为您最终会希望将所有内容都移入 VPC。 VPC 更加安全,现在 AWS 上有很多功能和服务需要 VPC。

【讨论】:

EB 应用程序没有提到它是遗留的。它只是不在 VPC 中。你会碰巧有一个关于如何移动它的文档的链接吗? 移动它基本上意味着在 VPC 中部署一个新的 EB 环境,使用与当前 EB 环境相同的代码。移动 DNS 记录,然后删除旧环境。

以上是关于将现有 RDS 连接到 Elastic Beanstalk的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Elastic Beanstalk Docker 连接到 RDS

将 AppSync 连接到现有 RDS 以更改移动应用程序状态

无法连接到使用 Elastic Beanstalk 创建的 RDS 实例

当我将 Spring Boot 应用程序部署到 AWS Elastic Beanstalk 并且无法从本地 Spring Boot 连接到 RDS 时出现 502 错误网关

无法通过 Python Elastic Beanstalk 中的 Flask SQLAlchemy URI 连接到 AWS MySQL RDS 实例

Rails 6 无法连接到 AWS Elastic Beanstalk 预置的 RDS。 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”