繁体   English   中英

使用Amazon RDS和EC2连接超时

[英]Connection timed out using Amazon RDS and EC2

我正在尝试从EC2实例连接到RDS实例,但没有成功使用php。

我尝试用这3行建立连接(我正在使用MysqliDb btw):

$db = new MysqliDb ('rds_endpoint', 'username', 'password', 'databaseName');
$db = new MysqliDb ('rds_endpoint', 'username', 'password', 'databaseName', 3306);
$db = new MysqliDb ('rds_endpoint:3306', 'username', 'password', 'databaseName',);

当我试图获得一个表时,它给了我2002 Connection timed out 。我检查并且表存在。

此外,我检查了两者的安全组,RDS和EC2和EC2入站规则从所有ips接受,RDS入站规则接受我的EC2实例公共IP。 我有另一个亚马逊帐户,并尝试上述工作正常,所以我不知道在哪里找到错误。

谢谢

把它变成一个答案:

您希望将EC2实例的私有 IP列入白名单,而不是公共IP。 更好的是,将其安全组列入白名单。

AWS中的实例将通过EC2和RDS实例的内部IP地址连接到RDS,而不是其外部面向Internet的IP地址。

安全组列入白名单而不是单个IP​​意味着对EC2服务器的IP更改不会撤销其RDS访问,并且意味着将新实例启动到该安全组将自动获得正确的访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM