我对同时使用R和Redshift比较陌生。但是,我最近试图找到一种方法,可以使用R建立到特定Redshift实例的连接。因此,我已经成功使用redshiftTools
包通过以下代码来实现上述目的:
conn_test <- dbConnect(RPostgres::Postgres(),host = "xxxxxxxxxxx.us-east-1.redshift.amazonaws.com",
port = 5439,user = "user_name",password = "password",dbname = "dbname",sslmode = "require")
此外,我能够从R本身对所需表进行事务处理,而不必使用R中的dbGetQuery命令打开SQLWorkbench本身。
现在,我当前面临的挑战是在我远程工作(即不在办公室)的情况下建立与实例的连接而无需依赖OpenVPN(oVPN)连接。当前,如果我尝试在不连接到oVPN的情况下运行以上代码,则会收到以下错误消息:
错误:无法连接到服务器:连接超时(0x0000274C / 10060)服务器是否在主机上运行“ xxxxxxxxx.us-east-1.redshift.amazonaws.com”(10.5.236.205)和在端口5439上接受TCP / IP连接?
我尝试通过使用文档pg_hba.conf
访问和更改here文件来纠正此问题。但是,进展不大。
让我知道我是否做错了,任何帮助将不胜感激。
谢谢。
问候,
Anubhav
您需要打开安全组以允许从非VPN IP地址进行访问。 https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-refusal-failure-issues.html