You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何安全让Kinesis Firehose访问Redshift且不暴露整个集群

解决Kinesis Firehose与Redshift公网访问的安全冲突问题

Kinesis Firehose的官方文档明确要求:

如果您的Amazon Redshift集群位于虚拟私有云(VPC)中,则它必须具备公网IP地址以实现公网可访问。

文档还提到可通过安全组放行特定CIDR范围来限制访问,但启用公网可访问时,Redshift集群所在子网需要配置指向0.0.0.0的路由和互联网网关。

但将Redshift集群暴露在公网是违反AWS安全最佳实践的,还会触发AWS Security Hub的严重告警:

aws-foundational-security-best-practices/v/1.0.0/Redshift.1
Redshift.1 Amazon Redshift集群应禁止公网访问
建议修复措施:

  • 选择“操作”,然后选择“修改公网可访问设置”。
  • 在“允许VPC外的实例和设备通过集群端点连接到您的数据库”下,选择“否”。

可行解决方案

1. 配置Kinesis Firehose的VPC接口端点

让Firehose通过VPC内部网络访问Redshift,无需集群开启公网可访问:

  • 在Redshift所在VPC中创建Firehose接口端点,关联到私有子网
  • 调整Redshift安全组规则,允许该接口端点的IP段访问默认端口(5439)
  • 配置Firehose目标时,使用Redshift的私有端点或内部IP地址

2. 利用VPC对等连接/中转网关实现私有通信

若Firehose与Redshift处于不同VPC,通过私有网络打通访问路径:

  • 建立VPC对等连接或通过中转网关打通跨VPC网络
  • 配置双方安全组,允许彼此私有IP段访问对应服务端口
  • 调整路由表,确保流量在私有网络内流转

3. 改用Redshift Serverless(推荐)

Redshift Serverless原生支持Firehose通过私有网络加载数据,无需公网暴露:

  • 创建Redshift Serverless工作组时配置在私有子网内
  • 配置Firehose目标为Redshift Serverless,选择私有网络访问模式
  • 确保Firehose拥有VPC内部访问Redshift Serverless的权限

4. 中间层中转加载

通过私有子网内的服务中转数据,彻底隔离公网:

  • 配置Firehose将数据先写入S3存储桶
  • 在Redshift所在私有子网部署Lambda、ECS任务或EKS Pod,触发这些服务将S3数据加载到Redshift
  • Redshift安全组仅允许中间服务的IP访问,完全关闭公网可访问

内容的提问来源于stack exchange,提问作者Chris Austin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:35:16