如何使用bastion主机对Redshi进行SSH

2024-09-27 00:17:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试如何连接到Amazon Redshift集群,当它们是私有的而不是公共访问的。我正在尝试将数据从我们当前的MySQL数据库安全地移动到Redshift中的集群。目前我有一个Python脚本,它创建数据的CSV,将其放入S3,为数据创建一个表,然后使用COPY将其放入Redshift。我们使用Python脚本来自动执行这个过程。在

但是,当集群设置为私有时,我完全无法与Redhsift建立连接。我做了一些挖掘,发现SSH隧道是一个潜在的解决方案。据我所知,Redshift不支持SSH,但可以使用bastion主机通过运行psql的ec2实例进行连接。问题在于,我需要在Python脚本中执行此操作,以使过程尽可能自动化。在

我已经创建了一个ec2实例并使用PuTTY将psql加载到其中,但是我不确定如何将该实例用作堡垒主机,即连接到它并使用它连接到Redshift,以及如果可能的话,如何在python脚本中实际执行此操作。有没有人做过类似的事情或者知道如何连接到ec2和从ec2连接到redshift?在


Tags: csv数据实例脚本amazonredshifts3过程
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:47

这个堡垒将简单地用于将来自您自己计算机的请求转发到amazonredshift。你不需要在堡垒上安装任何软件(例如psql)。在

假设您可以成功使用PuTTY登录堡垒,请在PuTTY中更改此配置:

  • 转到隧道配置页面
  • 源端口:5439
  • 目标:红移群集的DNS全名,后跟:5439
  • 单击添加
  • 保存您的腻子设置

这是来自Connecting to a Redshift Cluster with a Private IP的图片:

PuTTY for Redshift

此配置显示:“通过SSH连接将本地端口5439重定向到Bastion服务器。从那里,让堡垒派交通到红移-域名:5439。“

因此,堡垒就像一个跳转框,转发你的流量,而不是实际运行任何其他东西。在

您可以将本地源端口更改为您喜欢的任何端口,这样您就可以在同一个SSH连接上拥有多个隧道。在

相关问题 更多 >

    热门问题