AWS Data Pipeline

  • AWS Data Pipeline は、AWS の通常のデータ移動やデータ処理アクティビティの自動化とスケジューリングを容易にする Web サービスです。
  • AWS Data Pipeline によるデータドリブンワークフローの定義
  • AWS Data Pipeline は、オンプレミスおよびクラウドベースのストレージシステムと統合して、開発者が必要なときにデータを使用できるようにします。
  • AWS Data Pipeline を使用すると、データソース、送り先、および定義済みまたはカスタムのデータ処理アクティビティの従属チェーンを定義するパイプラインを迅速に定義できます。
  • 定義されたスケジュールに基づいて、パイプラインは、S3、RDS、DynamoDB などの送り先に対して、分散データコピー、SQL 変換、EMR アプリケーション、またはカスタムスクリプトなどの処理アクティビティを定期的に実行します。
  • ワークフローのスケジューリング、再試行、およロジックを高度にスケーラブルで完全に管理されたサービスとして実行することにより、Data Pipeline は、パイプラインが堅牢かつ高可用性であることを保証します。

AWS Data Pipeline の機能

  • 分散型、フォールトトレラント、高可用性
  • データドリブンワークフローのマネージワークフローオーケストレーションサービス
  • インフラストラクチャ管理サービスは、必要に応じてリソースをプロビジョニングおよび終了します。
  • 依存関係の解決を提供
  • スケジュールすることができる
  • 頻度と数を含む再試行の制御を許可します。
  • S3、DynamoDB、RDS、EMR、EC2、および Redshift とのネイティブ統合
  • AWS ベースおよび外部オンプレミスリソースの両方のサポート

AWS Data Pipeline の概念

パイプライン定義

  • パイプライン定義により、ビジネスロジックを AWS Data Pipeline に伝達することができます。
  • パイプライン定義では、データ (データノード) の場所、実行するアクティビティ、スケジュール、アクティビティを実行するためのリソース、条件ごと、実行するアクションを定義します。

パイプラインコンポーネント、インスタンス、および試行

  • パイプラインコンポーネントは、パイプラインのビジネスロジックを表し、パイプライン定義のさまざまなセクションによって表されます。
  • パイプラインコンポーネントは、ワークフローのデータソース、アクティビティ、スケジュール、および前提条件を指定します。
  • AWS Data Pipeline がパイプラインを実行すると、パイプラインコンポーネントをコンパイルして一連のアクション可能なインスタンスを作成し、特定のタスクを実行するために必要なすべての情報を格納します。
  • データパイプラインは、再試行の頻度と定義された番号に応じて失敗した操作を再試行するので、永続的で堅牢なデータ管理を提供します。

タスクランナー

  • タスクランナーは、タスクの AWS Data Pipeline をポーリングし、そのタスクを実行するアプリケーションです。
  • タスクランナーをインストールして構成すると、
    • アクティブ化されたパイプラインに関連するタスクの AWS Data Pipeline をポーリングします。
    • タスクがタスクランナーに割り当てられた後、そのタスクが実行され、その状態が AWS Data Pipeline に戻されます。
    • タスクは、データパイプラインサービスがタスクランナーと共有し、通常は複数のタスクを生成するアクティビティとリソースを定義するパイプラインとは異なる、作業の控えめな単位です。
    • タスクは、AWS Data Pipeline の管理対象またはユーザー管理リソースで実行できます。

データノード

  • データノードは、パイプラインアクティビティがソース (入力) または変換先 (出力) として使用するデータの場所と種類を定義します。
  • データパイプラインは、S3、Redshift、DynamoDB、および SQL データノードをサポートします。

データベース

  • データパイプラインは JDBC、RDS、および Redshift データベースをサポートします。

アクティビティ

  • アクティビティは、実行する作業を定義するパイプラインコンポーネントです。
  • データパイプラインは、SQL 変換、データ移動、Hive クエリなどの一般的なシナリオで事前に定義されたアクティビティを提供します。
  • アクティビティは拡張可能で、無限の組み合わせをサポートする独自のカスタムスクリプトを実行するために使用できます。

前提条件

  • 前提条件は、アクティビティを実行する前に (True に評価される) 満たす必要があるコンディショナルステートメントを含むパイプラインコンポーネントです。
  • パイプラインのサポート
    • システム管理の前提条件
      • AWS Data Pipeline Web サービスに代わって実行され、計算リソースを必要としません
      • たとえば、DynamoDB データ、テーブルが存在するか、S3 キーが存在するか、プレフィックスが空でないかなどのソースデータとキーチェックが含まれます。
    • ユーザー管理の前提条件
      • ユーザー定義および管理された計算リソースで実行
      • Exists チェックまたはシェルコマンドとして定義できます。

リソース

  • リソースとは、パイプラインアクティビティが指定する作業を実行する計算リソースです。
  • データパイプラインによる AWS Data Pipeline の管理および自己管理型リソースのサポート
  • AWS Data Pipeline で管理されるリソースには、EC2 と EMR が含まれており、データパイプラインサービスが必要な場合にのみ起動します
  • 自己管理されたオンプレミスリソースを使用して、タスクランナーパッケージをインストールして、AWS Data Pipeline を実行するための作業を継続的にポーリングします。
  • リソースは、作業データセットと同じリージョン、または AWS Data Pipeline とは異なるリージョンでも実行できます。
  • AWS Data Pipeline によって起動されるリソースは、リソースの制限内で数えられ、考慮する必要があります。

アクション

  • アクションは、成功、失敗などの特定のイベントが発生したときにパイプラインが取るステップです。
  • パイプラインは、リソースに対する SNS 通知と終了アクションをサポートします。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. 国際企業は、1つのリージョンで DynamoDB に依存する多層 web アプリケーションを展開しています。規制上の理由から、2時間の目標復旧時間と24時間の復旧ポイント目標を持つ別の地域での災害復旧機能が必要です。データを定期的に同期し、CloudFormation を使用して web アプリケーションを迅速にプロビジョニングできるようにする必要があります。目的は、既存の web アプリケーションへの変更を最小限に抑え、データの同期に使用する DynamoDB のスループットを制御し、変更された要素のみを同期することです。これらの要件を満たすためにどのデザインを選択しますか?
    1. AWS Data Pipeline を使用して、DynamoDB クロスリージョンコピーを1日1回スケジュールします。最後の更新のタイムスタンプを表す DynamoDB テーブルに ‘ Lastupdated ‘ 属性を作成し、それをフィルタとして使用します。(AWSブログ記事を参照)
    2. EMR を使用してカスタムスクリプトを作成し、スキャン操作を使用して現在のリージョンの Dynamodb からデータを取得し、2番目のリージョンの Dynamodb にプッシュします。(スケジュールおよびスループット管理なし)
    3. AWS Data Pipeline を使用して、1日に1回、Dynamodb テーブルを現在のリージョンの S3 にエクスポートし、他のリージョンの S3 から Dynamodb にデータをインポートする直後に別のタスクをスケジュールします。(AWS Data Pipeline では、データを他の DynamoDB テーブルに直接コピーすることができます)
    4. 2番目のリージョンの SQS キューに各アイテムを送信します。SQS キューの背後にある自動スケーリンググループを使用して、2番目のリージョンの書き込みを再生します。(書き込みを再生する自動化されていません)
  2. あなたの会社は、カスタムファインテックの強化を伴って、ファッションを組み合わせたユニークなスキーヘルメットを顧客から製作しました。スキー場に自分の個性を見せて、ヘッドアップディスプレイにアクセスできます。 GPS のリアビューカメラ、ヘルメットに埋め込むことを望む技術革新 現在の製造プロセスは、データが豊富で複雑なものです。ヘルメットの組み立てに使用されるカスタム電子機器と材料が最高レベルになるようにするためのアセスメントも含まれます。アセスメントは、 待ち時間の短いネットワーキングを持つサーバのクラスタ全体で CUD を使用して GPU を使用するカスタムエレクトロニクスの障害モード ハイブリッドアプローチを使用して既存のプロセスを自動化し、アーキテクチャが時間の経過とともにプロセスの進化をサポートできるようにするには、どのようなアーキテクチャが必要ですか?[PROFESSIONAL]
    1. AWS Data Pipeline を使用して、データおよびメタデータと評価の移動を管理します。プレースメントグループ内の G2 インスタンスの自動スケーリンググループを使用します。(人の評価の混在を含んでいる)
    2. AWS Simple Workflow(SWF)を使用して、アセスメント、データおよびメタデータの移動を管理します。プレースメントグループ内の G2 インスタンスの自動拡張グループを使用します。(GPUおよび低遅延ネットワークによる人的および自動評価)
    3. AWS Simple Workflow(SWF)を使用して、データおよびメタデータのアセスメントの移動を管理します。 SR-IOV(シングルルート I/O 仮想化)を備えた C3 インスタンスのオートスケーリンググループを使用します。(C3 と SR-IOV は GPU を提供しませんが、拡張ネットワークを有効にする必要があります)
    4. AWS Data Pipeline を使用してデータとメタデータの移動を管理し、評価では C3 の自動スケーリンググループを SR-IOV(シングルルート I/O 仮想化)で使用します。(人の評価の混在を含んでいる)

リファレンス


Jayendra’s Blog

この記事は自己学習用に「AWS Data Pipeline – Certification(Jayendra’s Blogより)」を日本語に訳した記事です。