在AWS托管MWAA的Apache Airflow中无法创建SSH连接
问题背景
按照AWS MWAA官方教程配置SSHOperator,已调整requirements.txt适配Airflow 2.6.3版本(DAG可正常渲染),但在Admin->Connections->Add a New Connection的连接类型下拉列表中始终看不到SSH选项,尝试等待环境更新、新建环境、回滚Airflow版本均无效。
可行解决方案
手动指定连接类型
即使下拉列表中没有SSH选项,可直接在「Connection Type」输入框中手动输入ssh,然后填写主机、用户名、密钥等其他连接参数,保存后该连接可正常被SSHOperator调用。这是因为Airflow底层已加载SSH Provider,仅UI下拉列表未显示。明确指定SSH Provider版本
在requirements.txt中明确指定与Airflow 2.6.3兼容的apache-airflow-providers-ssh版本,避免依赖版本不匹配导致的UI加载异常:-c https://raw.githubusercontent.com/apache/airflow/constraints-2.6.3/constraints-3.10.txt apache-airflow-providers-ssh==2.10.0注:2.10.0为Airflow 2.6.x官方兼容的SSH Provider版本,可根据Airflow官方Provider兼容性表调整。
检查MWAA环境日志
登录CloudWatch查看MWAA的Web服务器日志,搜索是否有SSH Provider加载失败的报错信息(如权限问题、依赖冲突等),根据日志排查具体原因。确认MWAA环境配置
确保MWAA环境的执行角色拥有足够权限访问依赖安装所需的资源(如S3、CloudWatch等),虽然DAG可正常渲染,但部分UI组件加载可能受权限影响。
内容的提问来源于stack exchange,提问作者Indoordinosaur

