选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Amazon MWAA 常见问题解答

聚焦模式
Amazon MWAA 常见问题解答 - Amazon Managed Workflows for Apache Airflow

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本页描述了您在使用 Amazon MWAA 时可能遇到的常见问题。

目录

支持的版本

Amazon MWAA 对 Apache Airflow v2 支持什么?

要了解 Amazon MWAA 支持的内容,请参阅 Amazon MWAA 上的 Apache Airflow 版本

为什么不支持旧版本的 Apache Airflow?

由于较旧版本存在安全问题,我们仅支持最新的(截至发布时的)Apache Airflow 版本,即 Apache Airflow v1.10.12。

我应使用何种版本的 Python 版本?

Amazon MWAA 上支持以下 Apache Airflow 版本。

注意
  • 从 Apache Airflow v2.2.2 开始,Amazon MWAA 支持直接在 Apache Airflow 网络服务器上安装 Python 要求、提供程序包和自定义插件。

  • 从 Apache Airflow v2.7.2 开始,要求文件必须包含一条 --constraint 语句。如果您未提供约束条件,Amazon MWAA 将为您指定一个约束条件,以确保您的要求中列出的程序包与您正在使用的 Apache Airflow 版本兼容。

    有关在需求文件中设置约束条件的更多信息,请参阅安装 Python 依赖项

有关迁移自管理的 Apache Airflow 部署或迁移现有 Amazon MWAA 环境的更多信息,包括备份元数据数据库的说明,请参阅Amazon MWAA 迁移指南

Amazon MWAA 使用 pip 的什么版本?

对于运行 Apache Airflow v1.10.12 的环境,Amazon MWAA 会安装 21.1.2 版 pip

注意

Amazon MWAA 不会升级 Apache Airflow v1.10.12 环境的 pip

对于运行 Apache Airflow v2 及更高版本的环境,Amazon MWAA 安装版本 21.3.1 版 pip

使用案例

我应该什么时候使用 AWS Step Functions vs. 亚马逊 MWAA?

  1. 您可以使用 Step Functions 来处理个人客户订单,因为 Step Functions 可以扩展以满足对一个订单或一百万个订单的需求。

  2. 如果您运行的是夜间工作流程来处理前一天的订单,则可以使用 Step Functions 或 Amazon MWAA。Amazon MWAA 允许您使用开源选项,将工作流程从您正在使用的 AWS 资源中抽象出来。

环境通知

每个环境有多少任务存储空间可用?

任务存储空间限制为 20 GB,由 Amazon ECS Fargate 1.4 指定。RAM 量由您指定的环境类决定。有关环境类的更多信息,请参阅 配置 Amazon MWAA 环境类

Amazon MWAA 环境使用的默认操作系统是什么?

Amazon MWAA 环境是在运行 2.6 及更早版本的 Amazon Linux 2 的实例上创建的,以及在运行 2.7 及更高版本的 Amazon Linux 2023 的实例上创建的。

我能否为我的 Amazon MWAA 环境使用自定义镜像?

不支持自定义镜像。Amazon MWAA 使用基于 Amazon Linux AMI 构建的镜像。对于您添加到环境的 Amazon S3 存储桶中的 requirements.txt 文件中指定的要求,Amazon MWAA 通过运行 pip3 -r install 来安装额外要求。

Amazon MWAA 是否符合 HIPAA 标准?

Amazon MWAA 符合《健康保险流通与责任法案(HIPAA)》的要求。如果您有 HIPAA 商业伙伴附录 (BAA),则可以使用 Amazon MWAA 处理 AWS在 2022 年 11 月 14 日或之后创建的环境中处理受保护的健康信息 (PHI) 的工作流程。

Amazon MWAA 是否支持竞价型实例?

亚马逊 MWAA 目前不支持 Apache Airflow 的按需亚马逊 EC2 竞价型实例类型。但是,亚马逊 MWAA 环境可以在亚马逊 EMR 和亚马逊等平台上触发竞价型实例。 EC2

Amazon MWAA 是否支持自定义域?

要使用自定义域作为 Amazon MWAA 主机名,请执行以下操作之一:

我能否通过 SSH 进入我的环境?

虽然 Amazon MWAA 环境不支持 SSH,但可以使用 DAG 通过使用 BashOperator 来运行 bash 命令。例如:

from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow.utils.dates import days_ago with DAG(dag_id="any_bash_command_dag", schedule_interval=None, catchup=False, start_date=days_ago(1)) as dag: cli_command = BashOperator( task_id="bash_command", bash_command="{{ dag_run.conf['command'] }}" )

要在 Apache Airflow UI 中触发 DAG,请使用:

{ "command" : "your bash command"}

为什么 VPC 安全组需要自引用规则?

通过创建自引用规则,您可以将源限制为 VPC 中的同一安全组,而不将其对所有网络开放。要了解更多信息,请参阅 Amazon MWAA 上的 VPC 安全

我能否在 IAM 中向不同的群组隐藏环境?

您可以通过在中指定环境名称来限制访问权限 AWS Identity and Access Management,但是, AWS 控制台中不提供可见性筛选,如果用户可以看到一个环境,他们就可以看到所有环境。

我能否在 Apache Airflow 工作线程上存储临时数据?

Apache Airflow 运算符可以在工作线程上存储临时数据。Apache Airflow 工作线程可以访问环境的 Fargate 容器上的 /tmp 中的临时文件。

注意

根据 Amazon ECS Fargate 1.4,任务总存储空间限制在 20 GB 以内。无法保证后续任务将在同一 Fargate 容器实例上运行,该实例可能会使用不同的 /tmp 文件夹。

我能否指定超过 25 个 Apache Airflow 工作线程?

是。尽管您可以在 Amazon MWAA 控制台上指定最多 25 个 Apache Airflow 工作线程,但您可以通过请求增加配额在环境中配置多达 50 个 Apache Airflow 工作线程。有关更多信息,请参阅 Requesting a quota increase(请求增加限额)。

Amazon MWAA 是否支持共享亚马逊 VPCs 或共享子网?

Amazon MWAA 不支持共享的亚马逊 VPCs 或共享子网。您在创建环境时选择的 Amazon VPC 应由尝试创建环境的账户拥有。但是,您可以将流量从 Amazon MWAA 账户中的 Amazon VPC 路由到共享 VPC。有关更多信息以及要查看将流量路由到共享 Amazon VPC 的示例,请参阅《Amazon VPC 中转网关指南》中的集中出站路由到互联网

我能否创建或集成自定义 Amazon SQS 队列来管理 Apache Airflow 中的任务执行和工作流程编排?

不可以,您不能在 Amazon MWAA 中创建、修改或使用自定义 Amazon SQS 队列。这是因为亚马逊 MWAA 会自动为每个亚马逊 MWAA 环境预配置和管理自己的亚马逊 SQS 队列。

Metrics

使用哪些指标来确定是否扩展工作线程?

Amazon MWAA 会监控QueuedTasksRunningTasks进入, CloudWatch 以确定是否在您的环境中扩展 Apache Airflow W or kers。要了解更多信息,请参阅 Amazon MWAA 的监控和指标

我可以在中创建自定义指标 CloudWatch吗?

不在 CloudWatch 主机上。但是,您可以创建在中写入自定义指标的 DAG CloudWatch。有关更多信息,请参阅 使用 DAG 在中写入自定义指标 CloudWatch

DAGs、操作员、连接和其他问题

我能否使用 PythonVirtualenvOperator

Amazon MWAA 未明确支持 PythonVirtualenvOperator,但您可以创建一个使用 PythonVirtualenvOperator 的自定义插件。有关代码示例,请参阅 为 Apache Airflow 创建自定义插件 PythonVirtualenvOperator

Amazon MWAA 需要多长时间才能识别新的 DAG 文件?

DAGs 会定期从 Amazon S3 存储桶同步到您的环境。如果您添加新的 DAG 文件,Amazon MWAA 大约需要 300 秒才能开始使用新文件。如果您更新现有的 DAG,Amazon MWAA 大约需要 30 秒才能识别更新。

这些值分别对应于 Apache Airflow DAGs 配置选项和 DAGs,分别对应于 Apache Airflow 配置选项dag_dir_list_intervalmin_file_process_interval

为什么 Apache Airflow 没有采集我的 DAG 文件?

以下是此问题的可能解决方案:

  1. 检查执行角色是否具有对 Amazon S3 存储桶的足够权限。要了解更多信息,请参阅 Amazon MWAA 执行角色

  2. 检查 Amazon S3 存储桶是否已配置阻止公共访问并启用版本控制。要了解更多信息,请参阅 为 Amazon MWAA 创建 Amazon S3 存储桶。

  3. 验证 DAG 文件本身。例如,请确保每个 DAG 都有一个唯一的 DAG ID。

我能否从环境中移除 plugins.ziprequirements.txt

目前,没有办法在添加 plugins.zip 或 requirements.txt 后将其从环境中删除,但我们正在努力解决这个问题。在此期间,变通方法是分别指向空文本或 zip 文件。要了解更多信息,请参阅 删除 Amazon S3 上的文件

为什么我在 Apache Airflow v2.0.2 管理员插件菜单中看不到我的插件?

出于安全原因,Amazon MWAA 上的 Apache Airflow Web 服务器的网络出口流量有限,并且不会直接在 2.0.2 版本环境的 Apache Airflow Web 服务器上安装插件或 Python 依赖项。显示的插件允许亚马逊 MWAA 在 (IAM) 中 AWS Identity and Access Management 对你的 Apache Airflow 用户进行身份验证。

为了能够直接在 Web 服务器上安装插件和 Python 依赖项,我们建议使用 Apache Airflow v2.2 及更高版本创建一个新环境。Amazon MWAA 直接在 Apache Airflow v2.2 及更高版本的 Web 服务器上安装 Python 依赖项和自定义插件。

我可以使用 AWS 数据库迁移服务 (DMS) 运算符吗?

Amazon MWAA 支持 DMS 运算符。但是,此运算符不能用于对与 Amazon MWAA 环境关联的 Amazon Aurora PostgreSQL 元数据数据库执行操作。

当我使用 AWS 凭证访问 Airflow REST API 时,我能否将限制限制提高到每秒 10 笔以上的交易 (TPS)?

是的,可以。要提高节流限制,请联系 AWS 客户支持

下一主题:

故障排除

上一主题:

端点和限额
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。