本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新 Amazon MWAA 环境
注意
在加拿大西部(卡尔加里)和亚太地区(马来西亚)区域尚不支持 Amazon MWAA 正常更新。
Amazon MWAA 环境更新会应用最新更改和安全补丁。您还可以编辑现有配置并升级 Apache Airflow 版本。本指南介绍更新 Amazon MWAA 环境的步骤。
开始前的准备工作
-
环境创建后,将无法修改为环境指定的 VPC 网络。
-
您需要将 Amazon S3 存储桶配置为阻止所有公开访问并启用存储桶版本控制。
-
您需要 Amazon Web Services 账户,它拥有使用 Amazon MWAA 的权限和在 Amazon Identity and Access Management (IAM) 中创建 IAM 角色的权限。如果您为 Apache Airflow Web 服务器选择了私有网络访问模式,由于该模式会限制 Amazon VPC 内的 Apache Airflow 访问权限,因此您需要 IAM 中的权限才能创建 Amazon VPC 端点。
-
要启用正常环境更新,需要升级到 Apache Airflow 版本 2.4.3 或更高版本。要升级 Airflow 版本,请参阅 更改 Apache Airflow 版本。
工作线程替换策略
您可以选择工作线程替换策略来控制 Amazon MWAA 在环境更新期间如何处理活跃的工作线程。您可以选择下列策略之一:
- 强制更新
-
强制更新是默认的工作线程替换策略。强制更新会立即停止所有活跃的工作进程,从而导致正在运行的任务在更新期间失败。
- 正常更新
-
正常更新支持工作线程在关闭前继续运行任务长达 12 小时。只要任务在 12 小时内完成,它就可以防止任务因更新中断而失败。新任务将路由到更新后的工作线程。
要在现有环境上启用正常更新,必须完成一次强制更新,并确保环境在 Apache Airflow 版本 2.4.3 或更高版本上。
注意
如果您在环境处于 MAINTENANCE 状态时执行更新,则任何正在进行的环境更新的工作线程替换策略将从 GRACEFUL 切换到 FORCED。在维护完成后,将执行更新。
更新环境资源
默认情况下,Amazon MWAA 环境更新使用现有环境配置。要更新环境但不更改当前配置,请执行以下操作:
-
在 Amazon MWAA 控制台上打开环境页面
。 -
从环境列表中,选择要更新的环境。
-
在环境页面上,选择编辑以编辑环境。
-
选择下一步,直到进入查看并保存页面。
-
在查看并保存页面上,查看更改,然后选择保存。
更新环境
下一节介绍更新 Amazon MWAA 环境的步骤。
步骤 1:指定详细信息
要指定环境的详细信息,请执行以下操作
-
在 Amazon MWAA 控制台上打开环境页面
。 -
从环境列表中,选择要更新的环境。
-
在环境页面上,选择编辑以编辑环境。
-
在环境详细信息部分,对于 Airflow 版本,从下拉列表中选择要将环境升级到的新 Apache Airflow 版本号。
注意
在升级之前,请确保 DAG 和其他工作流程资源与新 Apache Airflow 版本兼容。有关更多信息,请参阅更改 Apache Airflow 版本。
-
在 Amazon S3 的 DAG 代码下指定以下内容:
-
S3 Bucket。选择浏览 S3 并选择 Amazon S3 存储桶,或者输入 Amazon S3 URI。
-
DAG 文件夹。选择浏览 S3,然后选择 Amazon S3 存储桶中的
dags文件夹,或者输入 Amazon S3 URI。 -
插件文件-可选。选择浏览 S3,然后选择 Amazon S3 存储桶上的
plugins.zip文件,或者输入 Amazon S3 URI。 -
要求文件-可选。选择浏览 S3,然后选择 Amazon S3 存储桶上的
requirements.txt文件,或者输入 Amazon S3 URI。 -
启动脚本文件-可选,选择浏览 S3并选择 Amazon S3 存储桶上的脚本文件,或者输入 Amazon S3 URI。
-
-
选择下一步。
步骤 2:配置高级设置
配置高级设置
-
在 Web 服务器访问下,选择您首选的 Apache Airflow 访问模式:
-
私有网络。这限制了对 Apache Airflow UI 的访问,只有在 Amazon VPC 中已获得 环境的 IAM 策略访问权限的用户才能访问。您需要获得权限才能为此步骤创建 Amazon VPC 端点。
注意
如果 Apache Airflow UI 只能在公司网络中访问,并且不需要访问公共存储库即可进行 Web 服务器要求安装,请选择私有网络选项。如果您选择此访问模式选项,则需要创建一种机制来访问 Amazon VPC 中的 Apache Airflow Web 服务器。有关更多信息,请参阅访问 Apache Airflow Web 服务器的 VPC 端点(私有网络访问)。
-
公有网络。这使获得环境的 IAM 策略访问权限的用户可以通过互联网访问 Apache Airflow UI。
-
-
在安全组下,选择用于保护 Amazon VPC 的安全组:
-
默认情况下,Amazon MWAA 会在 Amazon VPC 中创建一个安全组,并在创建新安全组中使用特定的入站和出站规则。
-
—可选。取消选中创建新安全组中的复选框可选择最多 5 个安全组。
注意
现有 Amazon VPC 安全组必须配置特定的入站和出站规则,才能允许网络流量。要了解更多信息,请参阅 Amazon MWAA 上的 VPC 安全。
-
-
在环境类下,选择一个环境类。
我们建议选择支持您的工作负载所需的最小尺寸。您可以随时更改环境类。
-
对于最大工作线程计数,请指定要在环境中运行的 Apache Airflow 工作线程的最大数量。
有关更多信息,请参阅高性能用例示例。
-
指定最大 Web 服务器数和最小 Web 服务器数,以配置 Amazon MWAA 如何在环境中扩展 Apache Airflow Web 服务器。
有关 Web 服务器自动扩展的更多信息,请参阅 配置 Amazon MWAA Web 服务器自动扩缩。
-
在加密下,选择一个数据加密选项:
-
默认情况下,Amazon MWAA 使用 Amazon 自有密钥对数据进行加密。
-
—可选。选择自定义加密设置(高级)以选择其他 Amazon KMS 密钥。如果您选择在此步骤中指定由客户托管的密钥,则必须指定 Amazon KMS 密钥 ID 或 ARN。Amazon MWAA 不支持 Amazon KMS 别名和多区域密钥。如果您在 Amazon S3 存储桶上指定了用于服务器端加密的 Amazon S3 密钥,则必须为 Amazon MWAA 环境指定相同的密钥。
注意
您必须拥有该密钥的权限才能在 Amazon MWAA 控制台上选择该密钥。您还必须通过 附加密钥政策 中所述的附加策略授予 Amazon MWAA 使用密钥的权限。
-
-
(推荐)。在监控下,为 Airflow 日志配置选择一个或多个日志类别,将 Apache Airflow 日志发送到 CloudWatch Logs:
-
Airflow 任务日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow 任务日志的类型。
-
Airflow Web 服务器日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow Web 服务器日志的类型。
-
Airflow 计划程序日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow 计划程序日志的类型。
-
Airflow 工作线程日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow 工作线程日志的类型。
-
Airflow DAG 处理日志。在日志级别中选择要发送到 CloudWatch Logs 的 Apache Airflow DAG 处理日志的类型。
-
-
—可选。对于 Airflow 配置选项,选择添加自定义配置选项。
您可以从 Apache Airflow 版本的 Apache Airflow 配置选项的建议下拉列表中进行选择,也可以指定自定义配置选项。例如
core.default_task_retries:3。 -
在权限下,选择一个执行角色。
-
默认情况下,Amazon MWAA 会在创建新角色中创建一个执行角色。您必须具有创建 IAM 角色的权限,才能使用此选项。
-
—可选。选择输入角色 ARN 输入现有执行角色的 Amazon 资源名称(ARN)。
-
-
在更新规范下,选择 a 工作线程替换策略 以控制在更新期间如何处理活跃工作线程。
-
选择下一步。
步骤 3:审核并更新
查看环境摘要
-
查看环境摘要,选择保存。
注意
使用强制更新方法更新环境大约需要二十到三十分钟。正常环境更新可能需要长达十二个小时才能完成,因为它需要等待您正在进行的任务完成。