升级 Apache Airflow 版本 - Amazon Managed Workflows for Apache Airflow
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

升级 Apache Airflow 版本

Amazon MWAA 支持次要版本升级。这意味着您可以将环境从版本 x.4.z 升级到 x.5.z。要执行主要版本升级(例如从版本 1.y.z 升级到 2.y.z),必须创建新环境并迁移资源。有关升级到 Apache Airflow 的新主要版本的更多信息,请参阅《Amazon MWAA 迁移指南》中的迁移到新的 Amazon MWAA 环境

在升级过程中,Amazon MWAA 会捕获环境的元数据快照,将工作线程、计划程序、Web 服务器升级到新的 Apache Airflow 版本,最后使用快照恢复元数据数据库。

注意

您无法为自己的环境降级 Apache Airflow 版本。

在升级之前,请确保 DAG 和其他工作流程资源与您要升级到的新 Apache Airflow 版本兼容。如果您使用 requirements.txt 来管理依赖项,则还必须确保您在要求中指定的依赖项与新版本兼容。

升级工作流程资源

每当您更改 Apache Airflow 版本时,请确保在 requirements.txt引用正确的 --constraint URL。

警告

在升级期间指定与目标 Apache Airflow 版本不兼容的要求可能会导致回滚到具有先前要求版本的 Apache Airflow 先前版本的过程很长。

要迁移工作流程资源,请执行以下操作
  1. 创建 aws-mwaa-local-runner 存储库的分支,然后克隆 Amazon MWAA 本地运行器的副本。

  2. 查看与您要升级到的版本匹配的 aws-mwaa-local-runner 存储库的分支。

  3. 使用 Amazon MWAA 本地运行器 CLI 工具来构建 Docker 映像并在本地运行 Apache Airflow。有关更多信息,请参阅 GitHub 存储库中的 README

  4. 要更新 requirements.txt,请按照《Amazon MWAA 用户指南》管理 Python 依赖项中推荐的最佳实践进行操作。

  5. (可选)要加快升级过程,请清理环境的元数据数据库。具有大量元数据的环境可能需要更长的时间才能升级。

  6. 成功测试工作流程资源后,将 DAG、requirements.txt 和插件复制到环境的 Amazon S3 存储桶。

现在,您可以编辑环境、指定新的 Apache Airflow 版本并开始更新过程了。

指定新版本

更新工作流程资源以确保与新 Apache Airflow 版本兼容后,请执行以下操作来编辑环境详细信息并指定要升级到的 Apache Airflow 版本。

注意

执行升级时,当前在环境中运行的所有任务都将在升级过程中终止。更新过程最多可能需要两个小时,在此期间,环境将不可用。

要使用控制台指定新版本,请执行以下操作
  1. 在 Amazon MWAA 控制台上打开环境页面

  2. 环境列表中,选择要升级的环境。

  3. 在环境页面上,选择编辑以编辑环境。

  4. 环境详细信息部分,对于 Airflow 版本,从下拉列表中选择要将环境升级到的新 Apache Airflow 版本号。

  5. 选择下一步,直到进入查看并保存页面。

  6. 查看并保存页面上,查看更改,然后选择保存

当您应用更改时,环境将开始升级过程。在此期间,环境状态表明 Amazon MWAA 正在采取哪些操作以及该过程是否成功。

在成功升级的情况下,状态将显示 UPDATING,然后 CREATING_SNAPSHOT,因为 Amazon MWAA 会捕获元数据备份。最后,状态将首先返回到 UPDATING,然后过程完成时,返回到 AVAILABLE

如果环境升级失败,则环境状态会显示 ROLLING_BACK。如果回滚成功,则状态将首先显示 UPDATE_FAILED,表示更新失败但环境可用。如果回滚失败,则状态会显示 UNAVAILABLE,表示您无法访问环境。