从 php:timed 中的特定 ip 连接 AWS RDS(mysql) 出错误

Connecting AWS RDS(mysql) from spefic ip in php:timed out error

我成功启动了一个 AWS RDS 实例,public 可访问性设置为 false

以便我的 RDS 仅访问来自我的开发机器和生产服务器的连接

我已经将入站规则(localhost ip)添加到当前分配给数据库实例的安全组。

但是我会收到连接超时错误

$servername = "xxxxx.rds.amazonaws.com:3306";
$username = "x";
$password = "woola";

try {
    $conn = new PDO("mysql:host=$servername;dbname=xxcc", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }

原因: 你不应该尝试使用本地 ip

你应该做什么?

你应该试试你的 public ip

你可以通过这个linkFind My IP by Google

找到你的publicip

注:

如果您没有静态 ip

,您的 public ip 可能会改变

编辑您的安全组并 select 输入:MySQL/Aurora、端口:3306 和源 select 自定义,如果您的开发实例是 EC2 实例,则选择 172.31.0.0/16。如果您尝试从您的工作站访问,请选择自定义并将您的 public ip/32 放在源字段中。