勉強前イメージ
サービス間のデータの流れをいい感じにするやつ....
よくわからん!
調査
AWS Data Pipelineとは
AWSのサービス間のデータの統合・処理を自動化するサービスです。
オンレプとの連携も可能です。
AWS Data Pipelineは保存場所にあるデータに定期的にアクセスを行い、必要なスケールでのリソースを使って処理を行います。
s3やRDS,EMRなど使用することが出来ます。
指定したスケジュールでの起動も可能で、shellも使用できるためcronの代わりにも使うことが可能です
特徴
- マネージドサービスである
データの移行やELT処理(Extract(抽出)/Transform(変換)/Load(データを入れる))などを行う場合、
自前で実現しようとすると、基盤やソフトウェア・管理保守など準備が大変ですが、
AWS Data Pipeline であれば準備をすべてAWSが担ってくれているので、すぐに始めることが出来ます
- GUIでの操作も可能
開発用のGUIが用意されており、簡単なデータ移行であればGUIのみで実行することが出来ます。
複雑な変更や加工が必要な場合でも、自前のプログラムをData Pipelineに食わすことで実行させることができ、
簡単ながら拡張性があります。
- オンプレの処理を行える
クラウドサービスだが、オンプレの処理にも使用できます。
構築イメージ
イメージとしては以下の図です。
RDS から s3 にデータを処理して移動させたい場合に Data Pipeline を使用します。
データの移行条件や、フォーマット・スケジュールなどすべて Data Pipeline が行ってくれます。
他にも以下のような選択肢があり、それでData Pipelineが作れます
- どこにデータが有るのか(Data Node) : データの場所やフォーマット
- どう処理するか(Activity) : データ処理のアクティビティ。パッケージ済みのも用意されている
- いつ処理するのか(Schedule) : 処理の実行スケジュール
- 誰が処理するのか(Resource) : 処理や条件をチェックするリソース
- どういう条件で処理するのか(Precondition) : 処理実行の条件
- 通知はどう送ればよいか(Action) : 通知の方法
勉強後イメージ
ニュアンス合ってなくもないw
サービス間で個別にデータの移動とかがめんどくさい!!!から、
AWS Data Pipelineを使えば、一貫の流れを管理できるしわかりやすい。