为什么我无法从 VPC 私有实例在 Amazon Redshift 上执行 SQL 查询?

为什么我无法从 VPC 私有实例在 Amazon Redshift 上执行 SQL 查询?

我在 Amazon VPC 中的私有子网中有一个实例。此实例使用 NAT 访问 Internet。

我使用 Redshift JDBC 驱动程序连接到与我的 VPC(us-east-1)托管在同一区域内的集群。

运行DriverManager.getConnection();并返回连接。这应该意味着身份验证成功。但是当我通过此代码执行 SQL 查询时,应用程序无限期挂起,没有任何错误或成功消息:

Statement statement = connection.prepareStatement("SELECT * FROM users");
ResultSet result = statement.executeQuery();

为什么 ?

一些细节:

  • 我已经在 VPC 之外尝试过并且有效。
  • 我更改了实例(NAT 和私有实例)中的 DNS 解析服务器
  • 我的机器上的本地相同代码运行良好。
  • 该查询在 Redshift 中可见,并在 14 分钟后中止。
  • 当从我的机器执行相同的查询时,需要 9 秒。
  • 我在实例日志中找不到任何特定的错误。

答案1

您是否尝试过从 VPC 实例使用 postgresql 客户端?我遇到了同样的问题,这是应用于我的实例的安全组的问题。

相关内容