创建 Amazon MWAA 环境 - Amazon Managed Workflows for Apache Airflow

创建 Amazon MWAA 环境

Amazon Managed Workflows for Apache Airflow 使用与 Apache 相同的开源 Apache Airflow 和用户界面,在您所选版本的环境中设置 Apache Airflow。本指南介绍创建 Amazon MWAA 环境的步骤。

开始前的准备工作

  • 环境创建后,您将无法修改为环境指定的 VPC 网络

  • 您需要将 Amazon S3 存储桶配置为阻止所有公开访问并启用存储桶版本控制

  • 您需要一个 AWS 账户,该账户拥有使用 Amazon MWAA 的权限和在 AWS Identity and Access Management (IAM) 中创建 IAM 角色的权限。如果您为 Apache Airflow Web 服务器选择的是私有网络访问模式,由于该模式会限制 Amazon VPC 内的 Apache Airflow 访问权限,因此您需要 IAM 中的权限才能创建 Amazon VPC 端点。

Apache Airflow 版本

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 环境的步骤。

步骤 1:指定详细信息

要指定环境的详细信息,请执行以下操作
  1. 打开 Amazon MWAA 控制台

  2. 使用 AWS 区域选择器选择您的区域。

  3. 选择创建环境

  4. 指定详细信息页面上,在环境详细信息下:

    1. 名称中为环境输入一个独有的名称。

    2. Airflow 版本中选择 Apache Airflow 版本。

      注意

      如果未指定任何值,则默认为最新的 Apache Airflow 版本。可用的最新版本是。

  5. Amazon S3 的 DAG 代码下指定以下内容:

    1. S3 Bucket。选择浏览 S3 并选择 Amazon S3 存储桶,或者输入 Amazon S3 URI。

    2. DAG 文件夹。选择浏览 S3,然后选择 Amazon S3 存储桶中的 dags 文件夹,或者输入 Amazon S3 URI。

    3. 插件文件-可选。选择浏览 S3,然后选择 Amazon S3 存储桶上的 plugins.zip 文件,或者输入 Amazon S3 URI。

    4. 要求文件-可选。选择浏览 S3,然后选择 Amazon S3 存储桶上的 requirements.txt 文件,或者输入 Amazon S3 URI。

    5. 启动脚本文件-可选,选择浏览 S3并选择 Amazon S3 存储桶上的脚本文件,或者输入 Amazon S3 URI。

  6. 选择下一步

步骤 2:配置高级设置

配置高级设置
  1. 配置高级设置页面上,在联网下:

    1. 选择 Amazon VPC

      此步骤将填充 Amazon VPC 中的两个私有子网。

  2. Web 服务器访问下,选择您首选的 Apache Airflow 访问模式

    1. 私有网络。这限制了对 Apache Airflow UI 的访问,只有在 Amazon VPC 中已获得 环境的 IAM 策略访问权限的用户才能访问。您需要获得权限才能为此步骤创建 Amazon VPC 端点。

      注意

      如果 Apache Airflow UI 只能在公司网络中访问,并且不需要访问公共存储库即可进行 Web 服务器要求安装,请选择私有网络选项。如果您选择此访问模式选项,则需要创建一种机制来访问 Amazon VPC 中的 Apache Airflow Web 服务器。有关更多信息,请参阅 访问 Apache Airflow Web 服务器的 VPC 端点(私有网络访问)

    2. 公有网络。这使获得环境的 IAM 策略访问权限的用户可以通过互联网访问 Apache Airflow UI。

  3. 安全组下,选择用于保护 Amazon VPC 的安全组:

    1. 默认情况下,Amazon MWAA 会在 Amazon VPC 中创建一个安全组,并在创建新安全组中使用特定的入站和出站规则。

    2. 可选。取消选中创建新安全组中的复选框可选择最多 5 个安全组。

      注意

      现有 Amazon VPC 安全组必须配置特定的入站和出站规则,才能允许网络流量。要了解更多信息,请参阅 Amazon MWAA 上的 VPC 安全

  4. 环境类下,选择一个环境类

    我们建议选择支持您的工作负载所需的最小尺寸。您可以随时更改环境类。

  5. 对于最大工作线程计数,请指定要在环境中运行的 Apache Airflow 工作线程的最大数量。

    有关更多信息,请参阅 高性能用例示例

  6. 指定最大 Web 服务器数最小 Web 服务器数,以配置 Amazon MWAA 如何在环境中扩展 Apache Airflow Web 服务器。

    有关 Web 服务器自动扩缩的更多信息,请参阅配置 Amazon MWAA Web 服务器自动扩缩

  7. 加密下,选择一个数据加密选项:

    1. 默认情况下,Amazon MWAA 使用 AWS 自有密钥对数据进行加密。

    2. 可选。选择自定义加密设置(高级)以选择其他 AWS KMS 密钥。如果您选择在此步骤中指定由客户托管的密钥,则必须指定 AWS KMS 密钥 ID 或 ARN。Amazon MWAA 不支持 AWS KMS 别名和多区域密钥。如果您在 Amazon S3 存储桶上指定了用于服务器端加密的 Amazon S3 密钥,则必须为 Amazon MWAA 环境指定相同的密钥。

      注意

      您必须拥有该密钥的权限才能在 Amazon MWAA 控制台上选择该密钥。您还必须通过 附加密钥政策 中所述的附加策略授予 Amazon MWAA 使用密钥的权限。

  8. 推荐。在监控下,为 Airflow 日志配置选择一个或多个日志类别,将 Apache Airflow 日志发送到 CloudWatch Logs:

    1. Airflow 任务日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow 任务日志的类型。

    2. Airflow Web 服务器日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow Web 服务器日志的类型。

    3. Airflow 计划程序日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow 计划程序日志的类型。

    4. Airflow 工作线程日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow 工作线程日志的类型。

    5. Airflow DAG 处理日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow DAG 处理日志的类型。

  9. 可选。对于 Airflow 配置选项,选择添加自定义配置选项

    您可以从 Apache Airflow 版本的 Apache Airflow 配置选项的建议下拉列表中进行选择,也可以指定自定义配置选项。例如 core.default_task_retries : 3

  10. 可选。标签下,选择添加新标记,将标签与环境相关联。例如,EnvironmentStaging

  11. 权限下,选择一个执行角色。

    1. 默认情况下,Amazon MWAA 会在创建新角色中创建一个执行角色。您必须具有创建 IAM 角色的权限,才能使用此选项。

    2. 可选。选择输入角色 ARN 输入现有执行角色的 Amazon 资源名称(ARN)。

  12. 选择下一步

步骤 3:查看和创建

要查看环境摘要,请执行以下操作
  • 查看环境摘要,选择创建环境

    注意

    创建环境大约需要二十到三十分钟。