AWS Data Pipeline 는 더 이상 신규 고객이 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS Data Pipeline 수 있습니다. 자세히 알아보기
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Data Pipeline에서 워크로드 마이그레이션
AWS는 2012년에 AWS Data Pipeline 서비스를 시작했습니다. 당시 고객은 다양한 컴퓨팅 옵션을 사용하여 서로 다른 데이터 소스 간에 데이터를 안정적으로 이동할 수 있는 서비스를 찾고 있었습니다. 이제 고객에게 더 나은 경험을 제공하는 다른 서비스도 있습니다. 예를 들어 AWS Glue를 사용하여 Apache Spark 애플리케이션을 실행하고 오케스트레이션하거나, AWSStep Functions를 사용하여 AWS서비스 구성 요소를 오케스트레이션하거나, Amazon Managed Workflows for Apache Airflow(Amazon MWAA)를 사용하여 Apache Airflow의 워크플로 오케스트레이션을 관리할 수 있습니다.
이 항목에서는 AWS Data Pipeline에서 대체 옵션으로 마이그레이션하는 방법에 관해 설명합니다. 선택한 옵션은 AWS Data Pipeline의 현재 워크로드에 따라 다릅니다. AWS Data Pipeline의 일반적인 사용 사례는 AWS Glue, AWS Step Functions 또는 Amazon MWAA로 마이그레이션할 수 있습니다.
워크로드를 AWS Glue로 마이그레이션
AWS Glue
다음과 같은 경우에, 워크로드를 AWS Data Pipeline에서 AWS Glue로 마이그레이션하는 것이 좋습니다.
다양한 데이터 소스, 비주얼 에디터 및 노트북을 포함한 저작 인터페이스, 데이터 품질 및 민감한 데이터 감지와 같은 고급 데이터 관리 기능을 지원하는 서버리스 데이터 통합 서비스를 찾고 있습니다.
워크로드는 AWS Glue 워크플로, 작업(Python 또는 Apache Spark) 및 크롤러로 마이그레이션할 수 있습니다(예: 기존 파이프라인은 Apache Spark를 기반으로 구축됨).
수집, 처리, 전송, 무결성 테스트, 품질 검사 등 데이터 파이프라인의 모든 측면을 처리할 수 있는 단일 플랫폼이 필요합니다.
기존 파이프라인은 DynamoDB 테이블을 Amazon S3로 내보내는 것과 같이 AWS Data Pipeline 콘솔에 미리 정의된 템플릿에서 생성되었으며, 동일한 용도의 템플릿을 찾고 있습니다.
워크로드는 Apache Hive와 같은 특정 Hadoop 생태계 애플리케이션에 의존하지 않습니다.
워크로드에 온프레미스 서버를 오케스트레이션할 필요가 없습니다.
AWS는 시간당 요금을 부과하며, 크롤러(데이터 검색) 및 ETL 작업(데이터 처리 및 로드)의 경우 초 단위로 비용이 청구됩니다.AWS Glue Studio는 AWS Glue 리소스를 위한 내장 오케스트레이션 엔진이며 추가 비용 없이 제공됩니다. 요금 책정에 대한 자세한 내용은 AWS Glue요금 책정
워크로드를 AWS Step Functions로 마이그레이션
AWS Step Functions
AWS Data Pipeline과(와) 마찬가지로, AWSStep Functions는 AWS에서 제공하는 완전 관리형 서비스입니다. 인프라 관리, 작업자 패치, OS 버전 업데이트 관리 등을 수행할 필요가 없습니다.
다음과 같은 경우에는 AWS Data Pipeline 워크로드를 AWS Step Functions로 마이그레이션하는 것이 좋습니다.
가용성이 뛰어난 서버리스 워크플로 오케스트레이션 서비스를 찾고 있습니다.
단일 작업 실행의 세분화로 비용을 청구할 수 있는 비용 효율적인 솔루션을 찾고 있습니다.
사용자의 워크로드는 Amazon EMR, Lambda AWS Glue또는 DynamoDB와 같은 기타 AWS서비스의 작업을 오케스트레이션하고 있습니다.
워크플로 생성을 위한 드래그 앤 드롭 비주얼 디자이너와 함께 제공되고 새로운 프로그래밍 개념을 배울 필요가 없는 로우 코드 솔루션을 찾고 계실 것입니다.
사용자는 기본적으로 11,000개 이상의 작업을 포함하는 250개 이상의 다른 AWS서비스와의 통합을 제공하고 사용자 지정 AWS이외 서비스 및 활동과의 통합도 지원하는 서비스를 찾고 있습니다.
AWS Data Pipeline과(와) Step Functions는 두 개 모두 JSON 형식을 사용하여 워크플로를 정의합니다. 이를 통해 워크플로를 소스 제어에 저장하고, 버전을 관리하고, 액세스를 제어하고, CI/CD로 자동화할 수 있습니다. Step Functions는 완전히 JSON을 기반으로 하는 Amazon States Language라는 구문을 사용하며, 워크플로의 텍스트 표현과 시각적 표현 사이를 원활하게 전환할 수 있습니다.
Step Functions를 사용하면 현재 AWS Data Pipeline에서 사용 중인 것과 동일한 버전의 Amazon EMR을 선택할 수 있습니다.
AWS Data Pipeline 관리형 리소스의 활동을 마이그레이션하려면, Step Functions의 AWSSDK 서비스 통합을 사용하여 리소스 프로비저닝 및 정리를 자동화할 수 있습니다.
온프레미스 서버, 사용자 관리형 EC2 인스턴스 또는 사용자 관리형 EMR 클러스터에서 활동을 마이그레이션하려면 인스턴스에 SSM 에이전트를 설치할 수 있습니다. Step Functions에서 AWS Systems Manager의 명령 실행 명령을 통해 명령을 시작할 수 있습니다. Amazon EventBridge
AWS Step Functions에는 표준 워크플로와 익스프레스 워크플로라는 두 가지 유형의 워크플로가 있습니다. 표준 워크플로의 경우 애플리케이션을 실행하는 데 필요한 상태 전환 횟수를 기준으로 요금이 부과됩니다. 익스프레스 워크플로의 경우 워크플로에 대한 요청 수와 기간을 기준으로 요금이 부과됩니다. AWS Step Functions 가격 책정
워크로드를 Amazon MWAA로 마이그레이션하기
Amazon MWAA
AWS Data Pipeline과 마찬가지로 Amazon MWAA는 AWS에서 제공하는 완전 관리형 서비스입니다. 이러한 서비스와 관련된 몇 가지 새로운 개념을 배워야 하지만, 인프라 관리, 작업자 패치, OS 버전 업데이트 관리 등은 필요하지 않습니다.
다음과 같은 경우에는 AWS Data Pipeline 워크로드를 Amazon MWAA로 마이그레이션하는 것이 좋습니다.
Python에서 작성된 워크플로를 오케스트레이션할 수 있는 고가용성 관리형 서비스를 찾고 있습니다.
휴대성을 극대화하기 위해 완전히 관리되고 널리 채택되는 오픈 소스 기술인 Apache Airflow로 전환하고자 합니다.
수집, 처리, 전송, 무결성 테스트, 품질 검사 등 데이터 파이프라인의 모든 측면을 처리할 수 있는 단일 플랫폼이 필요합니다.
관찰성을 위한 풍부한 UI, 실패한 워크플로에 대한 재시작, 백필, 작업 재시도 등의 기능을 갖춘 데이터 파이프라인 오케스트레이션을 위해 설계된 서비스를 찾고 있습니다.
사용자는 AWS뿐 아니라 AWS외 서비스를 포함해 800개 이상의 사전 구축된 운영자 및 센서와 함께 제공되는 서비스를 찾고 계실 것입니다.
Amazon MWAA 워크플로는 Python을 사용하는 방향성 비순환 그래프(DAG)로 정의되므로, 이를 소스 코드로 취급할 수도 있습니다. Airflow의 확장 가능한 Python 프레임워크를 사용하면 거의 모든 기술과 연결되는 워크플로를 구축할 수 있습니다. 워크플로를 보고 모니터링할 수 있는 풍부한 사용자 인터페이스가 제공되며 버전 제어 시스템과 쉽게 통합되어 CI/CD 프로세스를 자동화할 수 있습니다.
Amazon MWAA를 사용하면 현재 AWS Data Pipeline에서 사용 중인 것과 동일한 버전의 Amazon EMR을 선택할 수 있습니다.
AWS에게는 Airflow 환경 실행 시간에 대한 요금과 작업자 또는 웹 서버 용량을 늘리기 위한 추가 Auto Scaling에 대한 요금이 부과됩니다. Apache Airflow에 대한 Amazon Managed Workflows 요금 정책
개념 매핑하기
다음 표에는 서비스에서 사용하는 주요 개념의 매핑이 나와 있습니다. Data Pipeline에 익숙한 사람들이 Step Functions와 MWAA 용어를 이해하는 데 도움이 될 것입니다.
| Data Pipeline | 글루 | Step Functions | Amazon MWAA |
|---|---|---|---|
| Pipelines | 워크플로 | 워크플로 | 다이렉트 아크릴 그래프 |
| Pipeline 정의 JSON | 워크플로 정의 또는 Python 기반 블루프린트 | Amazon State Language JSON | Python 기반 |
| 활동 | 작업 | 상태 및 태스크 | 작업 |
| 인스턴스 | 작업 실행 | 실행 | DAG 실행 |
| Attempts | 시도 재시도 | 캐처 및 리트라이어 | 재시도 |
| 파이프라인 일정 | 예약 트리거 | EventBridge 스케줄러 작업 | Cron |
| 파이프라인 표현식 및 함수 | 블루프린트 라이브러리 | Step Functions의 내장 함수 및 AWSLambda | 확장 가능한 Python 프레임워크 |
샘플
다음 섹션에는 AWS Data Pipeline에서 개별 서비스로 마이그레이션하기 위해 참조할 수 있는 공개 예제가 나열되어 있습니다. 이를 예제로 참조하고 사용 사례에 따라 업데이트하고 테스트하여 개별 서비스에 자체 파이프라인을 구축할 수 있습니다.
AWS Glue 샘플
다음 목록에는 AWS Glue의 가장 일반적인 AWS Data Pipeline사용 사례에 대한 샘플 구현이 포함되어 있습니다.
JDBC에서 Amazon S3로 데이터 복사
(Amazon Redshift 포함) Amazon S3에서 JDBC로 데이터 복사
(Amazon Redshift 포함)
AWSStep Functions 샘플
다음 목록에는 AWSStep Functions의 가장 일반적인 AWS Data Pipeline사용 사례에 대한 샘플 구현이 포함되어 있습니다.
대규모 데이터세트 쿼리(Amazon Athena, Amazon S3, AWS Glue)
AWS Step Functions를 사용하기 위한 추가 자습서 및 샘플 프로젝트를 참조하세요.
Amazon MWAA 샘플
다음 목록에는 Amazon MWAA의 가장 일반적인 AWS Data Pipeline사용 사례에 대한 샘플 구현이 포함되어 있습니다.
Amazon MWAA를 사용하기 위한 추가 자습서 및 샘플 프로젝트를 참조하세요.