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

AWS MWAA调用EKSPodOperator连接EKS API Server时出现HTTPS超时

问题排查:MWAA通过EKSPodOperator连接EKS API Server超时

核心问题

使用MWAA的EKSPodOperator启动EKS Pod时触发HTTPS连接超时,本地可正常访问目标EKS API Server,且MWAA安全组已配置全量出站允许。报错信息如下:

urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='REDACTED.gr7.us-east-1.eks.amazonaws.com', port=443): Max retries exceeded with url: /api/v1/namespaces/airflow/pods?labelSelector=dag_id%3Deks_pod_example%2Cdemo%3Dhello_world%2Ckubernetes_pod_operator%3DTrue%2Crun_id%3Dmanual__2024-06-18T132428.5113700000-b8a425de4%2Ctask_id%3Dstart_pod%2Calready_checked%21%3DTrue%2C%21airflow-worker (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f1c87a07690>, 'Connection to REDACTED.gr7.us-east-1.eks.amazonaws.com timed out. (connect timeout=None)'))

排查与解决步骤

1. 检查MWAA所在VPC的网络ACL

安全组允许出站不代表VPC网络ACL也放行,需确认MWAA子网的出站网络ACL:

  • 确保规则允许443端口TCP流量到EKS API Server的公网IP段
  • 确认拒绝出站的规则优先级低于允许规则

2. 验证EKS VPC端点配置(若使用)

如果MWAA所在VPC配置了EKS的VPC端点(网关或接口类型):

  • 确认端点状态为Available
  • 检查端点安全组是否允许MWAA安全组的443端口入站
  • 接口类型端点需确保EKS API Server的DNS解析指向端点IP而非公网IP

3. 确认EKS集群的访问控制策略

检查EKS的aws-auth ConfigMap,确保MWAA执行角色已被授权访问集群:

  • 执行角色需具备eks:DescribeCluster等必要权限
  • 在ConfigMap中添加对应角色条目,示例格式:
    mapRoles:
      - rolearn: arn:aws:iam::ACCOUNT_ID:role/MWAA-Execution-Role
        username: mwaa-execution-role
        groups:
          - system:masters # 按需调整权限组
    

4. 测试MWAA环境的网络连通性

添加测试DAG,用BashOperator执行curl命令验证EKS API连通性:

from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime

with DAG('test_eks_connectivity', start_date=datetime(2024,6,1)) as dag:
    test_conn = BashOperator(
        task_id='test_eks_api',
        bash_command='curl -v https://REDACTED.gr7.us-east-1.eks.amazonaws.com/api/v1/namespaces/default'
    )

通过任务日志确认是连接超时还是权限问题。

5. 检查EKS API Server的安全组

本地能访问不代表MWAA子网IP段被允许,需确认:

  • EKS API Server安全组的入站规则包含MWAA子网的CIDR范围(443/TCP)

6. 验证MWAA执行角色权限

确保执行角色具备以下权限:

  • eks:DescribeCluster:用于获取EKS集群的API端点和证书数据
  • sts:AssumeRole:若使用IRSA,需确保角色能关联到EKSPodOperator使用的ServiceAccount

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:34:54