Vic*_*rBG 2 php amazon-ec2 amazon-web-services
我正在尝试从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',);
Run Code Online (Sandbox Code Playgroud)
当我试图得到一张桌子时,它给了我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访问,并且意味着将新实例启动到该安全组将自动获得正确的访问权限.
| 归档时间: |
|
| 查看次数: |
1814 次 |
| 最近记录: |