AWS Data Pipelineからのワークロードの移行 - AWS Data Pipeline

AWS Data Pipelineからのワークロードの移行

AWSは2012年にAWS Data Pipelineサービスを開始しました。当時は、さまざまなコンピューティングオプションを使用して、異なるデータソース間でデータを確実に移動できるサービスが求められていました。現在は、お客様により優れたエクスペリエンスを提供するサービスが他にもあります。例えば、AWS Glueを使用してApache Sparkアプリケーションの実行とオーケストレーションを行ったり、AWSStep Functionsを使用してAWSサービスコンポーネントのオーケストレーションを行ったり、Amazon Managed Workflows for Apache Airflow (Amazon MWAA)を使用してApache Airflowのワークフローオーケストレーションを管理したりできます。

このトピックでは、AWS Data Pipelineから代替オプションに移行する方法について説明します。選択するオプションは、AWS Data Pipelineの現在のワークロードによって異なります。AWS Data Pipelineの一般的なユースケースは、AWS Glue、AWSStep FunctionsまたはAmazon MWAAのいずれかに移行できます。

AWS Glueへのワークロードの移行

AWS Glueは、分析を行うユーザーが複数のソースからのデータを簡単に検出、準備、移動、統合できるようにするサーバーレスのデータ統合サービスです。これには、ジョブの作成、実行、ワークフローのオーケストレーションのためのツールが含まれています。AWS Glueを使用すれば、70を超える多様なデータソースを検出して接続し、一元化されたデータカタログでデータを管理できます。抽出、変換、ロード(ETL)パイプラインを視覚的に作成、実行、モニタリングして、データをデータレイクにロードできます。また、Amazon Athena、Amazon EMR、Amazon Redshift Spectrumを使用して、カタログ化されたデータをすぐに検索し、クエリできます。

次のような場合は、AWS Data PipelineのワークロードをAWS Glueに移行することをお勧めします。

  • さまざまなデータソース、ビジュアルエディタやノートブックなどのオーサリングインターフェイス、データ品質や機密データ検出などの高度なデータ管理機能をサポートするサーバーレスデータ統合サービスを探している。

  • ワークロードをAWS Glueワークフロー、ジョブ(PythonまたはApache Spark)、クローラー(例えば、既存のパイプラインがApache Spark上に構築されている場合)に移行できる。

  • 取り込み、処理、転送、整合性テスト、品質チェックなど、データパイプラインのあらゆる側面を処理できる単一のプラットフォームを必要としている。

  • 既存のパイプラインが、DynamoDBテーブルをAmazon S3にエクスポートするなど、AWS Data Pipelineコンソールで事前定義されたテンプレートから作成されたもので、同じ目的のテンプレートを探している。

  • ワークロードがApache Hiveのような特定のHadoopエコシステムアプリケーションには依存しない。

  • ワークロードにオンプレミスサーバーのオーケストレーションが必要ない。

AWS料金は、クローラー(データの検出)とETLジョブ(データの処理とロード)に対して時間あたりの料金が秒単位で課金されます。AWS GlueStudioは、AWS Glueリソース用の組み込みのオーケストレーションエンジンで、追加コストなしで提供されます。料金の詳細については、「AWS Glueの料金」を参照してください。

AWSStep Functionsへのワークロードの移行

AWSStep Functionsは、ビジネスクリティカルなアプリケーションのワークフローを構築できるサーバーレスのオーケストレーションサービスです。Step Functionsを使用すると、ビジュアルエディターを使用してワークフローを構築し、AWS Lambda、Amazon EMR、DynamoDBなどの250を超えるAWSサービスの11,000以上のアクションと直接統合できます。Step Functionsを使用して、データ処理パイプラインのオーケストレーション、エラーの処理、基盤となるAWSサービスのスロットリング制限の処理を行うことができます。機械学習モデルを処理してパブリッシュするワークフローを作成したり、マイクロサービスをオーケストレーションしたり、AWS GlueなどのAWSサービスを制御して抽出、変換、ロード(ETL)ワークフローを作成したりできます。また、手動による介入が必要なアプリケーション用に実行時間が長い自動化されたワークフローを作成することもできます。

AWS Data Pipelineと同様に、AWSStep FunctionsはAWSが提供するフルマネージドサービスです。インフラストラクチャの管理、ワーカーのパッチ適用、OSバージョン更新の管理などを行う必要はありません。

次のような場合は、AWS Data PipelineのワークロードをAWSStep Functionsに移行することをお勧めします。

  • サーバーレスで可用性の高いワークフローオーケストレーションサービスを探している。

  • 1つのタスク実行の粒度で課金される、費用対効果の高いソリューションを探している。

  • ワークロードが、Amazon EMR、Lambda、AWS Glue、DynamoDBなど、他の複数のAWSサービスのタスクをオーケストレーションしている。

  • ワークフロー作成用のドラッグアンドドロップ式のビジュアルデザイナーが付属している、新しいプログラミング概念を学習する必要のない、ローコードのソリューションを探している。

  • 11,000以上のアクションに対応する250を超える他のAWSサービスと追加設定なしで統合できるだけでなく、カスタムのAWS以外のサービスやアクティビティとの統合も可能にするサービスを探している。

AWS Data PipelineとStep FunctionsはどちらもJSON形式を使用してワークフローを定義します。これにより、ワークフローをソース管理に保存し、バージョンを管理し、アクセスを制御し、CI/CDで自動化することができます。Step Functionsは、完全にJSONに基づいたAmazon State Language と呼ばれる構文を使用しており、ワークフローのテキスト表現と視覚表現をシームレスに切り替えることができます。

Step Functionsでは、現在AWS Data Pipelineで使用しているのと同じバージョンのAmazon EMRを選択できます。

AWS Data Pipelineマネージドリソースのアクティビティを移行する場合、Step FunctionsのAWSSDKサービス統合を使用して、リソースのプロビジョニングとクリーンアップを自動化できます。

オンプレミスサーバー、ユーザーマネージドEC2インスタンス、またはユーザーマネージドEMRクラスター上のアクティビティを移行する場合、SSMエージェントをインスタンスにインストールできます。コマンドは、Step FunctionsからAWSSystems Managerの実行コマンドを使用して開始できます。Amazon EventBridgeで定義されたスケジュールからステートマシンを起動することもできます。

AWSStep Functionsには、標準ワークフローとExpressワークフローの2つのワークフロータイプがあります。標準ワークフローでは、アプリケーションの実行に必要な状態遷移の回数に基づいて課金されます。Expressワークフローでは、ワークフローのリクエスト数とその期間に基づいて課金されます。料金の詳細については、「AWSStep Functionsの料金」を参照してください。

Amazon MWAAへのワークロードの移行

Amazon MWAA (Managed Workflows for Apache Airflow)は、Apache Airflowのマネージドオーケストレーションサービスです。これにより、クラウド内のエンドツーエンドのデータパイプラインを大規模にセットアップして運用することが容易になります。Apache Airflowは、「ワークフロー」と呼ばれる一連のプロセスとタスクをプログラムで作成、スケジュール、監視するためのオープンソースのツールです。Amazon MWAAでは、AirflowとPythonプログラミング言語を使用して、スケーラビリティ、可用性、セキュリティの基盤となるインフラストラクチャを管理せずにワークフローを作成できます。Amazon MWAAは、お客様のニーズに合わせてワークフロー実行容量を自動的にスケーリングします。また、AWSセキュリティサービスと統合して、データへの高速かつ安全なアクセスを可能にします。

AWS Data Pipelineと同様に、Amazon MWAAはAWSが提供するフルマネージドサービスです。これらのサービスに固有の新しい概念をいくつか学ぶ必要がありますが、インフラストラクチャの管理、ワーカーのパッチ適用、OSバージョン更新の管理などを行う必要はありません。

次のような場合は、AWS Data PipelineワークロードをAmazon MWAAに移行することをお勧めします。

  • Pythonで記述されたワークフローをオーケストレーションするための、マネージド型の可用性の高いサービスを探している。

  • 移植性を最大限に高めるに、フルマネージドで広く採用されているオープンソーステクノロジであるApache Airflowに移行したいと考えている。

  • 取り込み、処理、転送、整合性テスト、品質チェックなど、データパイプラインのあらゆる側面を処理できる単一のプラットフォームを必要としている。

  • オブザーバビリティのための優れたUI、失敗したワークフローの再起動、バックフィル、タスクの再試行などの機能を備えた、データパイプラインオーケストレーション向けに設計されたサービスを探している。

  • AWSだけでなくAWS以外のサービスにも対応する、800以上のオペレータとセンサーがあらかじめ組み込まれたサービスを探している。

Amazon MWAAワークフローはPythonを使用するDirected Acyclic Graphs (DAG) として定義されるため、ソースコードとして扱うこともできます。Airflowの拡張可能なPythonフレームワークにより、事実上あらゆるテクノロジーと接続するワークフローを構築できます。ワークフローを表示および監視するための優れたユーザーインターフェイスが付属しており、バージョン管理システムと簡単に統合してCI/CDプロセスを自動化できます。

Amazon MWAAでは、現在AWS Data Pipelineで使用しているのと同じバージョンのAmazon EMRを選択できます。

AWS料金は、Airflow環境の稼働時間に対する料金に加えて、ワーカーまたはウェブサーバーの容量を増やすための追加の自動スケーリングに対する料金がかかります。料金の詳細については、「Amazon Managed Workflows for Apache Airflowの料金」を参照してください。

概念のマッピング

次の表には、サービスで使用される主要な概念のマッピングが示されています。Data Pipelineに精通している人がStep FunctionsとMWAAの用語を理解するのに役立ちます。

サンプル

以下のセクションでは、AWS Data Pipelineから個々のサービスへの移行について参照できる公開例をリストしています。それらを例として参照し、ユースケースに基づいて更新してテストすることで、個々のサービスで独自のパイプラインを構築できます。

AWS Glueサンプル

以下のリストには、AWS Glueを使用した最も一般的なAWS Data Pipelineのユースケースのサンプル実装が含まれています。

AWSStep Functionsの例

以下のリストには、AWSStep Functionsを使用した最も一般的なAWS Data Pipelineのユースケースのサンプル実装が含まれています。

AWSStep Functionsの使用については、追加のチュートリアルサンプルプロジェクトを参照してください。

Amazon MWAAのサンプル

以下のリストには、Amazon MWAAを使用した最も一般的なAWS Data Pipelineのユースケースのサンプル実装が含まれています。

Amazon MWAAの使用については、追加のチュートリアルサンプルプロジェクトを参照してください。