Q: AWS Data Pipeline이란 무엇입니까?
AWS Data Pipeline은 AWS 클라우드에서의 정기적인 데이터 이동 및 데이터 처리 활동을 손쉽게 계획할 수 있게 지원하는 웹 서비스입니다. AWS Data Pipeline은 온프레미스 및 클라우드 기반 스토리지 시스템을 통합하므로 개발자는 필요할 때 원하는 위치에서 필요한 형식으로 데이터를 사용할 수 있습니다. AWS Data Pipeline을 사용하면 데이터 소스의 종속 체인, 대상 및 파이프라인이라고 하는 미리 정의되거나 사용자 정의된 데이터 처리 활동을 빠르게 정의할 수 있습니다. 정의한 일정에 따라 파이프라인은 정기적으로 Amazon S3, Amazon RDS 또는 Amazon DynamoDB와 같은 대상에 대해 분산 데이터 복사, SQL 변환, MapReduce 애플리케이션 또는 사용자 정의 스크립트 처리 등의 활동을 수행합니다. 데이터 파이프라인은 확장성이 높은 완전관리형 서비스인 이러한 워크플로에 대해 일정 예약, 재시도 및 실패 논리를 실행하여 강력하고 가용성이 높은 사용자 파이프라인을 확보합니다.
Q: AWS Data Pipeline을 사용하여 수행할 수 있는 작업은 무엇입니까?
AWS Data Pipeline을 사용하면 파이프라인을 빠르고 쉽게 프로비저닝할 수 있으므로 일상적인 데이터 운영 관리에 요구되는 개발 및 유지 관리 노력이 줄어들어 데이터를 파악하는 데 좀 더 집중할 수 있습니다. 데이터 파이프라인에 필요한 데이터 소스, 일정 및 처리 활동을 간단하게 지정합니다. AWS Data Pipeline은 안정적이고 내결함성 있는 인프라에서 처리 활동 실행 및 모니터링을 처리합니다. 또한 AWS Data Pipeline은 개발 과정이 수월하도록 Amazon S3 및 Amazon RDS 간에 데이터를 복사하거나 Amazon S3 로그 데이터에 대한 쿼리를 실행하는 등의 일반적인 작업에 대한 내장 활동을 제공합니다.
Q: AWS Data Pipeline은 Amazon Simple Workflow Service와 어떻게 다릅니까?
두 서비스 모두 실행 추적, 재시도 및 예외 처리, 임의 작업 실행 기능을 제공하지만 AWS Data Pipeline은 데이터 중심 워크플로 대부분에 공통적인 특정 단계를 지원하도록 특별히 설계되었습니다. 입력 데이터가 특정 준비 기준을 충족하는 경우 작업을 실행하거나, 서로 다른 데이터 스토어 간에 손쉽게 데이터를 복사하거나, 연쇄적인 전환을 예약하는 등의 단계를 예로 들 수 있습니다. 단계가 아주 구체적이기 때문에 코드 또는 프로그래밍에 대한 지식이 없어도 Data Pipeline 워크플로우 정의를 매우 신속하게 생성할 수 있습니다.
파이프라인은 비즈니스 로직을 실행하는 데 필요한 데이터 소스 종속 체인의 정의, 대상 및 사전 정의되거나 사용자 정의된 데이터 처리 활동을 포함하는 AWS Data Pipeline 리소스입니다.
Q: 데이터 노드란 무엇입니까?
데이터 노드는 비즈니스 데이터를 나타냅니다. 예를 들어 데이터 노드는 특정 Amazon S3 경로를 참조할 수 있습니다. AWS Data Pipeline은 정기적으로 생성되는 데이터를 쉽게 참조할 수 있는 표현 언어를 지원합니다. 예를 들어 Amazon S3 데이터 형식이 s3://example-bucket/my-logs/logdata-#{scheduledStartTime('YYYY-MM-dd-HH')}.tgz라고 지정할 수 있습니다.
파이프라인의 일부로 AWS Data Pipeline이 사용자 대신 시작하는 작업을 활동이라고 합니다. 활동의 예로는 EMR 작업, Hive 작업, 복사, SQL 쿼리 또는 명령줄 스크립트가 있습니다.
Q: 사전 조건이란 무엇입니까?
사전 조건은 데이터 소스나 활동과 선택적으로 연결될 수 있는 준비 검사입니다. 데이터 소스에 사전 조건 검사가 있는 경우 해당 검사는 데이터 소스를 사용하는 활동이 시작되기 전에 완료되어야 합니다. 활동에 사전 조건이 있는 경우 활동이 실행되기 전에 사전 조건 검사가 완료되어야 합니다. 컴퓨팅하는 데 비용이 많이 들고 특정 기준이 충족될 때까지 실행되지 않아야 하는 활동을 실행하는 경우 사전 조건을 활용할 수 있습니다.
Q: 작업 일정이란 무엇입니까?
작업 일정은 파이프라인 활동이 실행되는 시점 및 서비스에서 데이터를 사용할 수 있을 것으로 예상하는 빈도를 정의합니다. 모든 작업 일정은 시작 날짜 및 빈도(예: 2013년 1월 1일에 시작하여 매일 3시)를 포함해야 합니다. 작업 일정은 선택적으로 종료 날짜를 포함할 수 있으며 종료 날짜 이후에는 AWS Data Pipeline 서비스가 활동을 실행할 수 없습니다. 작업 일정을 활동과 연결하면 활동이 작업 일정대로 실행됩니다. 작업 일정을 데이터 소스와 연결하면 AWS Data Pipeline 서비스에서 해당 작업 일정대로 데이터를 업데이트하게 됩니다. 예를 들어 시간 단위 작업 일정으로 Amazon S3 데이터 소스를 정의하면 서비스는 데이터 소스가 매시간 새 파일을 포함할 것으로 예상합니다.
Q: 데이터 파이프라인이 표준 활동을 제공합니까?
예, AWS Data Pipeline은 다음과 같은 내장된 활동을 제공합니다.
- CopyActivity: 이 활동은 Amazon S3와 JDBC 데이터 소스 간에 데이터를 복사하거나 SQL 쿼리를 실행하고 결과를 Amazon S3로 복사할 수 있습니다.
- HiveActivity: 이 활동으로 Hive 쿼리를 간단하게 실행할 수 있습니다.
- EMRActivity: 이 활동으로 임의의 Amazon EMR 작업을 실행할 수 있습니다.
- ShellCommandActivity: 이 활동으로 임의의 Linux 셸 명령이나 프로그램을 실행할 수 있습니다.
Q: AWS Data Pipeline은 표준 사전 조건을 제공합니까?
예, AWS Data Pipeline은 다음 사전 조건에 대해 기본 지원을 제공합니다.
- DynamoDBDataExists: 이 사전 조건은 DynamoDB 테이블 안에 데이터가 있는지 검사합니다.
- DynamoDBTableExists: 이 사전 조건은 DynamoDB 테이블이 있는지 검사합니다.
- S3KeyExists: 이 사전 조건은 특정 AmazonS3 경로가 있는지 검사합니다.
- S3PrefixExists: 이 사전 조건은 특정 경로에 하나 이상의 파일이 있는지 검사합니다.
- ShellCommandPrecondition: 이 사전 조건은 리소스에서 임의 스크립트를 실행하여 스크립트가 성공하는지 검사합니다.
Q: 내 사용자 정의 활동을 제공할 수 있습니까?
예, ShellCommandActivity를 사용하여 임의 활동 논리를 실행할 수 있습니다.
Q: 내 사용자 정의 사전 조건을 제공할 수 있습니까?
예, ShellCommandPrecondition을 사용하여 임의 사전 조건 논리를 실행할 수 있습니다.
Q: 동일한 파이프라인의 다양한 활동에 대해 여러 개의 작업 일정을 정의할 수 있습니까?
예, 파이프라인 정의 파일에서 여러 개의 작업 일정 객체를 간단히 정의하고 원하는 작업 일정을 작업 일정 필드를 통해 해당 활동에 연결합니다. 이렇게 하면 예를 들어 매시간 Amazon S3에서 저장되는 로그 파일로 하루에 한 번 집계 보고서를 생성하는 파이프라인을 정의할 수 있습니다.
Q: 활동이 실패하면 어떻게 됩니까?
모든 활동 시도가 실패 상태로 반환되면 활동이 실패합니다. 기본적으로 활동은 심각한 실패 상태로 들어가기 전에 세 번 재시도합니다. 자동 재시도 횟수를 10회까지 증가시킬 수 있지만 시스템은 무한 재시도는 허용하지 않습니다. 재시도를 모두 마치면 활동은 구성된 onFailure 경보를 트리거하고 수동으로 CLI, API 또는 콘솔 버튼을 통해 재실행 명령을 발행하지 않는한 다시 시도하지 않습니다.
Q: 활동에 어떻게 경보를 추가합니까?
활동 성공, 실패 또는 지연 시 Amazon SNS 경보를 트리거하도록 정의할 수 있습니다. 경보 객체를 만들어 활동 객체의 onFail, onSuccess 또는 onLate 슬롯에서 참조할 수 있습니다.
Q: 실패한 활동을 수동으로 재실행할 수 있습니까?
예. 상태를 SCHEDULED로 재설정하여 완료하거나 실패한 활동의 집합을 재실행할 수 있습니다. UI에서 Rerun 버튼을 사용하거나 명령줄이나 API에서 상태를 수정하여 이 작업을 수행할 수 있습니다. 이렇게 하면 모든 활동 종속성의 재검사 일정이 예약되고 추가 활동 시도가 실행됩니다. 다시 실패 시 활동은 원래 재시도 횟수만큼 재시도를 수행합니다.
Q: 활동은 어떤 리소스에서 실행됩니까?
AWS Data Pipeline 활동은 소유한 컴퓨팅 리소스에서 실행됩니다. AWS Data Pipeline 관리형 및 자가 관리형, 두 가지 유형의 컴퓨팅 리소스가 있습니다. AWS Data Pipeline 관리형 리소스는 AWS Data Pipeline 서비스에서 필요할 때만 실행하는 Amazon EMR 클러스터나 Amazon EC2 인스턴스입니다. 사용자가 관리하는 리소스는 장기 실행 중이고 AWS Data Pipeline Java 기반 Task Runner(온프레미스 하드웨어, 고객 관리형 Amazon EC2 인스턴스 등)를 실행할 수 있는 리소스일 수 있습니다.
Q: AWS Data Pipeline이 AWS Data Pipeline 관리형 컴퓨팅 리소스를 사용자 대신 프로비저닝하고 종료합니까?
예, 컴퓨팅 리소스는 해당 리소스를 사용하는 예약 시간의 첫 번째 활동이 실행 준비되면 프로비저닝되고, 해당 인스턴스는 해당 리소스를 사용하는 마지막 활동이 성공적으로 완료되거나 실패하면 종료됩니다.
Q: 여러 개의 컴퓨팅 리소스를 동일한 파이프라인에서 사용할 수 있습니까?
예, 정의 파일에 여러 개의 클러스터 객체를 간단히 정의하고 클러스터 객체의 runsOn 필드에 각 활동에 사용할 클러스터를 연결합니다. 이렇게 하면 파이프라인이 AWS와 온프레미스 리소스를 결합하거나 활동용 인스턴스 유형을 혼합하여 사용할 수 있습니다. 예를 들어 t1.micro를 사용하여 빠르고 쉽게 스크립트를 실행할 수 있지만 나중에 파이프라인에서 더 큰 클러스터 인스턴스를 요구하는 Amazon EMR 작업을 할 수도 있습니다.
Q: 온프레미스 리소스 또는 내가 관리하는 AWS 리소스에서 활동을 실행할 수 있습니까?
예. AWS Data Pipeline은 온프레미스 리소스를 사용하여 활동을 실행할 수 있도록 온프레미스 호스트에 설치할 수 있는 Task Runner 패키지를 제공합니다. 이 패키지는 수행할 작업을 위해 AWS Data Pipeline 서비스를 지속적으로 폴링합니다. 온프레미스 리소스에서 DB 저장 프로시저 또는 데이터베이스 덤프 등과 같은 특정 작업을 실행할 때가 되면 AWS Data Pipeline은 Task Runner에 적절한 명령을 생성합니다. 파이프라인 작업의 가용성을 높이기 위해 선택적으로 여러 개의 Task Runner를 할당하여 지정된 작업을 위해 폴링할 수 있습니다. 이렇게 하면 하나의 Task Runner를 사용할 수 없게 될 경우 다른 Task Runner가 그 작업을 대신합니다.
Q: 내 온프레미스 호스트에 Task Runner를 설치하려면 어떻게 합니까?
다음 단계를 통해 온프레미스 호스트에 Task Runner 패키지를 설치할 수 있습니다.
- AWS Task Runner 패키지를 다운로드합니다.
- AWS 자격 증명을 포함하는 구성 파일을 만듭니다.
- 다음 명령으로 Task Runner 에이전트를 시작합니다.
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=[myWorkerGroup] - 활동을 정의할 때 활동을 이전에 설치한 호스트로 디스패치하기 위해 [myWorkerGroup]에서 활동을 실행하도록 설정합니다.
Q: AWS Data Pipeline을 시작하려면 어떻게 해야 합니까?
AWS Data Pipeline을 시작하려면 AWS Management Console에 방문하여 AWS Data Pipeline 탭으로 이동하면 됩니다. 거기에서 간단한 그래픽 편집기를 사용하여 파이프라인을 만들 수 있습니다.
Q: AWS Data Pipeline을 사용하여 수행할 수 있는 작업은 무엇입니까?
AWS Data Pipeline을 사용하여 주기적인 데이터 처리 작업을 예약하고 관리할 수 있습니다. AWS Data Pipeline을 사용하여 현재 불안정한 Cron 기반 솔루션으로 관리되는 단순한 시스템을 교체하거나 복잡한 다단계 데이터 처리 작업을 구축할 수 있습니다.
Q: AWS Data Pipeline을 시도하는 데 사용할 수 있는 샘플 파이프라인이 있습니까?
예, 설명서에 샘플 파이프라인이 있습니다. 콘솔에도 시작 시 사용할 수 있는 몇 개의 파이프라인 템플릿이 있습니다.
Q: AWS Data Pipeline에서 얼마나 많은 파이프라인을 만들 수 있습니까?
기본적으로 계정당 파이프라인을 100개까지 보유할 수 있습니다.
Q: 단일 파이프라인에 넣을 수 있는 항목에 대한 제한이 있습니까?
기본적으로 만드는 각각의 파이프라인은 100개의 객체를 보유할 수 있습니다.
Q: 내 제한을 변경할 수 있습니까?
예. 제한을 늘리고 싶은 경우 당사에 문의하시기 바랍니다.
Q: 요금에 세금이 포함되어 있습니까?
달리 명시하지 않는 한 가격에는 VAT 및 해당 판매세를 포함한 관련 조세 공과가 포함되지 않습니다. 청구지 주소가 일본으로 되어 있는 고객의 경우 AWS 서비스 사용 시 일본 소비세의 적용을 받게 됩니다. 자세히 알아보기