

AWS Data Pipeline 는 더 이상 신규 고객이 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS Data Pipeline 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 캐스케이드 실패 및 재실행
<a name="dp-manage-cascade-failandrerun"></a>

AWS Data Pipeline 를 사용하면 종속성이 실패하거나 사용자가 취소할 때 파이프라인 객체가 작동하는 방식을 구성할 수 있습니다. 실패가 다른 파이프라인 객체(소비자)에게까지 캐스케이딩되는지 확인하여 무한 대기를 방지할 수 있습니다. 모든 활동, 데이터 노드 및 사전 조건에는 이름이 `failureAndRerunMode`이고 기본값이 `none`인 파일이 있습니다. 캐스케이드 실패를 활성화하려면 `failureAndRerunMode` 필드를 `cascade`로 설정합니다.

이 필드가 활성화되면 파이프라인 객체가 `WAITING_ON_DEPENDENCIES` 상태에서 차단되고, 대기 중인 명령 없이 종속 요소가 실패한 경우 캐스케이드 실패가 발생합니다. 캐스케이드 실패 시 다음 이벤트가 발생합니다.
+ 객체가 실패하면 그 소비자가 `CASCADE_FAILED`로 설정되고, 원래 객체와 그 소비자의 사전 조건이 `CANCELED`로 설정됩니다.
+ `FINISHED`, `FAILED` 또는 `CANCELED` 상태의 객체는 모두 무시됩니다.

원래 실패한 객체와 연결된 사전 조건은 제외하고 캐스케이드 실패는 실패한 객체의 종속 요소(업스트림)에서 작동하지 않습니다. 캐스케이드 실패의 영향을 받는 파이프라인 객체는 `onFail` 같은 사후 조치나 재시도를 트리거할 수 있습니다.

캐스케이드 실패의 세부 영향은 객체 유형에 따라 다릅니다.

## 활동
<a name="dp-manage-cascade-activity"></a>

종속 요소 중 하나가 실패하면 활동이 `CASCADE_FAILED`로 변하며, 이후 활동 소비자에서 캐스케이드 실패를 트리거합니다. 활동을 좌우하는 리소스가 실패할 경우 해당 활동은 `CANCELED` 상태가 되며, 그 모든 소비자는 `CASCADE_FAILED`로 변합니다.

## 데이터 노드 및 사전 조건
<a name="dp-manage-cascade-datanode"></a>

실패한 활동의 출력으로 구성되는 데이터 노드는 `CASCADE_FAILED` 상태로 변합니다. 데이터 노드 실패는 연결된 모든 사전 조건으로 전파되어, 사전 조건이 `CANCELED` 상태로 변합니다.

## 리소스
<a name="dp-manage-cascade-resources"></a>

리소스에 좌우되는 객체가 `FAILED` 상태이고, 리소스 자체는 `WAITING_ON_DEPENDENCIES` 상태이면 리소스가 `FINISHED` 상태로 변합니다.

## 캐스케이드 실패 객체 재실행
<a name="dp-manage-cascade-rerun"></a>

기본적으로 활동 또는 데이터 노드만 재실행하면 연결된 리소스가 재실행됩니다. 그러나 파이프라인 객체에서 `failureAndRerunMode` 필드를 `cascade`로 설정하면 대상 객체에 대한 재실행 명령이 다음 조건에서 모든 소비자에게 전파됩니다.
+ 대상 객체의 소비자가 `CASCADE_FAILED` 상태입니다.
+ 대상 객체의 종속 요소에 대기 중인 재실행 명령이 없습니다.
+ 대상 객체의 종속 요소가 `FAILED`, `CASCADE_FAILED` 또는 `CANCELED` 상태가 아닙니다.

`CASCADE_FAILED` 객체를 재실행할 때 그 종속 요소 중 하나가 `FAILED`, `CASCADE_FAILED` 또는 `CANCELED` 상태이면 재실행에 실패하고 객체를 `CASCADE_FAILED` 상태로 반환합니다. 실패한 객체를 성공적으로 재실행하려면 종속성 체인의 실패를 추적하여 실패의 원래 원인을 찾아 해당 객체를 재실행해야 합니다. 리소스에서 재실행 명령을 다시 내릴 때 이에 좌우되는 객체의 재실행도 시도합니다.

## 캐스케이드 실패 및 채우기
<a name="dp-manage-cascade-backfills"></a>

캐스케이드 실패를 활성화하고 많은 채우기를 생성하는 파이프라인이 있는 경우 파이프라인 런타임 오류로 인해 유용한 작업을 수행하지 않고 리소스가 빠르게 생성 및 삭제될 수 있습니다. 파이프라인을 저장할 때 다음 경고 메시지로이 상황에 대해 알리려고 AWS Data Pipeline 시도합니다. ` {{Pipeline_object_name}} has 'failureAndRerunMode' field set to 'cascade' and you are about to create a backfill with scheduleStartTime {{start_time}}. This can result in rapid creation of pipeline objects in case of failures. ` 캐스케이드 실패는 다운스트림 활동을 로 빠르게 설정하고 더 이상 필요하지 않은 EMR 클러스터 및 EC2 리소스를 `CASCADE_FAILED` 종료할 수 있기 때문입니다. 짧은 시간 범위에서 파이프라인을 테스트하여 이 상황의 영향을 제한하는 것이 좋습니다.