

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將工作負載從 遷移 AWS Data Pipeline 至 Amazon MWAA
<a name="migrating-pipeline-workloads"></a>

AWS 已在 2012 年推出 AWS Data Pipeline 此服務。當時，客戶想要一種服務，讓他們使用各種運算選項在不同資料來源之間移動資料。由於資料傳輸需求會隨著時間而變更，因此請針對這些需求提供解決方案。您現在可以選擇最符合您業務需求的解決方案。您可以將工作負載遷移至下列任一 AWS 服務：
+ 使用 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 來管理 Apache Airflow 的工作流程協調。
+ 使用 Step Functions 在多個 之間協調工作流程 AWS 服務。
+ 使用 AWS Glue 執行和協調 Apache Spark 應用程式。

您選擇的選項取決於您目前的工作負載 AWS Data Pipeline。本主題說明如何從 遷移 AWS Data Pipeline 至 Amazon MWAA。

**Topics**
+ [選擇 Amazon MWAA](#migrating-pipeline-workloads-mwaa)
+ [架構和概念映射](#migrating-pipeline-workloads-concept-mapping)
+ [實作範例](#migrating-pipeline-workloads-examples)
+ [定價比較](#migrating-pipeline-workloads-price-comparison)
+ [相關資源](#migrating-pipeline-workloads-resources)

## 選擇 Amazon MWAA
<a name="migrating-pipeline-workloads-mwaa"></a>

 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 是 Apache Airflow 的受管協同運作服務，可讓您大規模在雲端中設定和操作end-to-end資料管道。[Apache Airflow](https://airflow.apache.org/) 是一種開放原始碼工具，用於以程式設計方式撰寫、排程和監控稱為*工作流程*的程序和任務序列。使用 Amazon MWAA，您可以使用 Apache Airflow 和 Python 程式設計語言來建立工作流程，而不必為了可擴展性、可用性和安全性管理基礎基礎設施。Amazon MWAA 會自動擴展其工作流程容量以符合您的需求，並與 AWS 安全服務整合，協助您快速且安全地存取資料。

以下重點介紹從 遷移 AWS Data Pipeline 到 Amazon MWAA 的一些優點：
+ **增強的可擴展性和效能** – Amazon MWAA 為定義和執行工作流程提供了靈活且可擴展的架構。這可讓使用者輕鬆處理大型和複雜的工作流程，並利用動態任務排程、資料驅動型工作流程和平行處理等功能。
+ **改善監控和記錄** – Amazon MWAA 與 Amazon CloudWatch 整合，以增強對工作流程的監控和記錄。Amazon MWAA 會自動將系統指標和日誌傳送至 CloudWatch。這表示您可以即時追蹤工作流程的進度和效能，並識別出現的任何問題。
+ **更好的 AWS 服務與第三方軟體整合** – Amazon MWAA 與各種其他服務整合 AWS ，例如 Amazon S3 AWS Glue和 Amazon Redshift，以及 [DBT](https://www.getdbt.com/)、[Snowflake](https://www.snowflake.com/en/) 和 [Databricks](https://www.databricks.com/) 等第三方軟體。這可讓您在不同的環境和服務中處理和傳輸資料。
+ **開放原始碼資料管道工具** – Amazon MWAA 會利用您熟悉的相同開放原始碼 Apache Airflow 產品。Apache Airflow 是專為處理資料管道管理各方面而設計的工具，包括擷取、處理、傳輸、完整性測試、品質檢查，以及確保資料歷程。
+ **現代且靈活的架構** – Amazon MWAA 利用容器化和雲端原生、無伺服器技術。這意味著要提高靈活性和可攜性，以及更輕鬆地部署和管理工作流程環境。

## 架構和概念映射
<a name="migrating-pipeline-workloads-concept-mapping"></a>

 AWS Data Pipeline 和 Amazon MWAA 具有不同的架構和元件，這可能會影響遷移程序和定義和執行工作流程的方式。本節概述兩種服務的架構和元件，並強調一些主要差異。

 AWS Data Pipeline 和 Amazon MWAA 都是全受管服務。當您將工作負載遷移至 Amazon MWAA 時，您可能需要學習新概念，以使用 Apache Airflow 建立現有工作流程的模型。不過，您不需要管理基礎設施、修補工作者和管理作業系統更新。

 下表將 中的關鍵概念 AWS Data Pipeline 與 Amazon MWAA 中的關鍵概念建立關聯。使用此資訊做為設計遷移計劃的起點。



- **管道定義**
  - **AWS Data Pipeline:**  AWS Data Pipeline 使用 JSON 型組態檔案來定義工作流程。
  - **Amazon MWAA:** Amazon MWAA 使用 Python 導向[無環圖 ](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dags.html)(DAGs) 來定義工作流程。

- **管道執行環境**
  - **AWS Data Pipeline:** 工作流程會在 Amazon EC2 執行個體上執行。 會代表您 AWS Data Pipeline 佈建和管理這些執行個體。
  - **Amazon MWAA:** Amazon MWAA 使用 Amazon ECS 容器化環境來執行任務。

- **管道元件**
  - **AWS Data Pipeline:** 活動正在處理在工作流程中執行的任務。 / **Amazon MWAA:** [Operators ](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/operators.html)([任務](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html)) 是工作流程的基本處理單位。
  - **AWS Data Pipeline:** 先決條件包含條件式陳述式，必須先為 true，活動才能執行。 / **Amazon MWAA:** [感應器 ](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/sensors.html)([任務） ](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html)代表條件式陳述式，可在執行之前等待資源或任務完成。
  - **AWS Data Pipeline:** 中的資源 AWS Data Pipeline 是指執行管道活動指定工作的 AWS 運算資源。Amazon EC2 和 Amazon EMR 是兩個可用的資源。 / **Amazon MWAA:** 在 DAG 中使用任務，您可以定義各種運算資源，包括 Amazon ECS、Amazon EMR 和 Amazon EKS。Amazon MWAA 會在 Amazon ECS 上執行的工作者上執行 Python 操作。

- **管道執行**
  - **AWS Data Pipeline:** AWS Data Pipeline 支援使用一般速率型和 Cron 型模式來排程執行。 / **Amazon MWAA:** Amazon MWAA 支援使用 [Cron](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dag-run.html#cron-presets) 表達式和預設集以及自訂[時間表進行](https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/timetable.html)排程。
  - **AWS Data Pipeline:** 執行個體是指管道的每個執行。 / **Amazon MWAA:** [DAG 執行](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dag-run.html)是指 Apache Airflow 工作流程的每個執行。
  - **AWS Data Pipeline:** 嘗試是指重試失敗的操作。 / **Amazon MWAA:** Amazon MWAA 支援您在 DAG 層級或任務層級定義的重試。



## 實作範例
<a name="migrating-pipeline-workloads-examples"></a>

 在許多情況下，遷移至 Amazon MWAA AWS Data Pipeline 後，您將可以重複使用目前與 協調的資源。下列清單包含使用 Amazon MWAA 進行最常見 AWS Data Pipeline 使用案例的範例實作。
+ [執行 Amazon EMR 任務](https://catalog.us-east-1.prod.workshops.aws/workshops/795e88bb-17e2-498f-82d1-2104f4824168/en-US/workshop-2-2-2/m1-processing/emr) (AWS workshop)
+ [為 Apache Hive 和 Hadoop 建立自訂外掛程式](https://docs.aws.amazon.com/mwaa/latest/userguide/samples-hive.html) (*Amazon MWAA 使用者指南*)
+ [將資料從 S3 複製到 Redshift](https://catalog.us-east-1.prod.workshops.aws/workshops/795e88bb-17e2-498f-82d1-2104f4824168/en-US/workshop-2-2-2/m1-processing/redshift) (AWS workshop)
+ [在遠端 Amazon ECS 執行個體上執行 shell 指令碼](https://docs.aws.amazon.com/mwaa/latest/userguide/samples-ssh.html) (*Amazon MWAA 使用者指南*)
+ [協調混合式 （內部部署） 工作流程](https://dev.to/aws/orchestrating-hybrid-workflows-using-amazon-managed-workflows-for-apache-airflow-mwaa-2boc) （部落格文章）

 如需其他教學課程和範例，請參閱下列內容：
+ [Amazon MWAA 教學課程](https://docs.aws.amazon.com/mwaa/latest/userguide/tutorials.html)
+ [Amazon MWAA 程式碼範例](https://docs.aws.amazon.com/mwaa/latest/userguide/sample-code.html)

## 定價比較
<a name="migrating-pipeline-workloads-price-comparison"></a>

 的定價 AWS Data Pipeline 取決於管道數量，以及您在每個管道的使用量。您每天執行超過一次 （高頻率） 的活動，每個活動每月花費 1 美元。您每天執行一次或更少 （低頻率） 的活動，每個活動每月花費 0.60 美元。非作用中管道的定價為每個管道 1 美元。如需詳細資訊，請參閱 [AWS Data Pipeline 定價](https://aws.amazon.com/datapipeline/pricing/)頁面。

Amazon MWAA 的定價取決於您的受管 Apache Airflow 環境存在的持續時間，以及提供更多工作者或排程器容量所需的任何其他自動擴展。您每小時支付 Amazon MWAA 環境用量 （以一秒解析度計費），費用會因環境大小而異。Amazon MWAA 會根據您的環境組態自動調整工作者數量。 會分別 AWS 計算其他工作者的成本。如需使用各種 Amazon MWAA 環境大小的每小時成本詳細資訊，請參閱 [Amazon MWAA 定價](https://aws.amazon.com/managed-workflows-for-apache-airflow/pricing/)頁面。

## 相關資源
<a name="migrating-pipeline-workloads-resources"></a>

 如需使用 Amazon MWAA 的詳細資訊和最佳實務，請參閱下列資源：
+ [Amazon MWAA API 參考](https://docs.aws.amazon.com/mwaa/latest/API/Welcome.html)
+ [在 Amazon MWAA 上監控儀表板和警示](https://docs.aws.amazon.com/mwaa/latest/userguide/monitoring-dashboard.html)
+ [Amazon MWAA 上 Apache Airflow 的效能調校](https://docs.aws.amazon.com/mwaa/latest/userguide/best-practices-tuning.html)