AWS Data Pipelineの基礎知識

はじめに

クラウドプラットフォームサービスが多く提供されている現在、クラウド上でデータの保存や取出しが行われることが多くなっています。AmazonのクラウドプラットフォームサービスであるAWSのサービスの1つにAWS Data Pipelineサービスがあります。これは、データの移動や変更をサポートしてくれるサービスです。今回はこのAWS Data Pipelineについて紹介します。

AWS Data Pipeline

AWS Data Pipelineとは、AWSの他のサービス間やオンプレミスのデータソース間でデータの移動・変換を自動化するためのウェブサービスのことです。AWS Data Pipelineで保存しているデータに定期的にアクセスし、リソースで変換と処理を行うことにより、サービス間のデータの処理・変換を効率よく行うことができます。

パイプライン定義

AWS Data Pipelineでは、パイプライン定義によりAWS Data Pipelineに伝える情報の形態を指定します。パイプライン定義にはデータソースの名前・場所・形式、データを変換するアクティビティ、アクティビティのスケジュール、アクティビティおよび前提条件を実行するリソースなどの情報が含まれています。AWS Data Pipelineはタスク割り当てやスケジュールをパイプライン定義から行います。

アクティビティ

アクティビティとは、実行する作業を定義するパイプラインコンポーネントを指します。アクティビティは、事前にパッケージ済みのものがいくつか用意されており、CopyActivityやEmrActivityなどがあります。アクティビティは、拡張が可能なためカスタムすることが可能です。

データノード

データノードとは、アクティビティで入力・出力で使用するデータの保管場所のことを指します。

スケジュール

スケジュールは、アクティビティ実行やイベントのタイミングを定義します。時系列形式のスケジューリングとCron形式のスケジューリングがあり、インスタンスのスケジュールされるタイミングが異なります。最小スケジューリングの間隔は15分です。AWS Data Pipelineは、リソースと関連アクティビティに対して異なるスケジュールの期間をサポートすることによって、リソースの効率を最大化することが可能です。

リソース

リソースは、パイプラインアクティビティで指定された作業を実行するコンピューティングリソースのことを指します。AWS Data Pipelineは、必要なリソースを自動生成する設定が可能で、作業負荷の大きいことをするには便利な機能ですが、AWSアカウントで使用可能なバックフィルリソースを使い切ってしまう可能性があります。設定時に注意しましょう。

アクション

AWS Data Pipelineにおけるアクションとは、特定のイベントが発生した場合パイプラインコンポーネントが実行する手順のことを指します。パイプライン上の問題を検出する方法に、特定のイベントが発生した場合に通知するよう設定する方法があります。

Data Pipelineの利点

AWS Data Pipelineの利点について紹介します。

高い信頼性

AWS Data Pipelineは、高可用性を備えた分散型インストラクチャ上に構築されており、耐障害性が高くなっています。障害が発生した場合、自動的にアクティビティを再試行する機能があり、失敗が続く場合は失敗通知が配信されます。

利便性

AWSが提供している機能を前提としているので、利用しやすいように独自でカスタマイズすることが可能です。これにより高機能なカスタムパイプラインを作成や複雑な手間を軽減することが可能です。

透過性

パイプライン定義条件の設定を利用者がコントロールするので、ビズネスロジックの拡張やデバッグも簡単にすることができます。また、実行のログが自動的にAmazon S3に送信されるため、実行結果を簡単に知ることができます。

使いやすさ

ドラッグアンドドロップで簡単にパイプラインを作成することができます。また、よく利用される機能は準備されているので、活用すれば手間を減らすことが可能です。

低コスト

利用コストが安価です。料金は、アクティビティと前提条件の実行スケジュールの頻度、実行場所によって決定します。無料利用枠を使用すると金額をさらに低く抑えることができます。

おわりに

AWS Data Pipelineについて理解を深めていただくことはできたでしょうか。利便性の高いサービスを利用することで、データの管理にかかる時間を減らせるようにしていきましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

Amazon EC2について

次の記事

AWS PrivateLinkについて