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

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

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

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

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

为什么?

一些细节:

  • 我曾尝试在VPC之外,它的工作原理。
  • 我更改了实例中的DNSparsing服务器(NAT和私有实例)
  • 在我的机器本地相同的代码工作正常。
  • 该查询在Redshift中可见,并在14分钟后中止。
  • 从我的机器执行相同的查询需要9秒。
  • 我在实例的日志中找不到任何特定的错误。

您是否尝试过使用VPC实例中的postgresql客户端? 我有同样的问题,这是安全组适用于我的实例。