【问题标题】:Why Connection timed error in redshift connection?为什么红移连接中的连接计时错误?
【发布时间】:2019-11-21 20:58:21
【问题描述】:

我想将 aws redshift 与 aws lambda 连接起来。 但这给了我连接超时的错误

            Class.forName("com.amazon.redshift.jdbc42.Driver");
            System.out.println("\n\nconnecting to database...\n\n");

            connStringBuilder = "jdbc:redshift:iam://%s?AccessKeyID=%s&SecretAccessKey=%s&DbUser=%s&SessionToken=%s";
            connString = String.format(connStringBuilder, redshiftClusterURL, accessKeyId, secret, dbUser, token);

            System.out.println("connString is " + connString);
            conn = DriverManager.getConnection(connString);

【问题讨论】:

  • 在超时之前运行了多长时间?

标签: java amazon-web-services http jdbc amazon-redshift


【解决方案1】:

只要确保这些步骤,如果您的问题存在,请告诉我:

  1. 首先确保您的 aws lambda 函数在 VPC 中运行(如果您在 VPC 中运行) 需要配置NAT网关连接互联网并为数据库打开出站端口

  2. 在 redshift db 中为您的 VPC 的指定 IP 范围打开入站端口。

如果您的 aws lambda 未在 VPC 中运行。

  • 在 redshift 中打开指定 db 端口的所有流量(但不推荐,也不安全)

【讨论】:

  • redshift和lambda可以在不同的区域吗?
  • 如何在redshift中打开指定db端口的所有流量?
  • 使用上面的链接打开入站规则并使用 telnet 命令(如果你是 linux 用户)检查连接没有问题
猜你喜欢
  • 2014-06-27
  • 2013-11-29
  • 2022-01-16
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多