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

MWAA部署Airflow时AWS Redshift连接超时问题求助

MWAA连接AWS Redshift超时问题排查与解决

问题描述

在托管式Apache Airflow(MWAA)部署环境中,除AWS Redshift连接外其余功能正常。通过Airflow UI配置redshift_default连接参数后,本地测试正常,但在线触发DAG时出现连接超时错误:

[2023-02-27, 16:15:55 UTC] {{base.py:71}} INFO - Using connection ID 'redshift_default' for task execution.
[2023-02-27, 16:18:07 UTC] {{taskinstance.py:1851}} ERROR - Task failed with exception
Traceback (most recent call last):
  File "/usr/local/airflow/.local/lib/python3.10/site-packages/redshift_connector/core.py", line 585, in __init__
    self._usock.connect((host, port))
TimeoutError: [Errno 110] Connection timed out

排查与解决步骤

1. 安全组与网络连通性检查

  • 检查Redshift集群安全组:确保已允许MWAA环境所在的安全组(或私有IP范围)访问Redshift的监听端口(默认5439)。
  • 跨VPC/子网验证:若Redshift与MWAA不在同一VPC,需确认VPC peering或Transit Gateway已配置,且路由表包含对应路由规则,确保网络可达。
  • 公开访问设置:若MWAA工作节点需公网访问Redshift,需开启Redshift集群的公开访问,同时安全组放行MWAA工作节点的公网IP;优先推荐私有网络内访问,关闭公开访问以提升安全性。

2. MWAA环境网络配置验证

  • 确认MWAA部署在VPC的私有子网中,且子网路由表包含指向Redshift集群所在子网的路由条目(同VPC)或VPC peering的路由条目(跨VPC)。
  • 执行角色权限检查:确保MWAA的执行角色拥有redshift:DescribeClusters权限,可正确获取Redshift集群的端点信息。
  • 端口连通性测试:在DAG中添加BashOperator执行以下命令,验证工作节点到Redshift端点的端口可达性:
    nc -zv <your-redshift-host> 5439
    

3. Airflow连接配置校验

  • 端点正确性:确认redshift_default连接的Host字段为Redshift集群的完整端点(格式如xxx.xxxxxx.us-west-2.redshift.amazonaws.com,而非集群名称)。
  • 端口匹配:检查端口号与Redshift集群配置的端口一致(默认5439,自定义端口需对应)。
  • 认证配置:
    • 若使用IAM角色认证,需在连接的Extra字段添加配置:{"iam": true, "region": "your-aws-region"},同时确保MWAA执行角色拥有redshift:GetClusterCredentials权限。
    • 若使用密码认证,确认用户名、密码正确且未过期。

4. 依赖包版本兼容性

  • 确保MWAA环境安装的redshift-connector和apache-airflow-providers-amazon包版本与本地测试环境一致,避免版本差异导致的连接问题。可通过MWAA的requirements.txt指定具体版本,例如:
    redshift-connector==2.0.914
    apache-airflow-providers-amazon==8.2.0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:14:57