使用AWS Wrangler连接Redshift:是否需集群公开及非公开连接方案
AWS Wrangler连接非公开Redshift集群的解决方案
不需要将Redshift集群设为公开可访问就能用AWS Wrangler正常连接,以下是几种安全实现方式:
将Lambda部署到Redshift所在VPC
把Lambda函数配置到Redshift集群所在VPC的私有子网内,同时修改Redshift的安全组,允许来自Lambda所在子网或Lambda专属安全组的入站流量(Redshift默认端口为5439)。这种方式下,两者通过VPC内网通信,完全不需要集群暴露到公网。使用Redshift VPC接口终端节点
在VPC中创建Redshift的接口终端节点,Lambda无需进入Redshift的VPC,就能通过这个终端节点安全访问集群。需要确保终端节点的安全组允许Lambda的访问请求,同时Redshift的安全组放行来自终端节点的流量。精准配置Redshift安全组规则
即使集群非公开,也可以在Redshift安全组中添加特定来源的访问规则:- 如果Lambda在公有子网且使用NAT网关,添加NAT网关的公网IP到规则中;
- 如果Lambda在私有子网,直接添加该子网的CIDR范围;
确保规则允许访问Redshift的5439端口。
另外,调用awswrangler.redshift.connect_temp时,要使用Redshift集群的私有DNS名称,避免使用公网DNS,确保流量走VPC内部网络。
内容的提问来源于stack exchange,提问作者Biao Yu
相关产品推荐
相关产品推荐

