メニュー
AWS Data Pipeline
開発者ガイド (API Version 2012-10-29)

Task Runner を使用した既存のリソースでの作業の実行

Amazon EC2 インスタンス、物理サーバー、ワークステーションなどのお客様が管理するコンピューティングリソースに Task Runner をインストールできます。Task Runner は、AWS Data Pipeline ウェブサービスとの通信が可能であれば、互換性のある任意のハードウェアまたはオペレーティングシステム上のどこにでもインストールできます。

このアプローチは、たとえば、組織のファイアウォール内に保存されたデータを、AWS Data Pipeline で処理するときに便利です。ローカルネットワーク内のサーバーに Task Runner をインストールすることによって、ローカルデータベースに安全にアクセスし、実行する次のタスクを AWS Data Pipeline にポーリングできます。AWS Data Pipeline が処理を終了するか、パイプラインを削除した場合、Task Runner インスタンスは、お客様が手動でシャットダウンするまで、お客様のコンピューティングリソースで実行され続けます。Task Runner のログはパイプライン実行の完了後も維持されます。

お客様が管理するリソースで Task Runner を使用するには、まず Task Runner をダウンロードし、このセクションの手順に従って、お客様のコンピューティングリソースにインストールします。

注記

Task Runner をインストールできるのは Linux、UNIX、または Mac OS のみです。Task Runner は Windows オペレーティングシステムではサポートされていません。

処理する必要のあるパイプラインのアクティビティに、インストールした Task Runner を接続するには、オブジェクトに workerGroup フィールドを追加し、そのワーカーグループの値をポーリングするように Task Runner を設定します。そのためには、Task Runner の JAR ファイルを実行するときに、パラメータとしてワーカーグループ文字列(たとえば、--workerGroup=wg-12345)を渡します。

Copy
{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "workerGroup" : "wg-12345", "command" : "mkdir new-directory" }

Task Runner のインストール

このセクションでは、Task Runner をインストールして設定する方法とその前提条件について説明します。インストールは、手動の簡単なプロセスです。

Task Runner をインストールするには

  1. Task Runner は Java バージョン 1.6 以降を必要とします。Java がインストールされているかどうか、およびどのバージョンが実行されているかを確認するには、次のコマンドを使用します。

    Copy
    java -version

    コンピューターに Java 1.6 以降がインストールされていない場合は、http://www.oracle.com/technetwork/java/index.html から最新バージョンをダウンロードできます。Java をダウンロードしてインストールし、次のステップに進みます。

  2. https://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/software/latest/TaskRunner/TaskRunner-1.0.jar から TaskRunner-1.0.jar をダウンロードし、ターゲットのコンピューティングリソースにあるフォルダにコピーします。EmrActivity タスクを実行する Amazon EMR クラスターについては、そのクラスターのマスターノードに Task Runner をインストールします。さらに、http://s3.amazonaws.com/datapipeline-prod-us-east-1/software/latest/TaskRunner/mysql-connector-java-bin.jar から mysql-connector-java-bin.jar をダウンロードし、Task Runner のインストール先と同じフォルダにコピーします。

  3. Task Runner がコマンドを処理するには、AWS Data Pipeline ウェブサービスに接続する必要があります。このステップでは、データパイプラインを作成または管理するためのアクセス権限が付与されている AWS アカウントで Task Runner を設定します。

    credentials.json という名前の JSON ファイルを作成します (必要に応じて別の名前を使用できます)。このファイルは、形式 { "access-id": MyAccessKeyID, "private-key": MySecretAccessKey } を使用してアクセスキー ID とシークレットアクセスキーを指定します。Task Runner をインストールしたディレクトリに、このファイルをコピーします。

    For CLI access, you need an access key ID and secret access key. Use IAM user access keys instead of AWS root account access keys. IAM lets you securely control access to AWS services and resources in your AWS account For more information about creating access keys, see How Do I Get Security Credentials? in the AWS General Reference.

  4. Task Runner は、HTTPS を使用して AWS Data Pipeline ウェブサービスに接続します。AWS リソースを使用している場合は、適切なルーティングテーブルとサブネット ACL で HTTPS が有効になっていることを確認します。ファイアウォールまたはプロキシを使用している場合は、ポート 443 が開いていることを確認します。

Task Runner の起動

Task Runner をインストールしたディレクトリに設定されている新しいコマンドプロンプトウィンドウで次のコマンドを実行して Task Runner を起動します。

Copy
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=myWorkerGroup --region=MyRegion --logUri=s3://mybucket/foldername

--config オプションは認証情報ファイルを指します。

--workerGroup オプションはワーカーグループの名前を指定します。これは、パイプラインで指定されている処理対象のタスクの値と同じである必要があります。

--region オプションは、実行するタスクをプルする対象のサービスリージョンを指定します。

--logUri オプションは、圧縮済みログを Amazon S3 の場所にプッシュするために使用されます。

Task Runner は、アクティブなとき、ログファイルが書き込まれる場所へのパスをターミナルウィンドウに出力します。次に例を示します。

Copy
Logging to /Computer_Name/.../output/logs

Task Runner はログインシェルから切り離されて実行される必要があります。ターミナルアプリケーションを使用してコンピューターに接続している場合は、nohup や screen のようなユーティリティを使用して、ログアウト時に Task Runner アプリケーションが終了しないようにする必要があります。コマンドラインオプションの詳細については、「Task Runner 設定オプション」を参照してください。

Task Runner のログの検証

Task Runner が正常に動作していることを確認する最も簡単な方法は、ログファイルを書き込んでいるかどうかをチェックすることです。Task Runner は、Task Runner がインストールされているディレクトリ内の output/logs ディレクトリに 1 時間ごとにログファイルを書き込みます。ファイル名は Task Runner.log.YYYY-MM-DD-HH となり、HH の値は 00 から 23 (UDT) になります。ストレージ領域を節約するため、8 時間前より古いログファイルは GZip で圧縮されます。