

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를 다운로드한 후에 이 단원의 절차에 따라 그것을 전산 리소스에 설치해야 합니다.

**참고**  
 Linux, UNIX 또는 macOS에서만 Task Runner를 설치할 수 있습니다. 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/ko_kr/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이 열려 있어야 합니다.

# (선택 사항) Amazon RDS에 대한 Task Runner 액세스 권한 부여
<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. **보안 및 네트워크**에서 보안 그룹을 선택하면 이 DB 보안 그룹이 선택된 **보안 그룹** 페이지가 열립니다. DB 보안 그룹의 세부 정보 아이콘을 선택합니다.

1. [**Security Group 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. 추가를 클릭합니다.

**EC2-VPC에서 Task Runner에 대한 액세스를 부여하려면**

1. Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. DB 인스턴스의 세부 정보 아이콘을 선택합니다. **보안 및 네트워크**에서 보안 그룹 링크를 열면 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. **저장**을 클릭합니다.

## 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
```

작업 실행기는 로그인 셸과 분리된 상태로 실행되어야 합니다. 터미널 애플리케이션을 사용하여 컴퓨터에 연결할 경우 nohup 또는 screen 같은 유틸리티를 사용하여 로그아웃 시 작업 실행기 애플리케이션이 남지 않도록 해야 합니다. 명령줄 옵션에 대한 자세한 내용은 [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으로 압축됩니다.