Redshift noob来自BigQuery。我没有网络/ CIDR /防火墙/路由/ VPC的经验。
我正在尝试使用python软件包psycopg2
从本地计算机连接到我的redshift集群(单节点)。
当我尝试连接时,出现错误:
psycopg2.OperationalError: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "my-cluster.some-random-stuff.us-east-2.redshift.amazonaws.com" (172.31.xx.xxx) and accepting
TCP/IP connections on port 5439?
在this帖子中,我将上述私有IP地址(172.31.xx.xxx)以及我的本地IP地址添加到了安全组入站规则(VPC > Security > Security Groups
),但这没有实现。工作。
我还遵循了this文档,并在我的路线表中添加了路线0.0.0.0/0
和::/0
。这也没有帮助。
我想念什么?
这是我的代码:
def connect_redshift():
client = boto3.client('redshift', region_name=REGION_NAME)
credentials = client.get_cluster_credentials(DbUser=USER,
DbName=DATABASE_NAME,
ClusterIdentifier=CLUSTER_ID,
AutoCreate=False)
try:
conn = psycopg2.connect(
host=HOST,
port=PORT,
user=credentials['DbUser'],
password=credentials['DbPassword'],
database=DATABASE_NAME
)
return conn
except psycopg2.Error:
logger.exception('Failed to open database connection.')
print("Failed")
使用aws configure
,添加了访问密钥ID和秘密密钥。我有AdministratorAccess
权限。