将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷

Posted

技术标签:

【中文标题】将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷【英文标题】:Connecting an EC2 instance to an RDS volume on another AWS Account 【发布时间】:2015-04-25 12:44:54 【问题描述】:

我有两个运行 EC2 实例和 RDS 卷的不同 AWS 账户,设置方式如下:

AWS 账户 #1

EC2 1(生产) RDS 1(生产)

AWS 账户 #2

EC2 2(开发) RDS 2(开发)

我将开发和生产分开的原因是为了在我们测试我们的应用程序时利用 AWS 免费套餐。

我的问题是我是否可以从 EC2 1(开发) 访问 RDS 2(生产) 以进行测试,如果可以,我会如何去做吧。我一直在玩弄 VPC 设置,但似乎无法正常工作。

基本上我可以从我拥有的另一个 AWS 账户的 EC2 访问一个 AWS 账户的 RDS 吗?

【问题讨论】:

您可以在生产RDS实例上打开安全组,以允许来自开发环境弹性IP的传入流量 嗯,我好像只是 【参考方案1】:

如果您想将流量保持在 VPC 领域内,则需要在 2 个 VPC 之间创建一个Peering Connection。通过引用另一个账户中的 VPC ID,可以非常轻松地跨不同 AWS 账户创建对等连接,然后您需要登录到该账户并接受/批准连接。

然后你需要在你的路由表中创建规则来让两个网络进行通信。

【讨论】:

感谢您的回复 - 我正在努力完成设置。我已经通过 Peering Connections 连接了两个帐户,并将生产帐户的 CIDR 对等块添加到开发机器的路由表中,但我似乎仍然无法访问 mysql 服务器。我还有什么遗漏的吗? @Eugene 您需要在两个帐户上创建对等连接并更新两个帐户上的路由表以相互指向,以便数据包可以双向传输。如果您已经这样做了,那么您还需要将 CIDR 块添加到两个实例的 RDS 安全组中,并在您的数据库类型的适当端口上(例如,对于 MySQL 为 3306)

以上是关于将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷的主要内容,如果未能解决你的问题,请参考以下文章

将托管在 AWS EC2 上的 Asp.net Web api 连接到 AWS API Gateway

通过 *** 从 AWS 连接到第三方

AWS账户之间的克隆/传输EC2实例(AMI)

AWS:如何将 *** 客户端连接到 RDS(*** 服务器 EC2 和 RDS 在同一个 VPC 中)

111:尝试连接到 AWS EC2 实例上的 Flask 应用程序时出现连接被拒绝错误

从 Elastic Beanstalk 连接到托管在 AWS ec2 上的 MongoDB