首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解决这个问题的好方法是什么?1个安全组、3个客户端和2个客户端中的两个RDS实例无法连接到一个RDS实例

解决这个问题的好方法是什么?1个安全组、3个客户端和2个客户端中的两个RDS实例无法连接到一个RDS实例
EN

Stack Overflow用户
提问于 2017-02-24 10:39:30
回答 1查看 125关注 0票数 1

迷惑者在这里:

我在同一个安全组中有两个RDS实例(RDS1和RDS2) (我保证--我至少检查了十次)。

我有三台客户机被添加到RDS实例共享的安全组中端口3306的入站规则中。

我正在测试到RDS实例的套接字连接,如下所示:

代码语言:javascript
运行
复制
nc -zv my-rds-instance.us-west-2.rds.amazonaws.com 3306

以下是问题所在:

客户端A(工作站):连接到RDS1,但不连接到RDS2

客户端B(us-west-2c中的EC2):连接到RDS1和RDS2

客户端C(us-west-2c中的EC2):连接到RDS1,但不连接到RDS2

换句话说,我需要客户端A和客户端C连接到RDS2。

失败的连接超时,所以我怀疑这是防火墙问题。如果我grep netstat -an,我会看到一条SYN_SENT消息。

RDS1在us-west-2c,RDS2在us-west-2b。它们位于相同的VPC、相同的子网组、相同的子网中,且在端口3306上均可公开访问。RDS1为MySQL 5.6.27,RDS2为5.5.53。

客户端A的MySQL为5.7.17。客户端B的MySQL为5.5.53。客户端C的MySQL为5.5.52。

对于如何进一步解决这个问题,我有点束手无策。任何建议都将不胜感激。

EN

Stack Overflow用户

回答已采纳

发布于 2017-02-25 00:58:48

正如您在注释中所指出的,无法连接的客户端正在将RDS盒的DNS名称解析为其公网IP。这意味着当他们尝试连接时,连接会连接到大的坏互联网,这反过来意味着RDS盒可以看到来自相当任意的IP地址的连接,并(正确地)拒绝它。

在短期内,您可以通过使用RDS盒的私有IP地址来“修复”这个问题,但我不相信AWS会对这些地址的稳定性做出任何长期保证--尽管它们肯定不会经常变化。当然,真正的解决方法是修复您的DNS,即所有客户端都在获取RDS机器的内部IP地址;首先要查看的是检查每个客户端正在使用哪些名称服务器。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42429819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档