同VPC下如何配置ECS服务/任务读写Redshift集群?
ECS连接Redshift超时的解决配置步骤
1. 定位Redshift集群的安全组
- 登录AWS控制台,进入Redshift服务,找到目标集群
- 进入集群详情页的属性标签,找到并记录VPC安全组的ID(格式如
sg-xxxxxxxx)
2. 给Redshift安全组添加ECS访问规则
- 进入EC2服务的安全组页面,找到刚才记录的Redshift安全组
- 点击编辑入站规则,新增一条规则:
- 规则类型:自定义TCP规则
- 端口范围:填写Redshift的服务端口(默认5439,可从你的SSM参数中确认)
- 源:选择「自定义」,输入ECS服务/任务所在的安全组ID;如果是Fargate类型ECS,也可直接指定任务子网的CIDR段(如
10.0.0.0/24) - 描述:可标注「Allow ECS access Redshift」
- 保存规则
3. 验证ECS任务的网络配置
- 若ECS用Fargate启动类型:确认任务定义的网络模式为
awsvpc,且任务部署的子网与Redshift集群在同一VPC内 - 若ECS用EC2启动类型:确认ECS容器实例的安全组允许出站访问Redshift的端口(默认出站规则全通,若有自定义限制需放行对应端口)
4. 测试连接有效性
- 在ECS任务内执行测试命令,比如用psql工具:
psql -h <你的Redshift主机地址> -p <端口> -U <用户名> -d <目标数据库名> - 输入密码后若能成功进入Redshift命令行,说明配置生效
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

