AWS Data Pipeline の使用の開始 - AWS Data Pipeline

AWS Data Pipeline の使用の開始

AWS Data Pipeline を使用すると、繰り返し発生するデータ処理のワークロードを確実に、優れたコスト効率で、順序付け、スケジュール、実行、および管理することができます。このサービスを使用することで、ビジネスロジックに基き、オンプレミスとクラウドの両方で、構造化データと非構造化データを使用して、ETL(抽出、変換、ロード)アクティビティを容易に設計できます。

AWS Data Pipeline を使用するには、データ処理のためのビジネスロジックを指定するパイプライン定義を作成します。一般的なパイプライン定義は、実行する作業を定義するアクティビティと、入力データと出力データの場所と型を定義するデータノードで構成されます。

このチュートリアルでは、Apache ウェブサーバーログに含まれる GET リクエストの数をカウントするシェルコマンドスクリプトを実行します。このパイプラインは、15 分ごとに 1 時間実行され、各イテレーションで出力を Amazon S3 に書き込みます。

前提条件

開始する前に、「AWS Data Pipeline の設定」のタスクを完了します。

パイプラインオブジェクト

このパイプラインでは以下のオブジェクトを使用します。

ShellCommandActivity

入力ログファイルを読み取り、エラー数をカウントします。

S3DataNode (input)

入力ログファイルが含まれる S3 バケット。

S3DataNode (output)

出力用の S3 バケット。

Ec2Resource

アクティビティを実行するために AWS Data Pipeline で使用されるコンピューティングリソース。

大量のログファイルデータがある場合は、EC2 インスタンスではなく EMR クラスターを使用してファイルを処理できるように、パイプラインを設定することができます。

スケジュール

アクティビティを 15 分ごとに 1 時間実行することを定義します。

パイプラインの作成

AWS Data Pipeline の使用を開始するための最も簡単な方法は、テンプレートと呼ばれるパイプライン定義を使用することです。

パイプラインを作成するには
  1. AWS Data Pipeline コンソール (https://console.aws.amazon.com/datapipeline/) を開きます。

  2. ナビゲーションバーから、リージョンを選択します。お客様は場所に関係なく、使用できるリージョンをどれでも選択できます。多くの AWS リソースはリージョンに固有ですが、AWS Data Pipeline ではパイプラインと異なるリージョンにあるリソースを使用することができます。

  3. 表示される最初の画面は、現在のリージョンにパイプラインを作成しているかどうかによって異なります。

    1. このリージョンにパイプラインを作成していない場合は、コンソールに初期画面が表示されます。[Get started now] を選択します。

    2. このリージョンにパイプラインを既に作成している場合、コンソールには、リージョンのパイプラインを一覧表示するページが表示されます。[Create new pipeline] (新しいパイプラインの作成) を選択します。

  4. [Name] (名前) に、パイプラインの名前を入力します。

  5. (オプション) [Description] (説明) に、パイプラインの説明を入力します。

  6. [Source] で、[Build using a template] を選択し、[Getting Started using ShellCommandActivity] というテンプレートを選択します。

  7. テンプレートを選択すると開く [Parameters] セクションで、[S3 input folder] と [Shell command to run] の値をデフォルトのままにしておきます。[S3 output folder] の横のフォルダーアイコンをクリックし、いずれかのバケットまたはフォルダーを選択して、[Select] をクリックします。

  8. [Schedule] で、値をデフォルトのままにしておきます。パイプラインをアクティブ化すると、パイプライン実行が開始され、15 分ごとに 1 時間続きます。

    代わりに、[Run once on pipeline activation] を選択することもできます。

  9. [Pipeline Configuration] (パイプラインの設定)で、ログ記録を有効のままにします。[S3 location for logs] (S3 ログの場所) の下のフォルダーアイコンを選択します。いずれかのバケットまたはフォルダーを選択して、[Select] (選択) を選択します。

    必要に応じて、代わりにログ記録を無効にすることができます。

  10. [Security/Access] (セキュリティ/アクセス) で、[IAM roles] (IAM ロール) が [Default] (デフォルト) に設定されたままにします。

  11. [Activate] (アクティブにする) をクリックします。

    必要に応じて、[Edit in Architect] (アーキテクトで編集する) を選択し、このパイプラインを変更できます。例えば、前提条件を追加できます。

実行中のパイプラインのモニタリング

パイプラインをアクティブ化すると、パイプラインの進捗状況をモニタリングできる [Execution details] ページに移動します。

パイプラインの進捗状況をモニタリングするには
  1. [Update] をクリックするか F5 キーを押して、ステータスの表示を更新します。

    ヒント

    実行が表示されない場合は、パイプラインのスケジュールされた開始日時と終了日時が [Start (in UTC)] から [End (in UTC)] までの期間に含まれていることを確認し、[Update] をクリックします。

  2. パイプラインのすべてのオブジェクトのステータスが FINISHED であれば、スケジュールされたタスクは正常に完了しています。

  3. パイプラインが正常に完了していない場合は、問題に関するパイプラインの設定を確認してください。インスタンスがパイプラインの実行に失敗した場合または実行を完了できなかった場合のトラブルシューティングに関する詳細については、「一般的な問題を解決する」を参照してください。

出力の表示

Amazon S3 コンソールを開き、バケットに移動します。パイプラインを 15 分ごとに 1 時間実行した場合は、4 つのタイムスタンプ付きサブフォルダーが表示されます。各サブフォルダーには、出力が含まれた output.txt という名前のファイルがあります。毎回同じ入力ファイルでスクリプトを実行したため、出力ファイルも同じになります。

パイプラインの削除

料金の発生を停止するには、パイプラインを削除します。パイプラインを削除すると、パイプライン定義および関連するすべてのオブジェクトが削除されます。

パイプラインを削除するには
  1. [List Pipelines] (パイプラインの一覧表示) ページで、パイプラインを選択します。

  2. [Actions] (アクション) をクリックしてから、[Delete] (削除) を選択します。

  3. 確認を求めるメッセージが表示されたら、[削除] を選択します。

このチュートリアルからの出力を完了したら、Amazon S3 バケットから出力フォルダーを削除します。