【发布时间】:2021-11-03 21:23:00
【问题描述】:
我有一个用于我的 RDS 实例的 AWS 安全组。
我还有一个用于我的 EC2 实例的 AWS 安全组。
我已经设置好了,所以 EC2 实例的安全组用作我用于 RDS 实例的安全组的入口。
从我的 EC2 实例中,我可以使用 mysql 命令毫无问题地访问 RDS 实例。
但是,如果我尝试使用带有 MySQLi 的 PHP 脚本来访问 RDS 实例,它会无法连接。
如果我将 EC2 实例的实际 AWS IP 地址作为入口添加到 RDS 安全组,则使用 MySQLi 的 PHP 脚本可以正常工作。
知道为什么会这样吗?
更多细节:
- RDS 和 EC2 安全组位于同一个 VPC 上。
- 添加 EC2 私有地址且未进行其他更改时,软件连接正常。
这就是行为令人费解的原因
【问题讨论】:
-
如果没有任何相反的证据,我会将其归结为配置错误。安全组是地址和端口级别的东西 - 他们不知道哪个程序正在建立连接。
-
当您说“EC2 实例的实际 AWS IP 地址”时,您指的是公共 IP 还是私有 IP?
-
我指的是私有IP地址(AWS)
-
EC2实例和RDS数据库是否在同一个VPC中?通过mysql和MySQLi连接数据库时,RDS数据库是如何被引用的(例如IP地址或DNS名称)?
标签: amazon-web-services aws-php-sdk