

AWS Data Pipeline は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Data Pipeline 引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Task Runnerを使用した既存のリソースでの作業の実行
<a name="dp-how-task-runner-user-managed"></a>

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`）を渡します。

![\[AWS Data Pipeline diagram showing monthly task flow for archiving processed invoices using Task Runner.\]](http://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/images/dp-task-runner-user-emr-jobflow.png)


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

## Task Runnerのインストール
<a name="dp-installing-taskrunner"></a>

このセクションでは、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](http://www.oracle.com/technetwork/java/index.html)からこれらのいずれかのバージョンをダウンロードします。Javaをダウンロードしてインストールし、次のステップに進みます。

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

1. Task Runner を使用して AWS Data Pipeline ウェブサービスに接続してコマンドを処理する場合、ユーザーはデータパイプラインを作成または管理する権限を持つロールにプログラムでアクセスする必要があります。詳細については、「[プログラムによるアクセス権を付与する](dp-get-setup.md#dp-grant-programmatic-access)」を参照してください。

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

# （オプション）Task Runnerに対するAmazon RDSへのアクセス権限の付与
<a name="dp-taskrunner-rdssecurity"></a>

Amazon RDSでは、データベースセキュリティグループ（DBセキュリティグループ）を使用して、DBインスタンスへのアクセスをコントロールできます。DBセキュリティグループは、DBインスタンスへのネットワークアクセスをコントロールするファイアウォールのように動作します。デフォルトでは、DBインスタンスへのネットワークアクセスは無効です。Task RunnerがAmazon RDSインスタンスにアクセスできるようにするには、DBセキュリティグループを変更する必要があります。Task Runnerは、それが実行されているインスタンスからAmazon RDSへのアクセス権限を取得します。そのため、Amazon RDSインスタンスに追加するアカウントとセキュリティグループは、Task Runnerのインストール場所によって異なります。

**EC2-Classicで実行されるTask Runnerにアクセス権限を付与するには**

1. Amazon RDSコンソールを開きます。

1. ナビゲーションペインで [** Instances**]を選択し、DBインスタンスを選択します。

1. [**Security and Network**]（セキュリティとネットワーク）で、セキュリティグループを選択します。このDBセキュリティグループが選択された状態で[**Security Groups**]（セキュリティグループ）ページが開きます。DBセキュリティグループの詳細アイコンを選択します。

1. [**Security Group Details**]で、適切な[**Connection Type**]と[**Details**]を指定してルールを作成します。ここで説明したように、これらのフィールドは、Task Runnerが実行されている場所によって異なります。
   + `Ec2Resource`
     + **接続タイプ**：`EC2 Security Group`

       **詳細**：*my-security-group-name*（EC2インスタンス用に作成したセキュリティグループの名前）
   + `EmrResource`
     + **接続タイプ**：`EC2 Security Group`

       **詳細**：`ElasticMapReduce-master`
     + **接続タイプ**：`EC2 Security Group`

       **詳細**：`ElasticMapReduce-slave`
   + ローカル環境（オンプレミス）
     + **接続タイプ**：`CIDR/IP`：

       **詳細**：*my-ip-address*（コンピュータのIPアドレスか、コンピュータがファイアウォールの内側にある場合はネットワークのIPアドレス範囲）

1. [Add]（追加）をクリックします。

**EC2-VPCで実行されるTask Runnerにアクセス権限を付与するには**

1. Amazon RDSコンソールを開きます。

1. ナビゲーションペインで、[**インスタンス**]を選択します。

1. DBインスタンスの詳細アイコンを選択します。**[Security and Network]**（セキュリティとネットワーク）で、セキュリティグループへのリンクを開き、Amazon EC2コンソールに移動します。セキュリティグループで使用しているコンソールデザインが古い場合は、コンソールページの上部に表示されるアイコンを選択して、新しいコンソールデザインに切り替えます。

1. [**Inbound**]タブで、[**Edit**]、[**Add Rule**]を選択します。DBインスタンスを起動したときに使用するデータベースポートを指定します。ここで説明したように、ソースは、Task Runnerが実行されている場所によって異なります。
   + `Ec2Resource`
     + *my-security-group-id*（EC2インスタンス用に作成したセキュリティグループのID）
   + `EmrResource`
     + *master-security-group-id*（`ElasticMapReduce-master`セキュリティグループのID）
     + *slave-security-group-id*（`ElasticMapReduce-slave`セキュリティグループのID）
   + ローカル環境（オンプレミス）
     + *ip-address*（コンピューターのIPアドレスか、コンピューターがファイアウォールの内側にある場合はネットワークのIPアドレス範囲）

1. **[Save]**（保存）をクリックします。

## Task Runnerの起動
<a name="dp-activate-task-runner"></a>

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

```
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=myWorkerGroup --region=MyRegion --logUri=s3://amzn-s3-demo-bucket/foldername
```

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

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

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

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

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

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

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

## Task Runnerのログの確認
<a name="dp-verify-task-runner"></a>

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