这是我之前在 Stack Overflow 上提出的后续问题 无法从 SQL 客户端连接 Amazon Aurora Serverless
我发现了一个很酷的 hack,它通过一些调整非常适合我的开发目的,我知道我不应该在我的生产环境中使用它。
因此,我们知道 Aurora Serverless 仅在 VPC 内部工作。因此,请确保您尝试连接到 VPC 中的 Aurora,并且分配给 Aurora 集群的安全组具有允许访问的适当规则。正如我之前提到的,我已经有一个 EC2 实例、Aurora Serverless 和一个围绕这两者的 VPC。所以我可以从我的 EC2 访问它,但不能从我的本地 pc/本地 sql 客户端访问它。为了解决这个问题,我做了以下两个步骤。
1. 从任何客户端访问(在我的例子中是 Navicat),
一个。首先需要添加GENERAL db 配置,如极光端点主机、用户名、密码等。 b. 然后,需要添加SSH配置,例如 EC2 机器用户名、hostip 和 .pem 文件路径
2.从项目访问,
首先我像这样从我的终端创建一个ssh 隧道,
ssh ubuntu@my_ec2_ip_goes_here -i rnd-vrs.pem -L 5555:database-1.my_aurora_cluster_url_goes_here.us-west-2.rds.amazonaws.com:5432
然后像这样使用 db 配置运行我的项目test.php,
$conn = pg_connect("host=127.0.0.1 port=5555 dbname=postgres user=postgres password=password_goes_here");
// other code goes here to get data from your database
if (!$conn) {
echo "An error occurred.\n";
exit;
}
$result = pg_query($conn, "SELECT * FROM brands");
if (!$result) {
echo "An error occurred.\n";
exit;
}
while ($row = pg_fetch_row($result)) {
echo "Brand Id: $row[0] Brand Name: $row[1]";
echo "<br />\n";
}
那么我现在的问题是什么?
我需要从 tableau desktop 和 tableau server 连接我的 aurora serverless。对于 tableau 桌面,我使用了相同的 ssh 隧道,它可以工作,但我该如何为 tableau 服务器做呢?