를 사용하여 상태 시스템 실행 다시 시작 redrive Step Functions의 - AWS Step Functions

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

를 사용하여 상태 시스템 실행 다시 시작 redrive Step Functions의

다음을 사용할 수 있음: redrive 지난 14일 동안 성공적으로 완료되지 않은 표준 워크플로의 실행을 다시 시작합니다. 여기에는 실패, 중단 또는 시간 초과된 실행이 포함됩니다.

사용자가 redrive 실행, 실패한 단계에서 실패한 실행을 계속하고 동일한 입력을 사용합니다.Step Functions 는 성공 단계의 결과 및 실행 기록을 보존하며, 이 기록은 사용자가 redrive 실행입니다. 예를 들어 워크플로에 워크플로 상태 전달 상태와 작업 워크플로 상태 상태 등 2가지 상태가 있다고 가정해보겠습니다. 작업 상태에서 워크플로 실행이 실패하고 redrive 실행을 실행하면 실행 일정이 다시 조정된 다음 태스크 상태를 다시 실행합니다.

Redriven 실행은 원래 실행 시도에 ARN 사용된 것과 동일한 상태 시스템 정의 및 실행을 사용합니다. 원래 실행 시도가 버전 , 별칭 또는 둘 다와 연결된 경우 redriven 실행은 동일한 버전, 별칭 또는 둘 다와 연결됩니다. 다른 버전을 가리키도록 별칭을 업데이트하더라도 redriven 실행은 원래 실행 시도와 연결된 버전을 계속 사용합니다. 왜냐하면 redriven 실행은 동일한 상태 시스템 정의를 사용하므로 상태 시스템 정의를 업데이트하는 경우 새 실행을 시작해야 합니다.

사용자가 redrive 실행이 정의되면 상태 시스템 수준 제한 시간이 0으로 재설정됩니다. 상태 시스템 수준 제한 시간에 대한 자세한 내용은 TimeoutSeconds 섹션을 참조하세요.

Execution redrives 는 상태 전환으로 간주됩니다. 상태 전환이 결제에 미치는 영향은 Step Functions 요금을 참조하세요.

Redrive 실패한 실행에 대한 자격

다음을 수행할 수 있습니다.redrive 원래 실행 시도가 다음 조건을 충족하는 경우 실행:

  • 2023년 11월 15일 이후에 실행을 시작했습니다. 이 날짜 이전에 시작한 실행은 redrive.

  • 실행 상태는 SUCCEEDED가 아닙니다.

  • 워크플로 실행이 를 초과하지 않았습니다.redrivable 기간은 14일입니다.Redrivable 기간은 redrive 지정된 실행. 이 기간은 상태 시스템에서 실행을 완료한 날부터 시작합니다.

  • 워크플로 실행이 최대 오픈 시간인 1년을 초과하지 않았습니다. 상태 시스템 실행 할당량은 상태 시스템 실행과 관련된 할당량 섹션을 참조하세요.

  • 실행 이벤트 기록 수는 24,999개 미만입니다.Redriven 실행은 이벤트 기록을 기존 이벤트 기록에 추가합니다. 워크플로 실행에 이벤트가 24,999개 미만 있어 ExecutionRedriven 내역 이벤트와 다른 내역 이벤트를 최소 하나 이상 수용할 수 있는지 확인합니다.

Redrive 개별 상태의 동작

워크플로에서 실패한 상태에 따라 redrive 실패한 모든 상태의 동작은 다릅니다. 다음 표에서는 redrive 모든 상태에 대한 동작입니다.

상태 이름 Redrive 실행 동작
워크플로 상태 전달

이전 단계가 실패하거나 상태 시스템이 시간 초과되면 통과 상태가 종료되고 에서 실행되지 않습니다.redrive.

작업 워크플로 상태

Task 상태를 다시 예약하고 시작합니다.

사용자가 redrive 태스크 상태를 재실행하는 실행으로, 상태가 정의된 경우 에 TimeoutSeconds 대한 이 0으로 재설정됩니다. 제한 시간에 대한 자세한 내용은 Task 상태를 참조하세요.

워크플로 상태 선택 Choice 상태 규칙을 다시 평가합니다.
대기 워크플로 상태

상태가 과거에 타임스탬프를 참조TimestampPath하는 Timestamp 또는 를 지정하는 경우 redrive 는 대기 상태가 종료되고 Next 필드에 지정된 상태가 됩니다.

워크플로 상태 성공

하지 않음 redrive 성공 상태로 전환되는 상태 시스템 실행입니다.

실패 워크플로 상태

Fail 상태로 다시 전환되었다가 다시 실패합니다.

병렬 워크플로 상태

및 일정 변경 redrives 실패하거나 중단된 브랜치만 해당됩니다.

States.DataLimitExceeded 오류로 인해 상태가 실패한 경우 원래 실행 시도에서 성공한 브랜치를 포함하여 Parallel 상태가 다시 실행됩니다.

Inline Map 상태

및 일정 변경 redrives 실패하거나 중단된 반복만 가능합니다.

States.DataLimitExceeded 오류로 인해 상태가 실패한 경우 원래 실행 시도에서 성공한 반복을 포함하여 Inline Map 상태가 다시 실행됩니다.

Distributed Map 상태

redrives Map Run에서 실패한 하위 워크플로 실행. 자세한 내용은 Redriving Step Functions의 맵 런 실행 단원을 참조하십시오.

States.DataLimitExceeded 오류로 인해 상태가 실패한 경우 Distributed Map 상태가 다시 실행됩니다. 여기에는 원래 실행 시도에서 성공한 하위 워크플로가 포함됩니다.

IAM 권한 redrive 실행

Step Functions에는 에 대한 적절한 권한이 필요합니다.redrive 실행입니다. 다음 IAM 정책 예제는 에 대해 상태 시스템에 필요한 최소 권한을 부여합니다.redriving 실행입니다. 를 교체해야 합니다.italicized 리소스별 정보가 포함된 텍스트입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachine:*" } ] }

권한의 예를 들어 redrive 맵 실행, 참조에 대한 IAM 정책 예제 redriving 분산 맵.

Redriving 콘솔의 실행

다음을 수행할 수 있습니다.redrive 에서 적합한 실행 Step Functions 콘솔.

예를 들어 상태 시스템을 실행했지만 병렬 상태가 실행되지 않는다고 가정해 보겠습니다.

다음 이미지는 Lambda 병렬 상태 내에서 Do square number라는 호출 단계가 실패를 반환했습니다. 이로 인해 병렬 상태도 실패했습니다. 실행이 진행 중이거나 시작되지 않은 브랜치가 중지되고 상태 시스템 실행이 실패합니다.

실패한 상태 시스템 실행의 예제 그래프입니다.
To redrive 콘솔에서 실행
  1. Step Functions 콘솔을 열고 실행을 실패한 기존 상태 시스템을 선택합니다.

  2. 상태 시스템 세부 정보 페이지의 실행에서 실패한 실행 인스턴스를 선택합니다.

  3. Redrive.

  4. 에서Redrive 대화 상자에서 Redrive 실행 .

    작은 정보

    실패한 실행의 실행 세부 정보 페이지에 있는 경우 다음 중 하나를 수행합니다.redrive 실행:

    • 복구를 선택한 다음 를 선택합니다. Redrive 실패 에서.

    • 작업 을 선택한 다음 를 선택합니다. Redrive.

    참고로 redrive 는 동일한 상태 시스템 정의 및 를 사용합니다ARN. 원래 실행 시도에서 실패한 단계부터 실행을 계속 실행합니다. 이 예제에서는 Parallel 상태 내의 Do square number 단계와 Wait 3 sec 브랜치입니다. 병렬 상태에서 이러한 실패한 단계의 실행을 다시 시작한 후 redrive 는 완료 단계에 대한 실행을 계속합니다.

  5. 실행을 선택하여 실행 세부 정보 페이지를 엽니다.

    이 페이지에서 redriven 실행. 예를 들어실행 요약, 섹션에서 Redrive 수 - 실행 횟수를 나타냅니다.redriven. 이벤트 섹션에서 redrive 원본 실행 시도의 이벤트에 추가된 관련 실행 이벤트입니다. 예제는 ExecutionRedriven 이벤트를 참조하세요.

Redriving 를 사용한 실행 API

다음을 수행할 수 있습니다.redrive 를 사용한 적격 실행RedriveExecutionAPI. 이렇게 하면 실패, 중단 또는 시간 초과된 단계에서 표준 워크플로의 실패한 실행이 API 다시 시작됩니다.

AWS Command Line Interface (AWS CLI)에서 다음 명령을 실행합니다.redrive 실패한 상태 시스템 실행입니다. 를 교체해야 합니다.italicized 리소스별 정보가 포함된 텍스트입니다.

aws stepfunctions redrive-execution --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo

검사 redriven 실행

를 검사할 수 있습니다.redriven 콘솔에서 실행하거나 APIs: GetExecutionHistory 및 를 사용합니다DescribeExecution.

검사 redriven 콘솔에서 실행
  1. Step Functions 콘솔 을 연 다음 현재 사용 중인 기존 상태 시스템을 선택합니다.redriven 실행입니다.

  2. 실행 세부 정보 페이지를 엽니다.

    이 페이지에서 redriven 실행. 예를 들어실행 요약, 섹션에서 Redrive 수 - 실행 횟수를 나타냅니다.redriven. 이벤트 섹션에서 redrive 원래 실행 시도의 이벤트에 추가된 관련 실행 이벤트입니다. 예제는 ExecutionRedriven 이벤트를 참조하세요.

검사 redriven 를 사용한 실행 APIs

다음과 같은 경우 redriven 상태 시스템 실행의 경우 다음 중 하나를 사용하여 APIs에 대한 세부 정보를 볼 수 있습니다.redriven 실행. 를 교체해야 합니다.italicized 리소스별 정보가 포함된 텍스트입니다.

  • GetExecutionHistory - 지정된 실행의 기록을 이벤트 목록으로 반환합니다. 이렇게 하면 에 대한 세부 정보API도 반환됩니다.redrive 가능한 경우 실행 시도.

    에서 다음 명령을 AWS CLI실행합니다.

    aws stepfunctions get-execution-history --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo
  • DescribeExecution - 상태 시스템 실행에 대한 정보를 제공합니다. 실행, 실행 입력 및 출력, 실행과 연결된 상태 시스템일 수 있습니다.redrive 가능한 경우 세부 정보 및 관련 실행 메타데이터.

    에서 다음 명령을 AWS CLI실행합니다.

    aws stepfunctions describe-execution --execution-arn arn:aws:states:us-east-2:123456789012:execution:myStateMachine:foo

의 재시도 동작 redriven 실행

가 redriven 실행은 재시도를 정의한 작업 워크플로 상태병렬 워크플로 상태, 또는 인라인 맵 상태 를 재실행합니다. 이러한 상태에 대한 재시도 횟수는 에 대한 최대 시도 횟수를 허용하기 위해 0으로 재설정됩니다.redrive. 의 경우 redriven 콘솔을 사용하여 이러한 상태의 개별 재시도 시도를 추적할 수 있습니다.

콘솔에서 개별 재시도 검사하기
  1. Step Functions 콘솔실행 세부 정보 페이지에서 에서 재시도한 상태를 선택합니다.redrive.

  2. 재시도 및 를 선택합니다.redrives 탭.

  3. 세부 정보를 보려면 각 재시도 옆에 있는 화살표 아이콘을 선택합니다. 재시도가 성공하면 드롭다운 상자에 나타나는 출력에서 결과를 볼 수 있습니다.

다음 이미지는 원래 실행 시도 및 redrives 실행의 입니다. 이 이미지에서는 원본 및 redrive 실행 시도. 네 번째 에 실행 성공 redrive 를 시도하고 16의 출력을 반환합니다.

3회의 실패한 재시도와 4차 재시도의 성공을 보여주는 예시 스크린샷입니다.