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

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、またはmacOSにのみインストールできます。Task RunnerはWindowsオペレーティングシステムではサポートされていません。

Task Runner 2.0を使用するのに必要なJavaの最小バージョンは1.7です。

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

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

Task Runnerのインストール

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

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

    java -version

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

  2. TaskRunner-1.0.jarhttps://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/software/latest/TaskRunner/TaskRunner-1.0.jarからダウンロードしてから、ターゲットコンピューティングリソースのフォルダーにコピーします。EmrActivityタスクを実行するAmazon EMRクラスターでは、そのクラスターのマスターノードにTask Runnerをインストールします。

  3. Task Runnerを使用してAWS Data Pipelineウェブサービスに接続してコマンドを処理する場合、ユーザーはデータパイプラインを作成または管理する権限を持つロールへのプログラムによるアクセスが必要です。詳細については、「プログラムによるアクセス権を付与する」を参照してください。

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

Task Runnerの起動

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

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

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

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

Task Runnerのログの確認

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