

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

# Amazon MWAA 常见问题解答
<a name="mwaa-faqs"></a>

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

**Contents**
+ [

## 支持的版本
](#q-supported-versions)
  + [

### Amazon MWAA 对 Apache Airflow v2 支持什么？
](#airflow-support)
  + [

### 我可以使用何种版本的 Python？
](#python-version)
+ [

## 使用案例
](#t-common-questions)
  + [

### 我可以在亚马逊 Uni SageMaker fied Studio 中使用亚马逊 MWAA 吗？
](#t-use-sagemaker-unified-studio)
  + [

### 我什么时候可以用 AWS Step Functions vs. 亚马逊 MWAA？
](#t-step-functions)
+ [

## 环境通知
](#q-supported-features)
  + [

### 每个环境有多少任务存储空间可用？
](#worker-storage)
  + [

### Amazon MWAA 环境使用的默认操作系统是什么？
](#default-os)
  + [

### 我能否为我的 Amazon MWAA 环境使用自定义镜像？
](#custom-image)
  + [

### Amazon MWAA 是否符合 HIPAA 标准？
](#hipaa-compliance)
  + [

### Amazon MWAA 是否支持竞价型实例？
](#spot-instances)
  + [

### Amazon MWAA 是否支持自定义域？
](#custom-dns)
  + [

### 我能否通过 SSH 进入我的环境？
](#ssh-dag)
  + [

### 为什么 VPC 安全组需要自引用规则？
](#sg-rule)
  + [

### 我能否在 IAM 中向不同的群组隐藏环境？
](#hide-environments)
  + [

### 我能否在 Apache Airflow 工作线程上存储临时数据？
](#store-data)
  + [

### 我能否指定超过 25 个 Apache Airflow 工作线程？
](#scaling-quota)
  + [

### Amazon MWAA 是否支持共享亚马逊 VPCs 或共享子网？
](#shared-vpc)
  + [

### 我能否创建或集成自定义 Amazon SQS 队列来管理 Apache Airflow 中的任务执行和工作流程编排？
](#create-sqs)
+ [

## 指标
](#q-metrics)
  + [

### 使用哪些指标来确定是否扩展工作线程？
](#metrics-workers)
  + [

### 我可以在中创建自定义指标 CloudWatch吗？
](#metrics-custom)
+ [

## DAGs、操作员、连接和其他问题
](#q-dags)
  + [

### 我能否使用 `PythonVirtualenvOperator`？
](#virtual-env-dags)
  + [

### Amazon MWAA 需要多长时间才能识别新的 DAG 文件？
](#recog-dag)
  + [

### 为什么 Apache Airflow 没有采集我的 DAG 文件？
](#dag-file-error)
  + [

### 我能否从环境中移除 `plugins.zip` 或 `requirements.txt`？
](#remove-plugins-reqs)
  + [

### 为什么我的插件不出现在 Apache Airflow v2.0.2 管理员插件菜单中？
](#view-plugins-ui)
  + [

### 我可以使用 AWS 数据库迁移服务 (DMS) 运算符吗？
](#ops-dms)
  + [

### 当我使用 AWS 凭证访问 Airflow REST API 时，我能否将限制限制提高到每秒 10 笔以上的交易 (TPS)？
](#increase-throttling-limit)
  + [

### Airflow 任务执行 API 服务器在 Amazon MWAA 中的哪个位置运行？
](#task-execution-server)

## 支持的版本
<a name="q-supported-versions"></a>

### Amazon MWAA 对 Apache Airflow v2 支持什么？
<a name="airflow-support"></a>

要了解 Amazon MWAA 支持的内容，请参阅 [Amazon MWAA 上的 Apache Airflow 版本](airflow-versions.md)。

### 我可以使用何种版本的 Python？
<a name="python-version"></a>

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

**注意**  
自 2025 年 12 月 30 日起，Amazon MWAA 将终止对 Apache Airflow 版本 v2.4.3、v2.5.1 和 v2.6.3 的支持。有关更多信息，请参阅[Apache Airflow 版本支持和常见问题](airflow-versions.md#airflow-versions-support)。
从 Apache Airflow v2.2.2 开始，Amazon MWAA 支持直接在 Apache Airflow Web 服务器上安装 Python 要求、提供程序包和自定义插件。
 从 Apache Airflow v2.7.2 开始，要求文件必须包含一条 `--constraint` 语句。如果您未提供约束条件，Amazon MWAA 将为您指定一个约束条件，以确保您的要求中列出的程序包与您正在使用的 Apache Airflow 版本兼容。  
有关在需求文件中设置约束条件的更多信息，请参阅[安装 Python 依赖项](working-dags-dependencies.md#working-dags-dependencies-syntax-create)。


| Apache Airflow 版本 | Apache Airflow 发布日期 | Amazon MWAA 上市日期 | Apache Airflow 约束条件 | Python 版本 | 
| --- | --- | --- | --- | --- | 
|  [v2.11.0](https://airflow.apache.org/docs/apache-airflow/2.11.0)  |  [2025年5月20日](https://airflow.apache.org/docs/apache-airflow/2.11.0/release_notes.html#airflow-2-11-0-2022-05-20)  |  2026年1月7日  |  [v2.11.0 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-2.11.0/constraints-3.12.txt)  |  [Python 3.12](https://peps.python.org/pep-0693/)  | 
|  [v3.0.6](https://airflow.apache.org/docs/apache-airflow/3.0.6)  |  [2025 年 8 月 29 日](https://airflow.apache.org/docs/apache-airflow/3.0.6/release_notes.html#airflow-3-0-6-2025-08-29)  |  2025 年 10 月 1 日  |  [v3.0.6 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-3.0.6/constraints-3.12.txt)  |  [Python 3.12](https://peps.python.org/pep-0693/)  | 
|  [v2.10.3](https://airflow.apache.org/docs/apache-airflow/2.10.3)  |  [2024 年 11 月 4 日](https://airflow.apache.org/docs/apache-airflow/2.10.3/release_notes.html#airflow-2-10-3-2024-11-04)  |  2024 年 12 月 18 日  |  [v2.10.3 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-2.10.3/constraints-3.11.txt)  |  [Python 3.11](https://peps.python.org/pep-0664/)  | 
|  [v2.10.1](https://airflow.apache.org/docs/apache-airflow/2.10.1)  |  [2024 年 9 月 5 日](https://airflow.apache.org/docs/apache-airflow/2.10.1/release_notes.html#airflow-2-10-1-2024-09-05)  |  2024 年 9 月 26 日  |  [v2.10.1 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-2.10.1/constraints-3.11.txt)  |  [Python 3.11](https://peps.python.org/pep-0664/)  | 
|  [v2.9.2](https://airflow.apache.org/docs/apache-airflow/2.9.2)  |  [2024 年 6 月 10 日](https://airflow.apache.org/docs/apache-airflow/2.10.1/release_notes.html#airflow-2-9-2-2024-06-10)  |  2024 年 7 月 9 日  |  [v2.9.2 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-2.9.2/constraints-3.11.txt)  |  [Python 3.11](https://peps.python.org/pep-0664/)  | 
|  [v2.8.1](https://airflow.apache.org/docs/apache-airflow/2.8.1)  |  [2024 年 1 月 19 日](https://airflow.apache.org/docs/apache-airflow/2.10.1/release_notes.html#airflow-2-8-1-2024-01-19)  |  2024 年 2 月 23 日  |  [v2.8.1 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-2.8.1/constraints-3.11.txt)  |  [Python 3.11](https://peps.python.org/pep-0664/)  | 
|  [v2.7.2](https://airflow.apache.org/docs/apache-airflow/2.7.2)  |  [2023 年 10 月 12 日](https://airflow.apache.org/docs/apache-airflow/2.10.1/release_notes.html#airflow-2-7-2-2023-10-12)  |  2023 年 11 月 6 日  |  [v2.7.2 约束文件](https://raw.githubusercontent.com/apache/airflow/constraints-2.7.2/constraints-3.11.txt)  |  [Python 3.11](https://peps.python.org/pep-0664/)  | 

有关迁移自管理的 Apache Airflow 部署或迁移现有 Amazon MWAA 环境的更多信息，包括备份元数据数据库的说明，请参阅 [Amazon MWAA 迁移指南](https://docs.aws.amazon.com/mwaa/latest/migrationguide/index.html)。

## 使用案例
<a name="t-common-questions"></a>

### 我可以在亚马逊 Uni SageMaker fied Studio 中使用亚马逊 MWAA 吗？
<a name="t-use-sagemaker-unified-studio"></a>

可以。通过亚马逊 SageMaker Unified Studio 工作流程，您可以在亚马逊 U SageMaker nified Studio 中设置和运行一系列任务。亚马逊 SageMaker Unified Studio 工作流程使用 Apache Airflow 对数据处理程序进行建模并编排您的 SageMaker 亚马逊 Unified Studio 代码工件。有关更多信息，请参阅[工作流程](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/workflow-orchestration.html)部分。要了解有关亚马逊的更多信息 SageMaker，请参阅[什么是亚马逊 SageMaker？](https://docs.aws.amazon.com/next-generation-sagemaker/latest/userguide/what-is-sagemaker.html)

### 我什么时候可以用 AWS Step Functions vs. 亚马逊 MWAA？
<a name="t-step-functions"></a>

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

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

## 环境通知
<a name="q-supported-features"></a>

### 每个环境有多少任务存储空间可用？
<a name="worker-storage"></a>

任务存储空间限制为 20 GB，由 [Amazon ECS Fargate 1.4](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-storage.html#fargate-task-storage-linux-pv) 指定。RAM 量由您指定的环境类决定。有关环境类的更多信息，请参阅 [配置 Amazon MWAA 环境类](environment-class.md)。

### Amazon MWAA 环境使用的默认操作系统是什么？
<a name="default-os"></a>

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

### 我能否为我的 Amazon MWAA 环境使用自定义镜像？
<a name="custom-image"></a>

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

### Amazon MWAA 是否符合 HIPAA 标准？
<a name="hipaa-compliance"></a>

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

### Amazon MWAA 是否支持竞价型实例？
<a name="spot-instances"></a>

Amazon MWAA 目前不支持 Apache Airflow 的按需 Amazon EC2 竞价型实例类型。但是，Amazon MWAA 环境可以在 Amazon EMR 和 Amazon EC2 上触发竞价型实例。

### Amazon MWAA 是否支持自定义域？
<a name="custom-dns"></a>

要使用自定义域作为 Amazon MWAA 主机名，请执行以下操作之一：
+ 对于具有公共 Web 服务器访问权限的 Amazon MWAA 部署，您可以使用带有 CloudFront Lambda @Edge 的亚马逊将流量引导到您的环境，并将自定义域名映射到。 CloudFront有关更多信息以及为公共环境设置自定义域的示例，请参阅 [Amazon MWAA 示例存储库中的公有 Web 服务器的 Amazon MWAA 自定义域](https://github.com/aws-samples/amazon-mwaa-examples/tree/main/usecases/mwaa-public-webserver-custom-domain)示例。 GitHub 
+ 有关具有私有 Web 服务器访问权限的 Amazon MWAA 部署，请参阅 [为 Apache Airflow Web 服务器设置自定义域](configuring-custom-domain.md)。

### 我能否通过 SSH 进入我的环境？
<a name="ssh-dag"></a>

虽然 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 安全组需要自引用规则？
<a name="sg-rule"></a>

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

### 我能否在 IAM 中向不同的群组隐藏环境？
<a name="hide-environments"></a>

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

### 我能否在 Apache Airflow 工作线程上存储临时数据？
<a name="store-data"></a>

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

**注意**  
根据 [Amazon ECS Fargate 1.4](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-storage.html#fargate-task-storage-linux-pv)，任务总存储空间限制在 20 GB 以内。无法保证后续任务将在同一 Fargate 容器实例上运行，该实例可以使用不同的 `/tmp` 文件夹。

### 我能否指定超过 25 个 Apache Airflow 工作线程？
<a name="scaling-quota"></a>

可以。尽管您可以在 Amazon MWAA 控制台上指定最多 25 个 Apache Airflow 工作线程，但您可以通过请求增加配额在环境中配置多达 50 个 Apache Airflow 工作线程。有关更多信息，请参阅[请求增加限额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

### Amazon MWAA 是否支持共享亚马逊 VPCs 或共享子网？
<a name="shared-vpc"></a>

Amazon MWAA 不支持共享的亚马逊 VPCs 或共享子网。您在创建环境时选择的 Amazon VPC 必须由尝试创建环境的账户拥有。但是，您可以将流量从 Amazon MWAA 账户中的 Amazon VPC 路由到共享 VPC。有关更多信息以及将流量路由到共享 Amazon VPC 的示例，请参阅*《Amazon VPC 中转网关指南》*中的[集中出站路由到互联网](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-nat-igw.html)。

### 我能否创建或集成自定义 Amazon SQS 队列来管理 Apache Airflow 中的任务执行和工作流程编排？
<a name="create-sqs"></a>

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

## 指标
<a name="q-metrics"></a>

### 使用哪些指标来确定是否扩展工作线程？
<a name="metrics-workers"></a>

亚马逊 MWAA 会监视**QueuedTasks**并**RunningTasks**进入， CloudWatch 以确定是否在您的环境中扩展 Apache Airflow 工作程序。要了解更多信息，请参阅 [Amazon MWAA 的监控和指标](cw-metrics.md)。

### 我可以在中创建自定义指标 CloudWatch吗？
<a name="metrics-custom"></a>

不在 CloudWatch 主机上。但是，您可以创建在中写入自定义指标的 DAG CloudWatch。有关更多信息，请参阅[使用 DAG 在 CloudWatch 中编写自定义指标](samples-custom-metrics.md)。

## DAGs、操作员、连接和其他问题
<a name="q-dags"></a>

### 我能否使用 `PythonVirtualenvOperator`？
<a name="virtual-env-dags"></a>

Amazon MWAA 未明确支持 `PythonVirtualenvOperator`，但您可以创建一个使用 `PythonVirtualenvOperator` 的自定义插件。有关示例代码，请参阅 [为 Apache Airflow PythonVirtualenvOperator 创建自定义插件](samples-virtualenv.md)。

### Amazon MWAA 需要多长时间才能识别新的 DAG 文件？
<a name="recog-dag"></a>

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

这些值（新增值为 300 秒 DAGs，现有 DAGs值更新为 30 秒）分别对应于 Apache Airflow 配置[https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#dag-dir-list-interval](https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#dag-dir-list-interval)选项和。[https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#min-file-process-interval](https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#min-file-process-interval)

### 为什么 Apache Airflow 没有采集我的 DAG 文件？
<a name="dag-file-error"></a>

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

1. 检查执行角色是否具有对 Amazon S3 存储桶的足够权限。要了解更多信息，请参阅 [Amazon MWAA 执行角色](mwaa-create-role.md)。

1. 检查 Amazon S3 存储桶是否已配置*阻止公共访问*并启用*版本控制*。要了解更多信息，请参阅 [为 Amazon MWAA 创建 Amazon S3 存储桶。](mwaa-s3-bucket.md)。

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

### 我能否从环境中移除 `plugins.zip` 或 `requirements.txt`？
<a name="remove-plugins-reqs"></a>

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

### 为什么我的插件不出现在 Apache Airflow v2.0.2 管理员插件菜单中？
<a name="view-plugins-ui"></a>

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

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

### 我可以使用 AWS 数据库迁移服务 (DMS) 运算符吗？
<a name="ops-dms"></a>

Amazon MWAA 支持 [DMS 运算符](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/operators/dms.html)。但是，此运算符不能用于对与 Amazon MWAA 环境关联的 Amazon Aurora PostgreSQL 元数据数据库执行操作。

### 当我使用 AWS 凭证访问 Airflow REST API 时，我能否将限制限制提高到每秒 10 笔以上的交易 (TPS)？
<a name="increase-throttling-limit"></a>

是的，可以。要提高节流限制，请联系 [AWS 客户支持](https://aws.amazon.com/contact-us/)。

### Airflow 任务执行 API 服务器在 Amazon MWAA 中的哪个位置运行？
<a name="task-execution-server"></a>

Amazon MWAA 在 Web 服务器组件中运行 Airflow 任务执行 API 服务器。任务执行 APIs 仅在 Apache Airflow v3 及更高版本中可用。了解有关 Amazon MWAA 架构的更多信息，请参阅 [架构](what-is-mwaa.md#architecture-mwaa)。