Step Functions에서 CloudWatch 로그를 사용하여 실행 기록 기록 - AWS Step Functions

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

Step Functions에서 CloudWatch 로그를 사용하여 실행 기록 기록

표준 워크플로는 실행 기록을 에 기록합니다. AWS Step Functions하지만 Amazon CloudWatch Logs에 대한 로깅을 선택적으로 구성할 수 있습니다.

표준 워크플로와 달리 익스프레스 워크플로는 실행 기록을 기록하지 않습니다. AWS Step Functions. 익스프레스 워크플로의 실행 기록과 결과를 보려면 Amazon CloudWatch Logs에 로깅을 구성해야 합니다. 로그를 게시해도 실행이 차단되거나 실행 속도가 느려지지 않습니다.

참고

로깅을 구성하면 CloudWatch 로그 요금이 적용되며 판매된 로그 요금으로 요금이 청구됩니다. 자세한 내용은 요금 페이지의 로그 탭에 있는 벤디드 로그를 참조하십시오. CloudWatch

로깅 구성

Step Functions 콘솔을 사용하여 표준 워크플로를 생성할 경우 해당 상태 머신은 로그를 Logs로 전송하도록 구성되지 않습니다. CloudWatch Step Functions 콘솔을 사용하여 익스프레스 워크플로를 생성할 때 해당 상태 머신은 기본적으로 로그를 Logs로 전송하도록 구성됩니다. CloudWatch

Express 워크플로의 경우 Step Functions는 필요한 역할을 생성할 수 있습니다. AWS Identity and Access Management CloudWatch 로그에 대한 (IAM) 정책. , 또는 를 사용하여 표준 워크플로나 익스프레스 워크플로를 API 생성하는 경우 CLI AWS CloudFormation, Step Functions는 기본적으로 로깅을 활성화하지 않으므로 역할에 필요한 권한이 있는지 확인해야 합니다.

콘솔에서 시작된 각 실행에 대해 Step Functions는 해당 실행과 관련된 로그 이벤트를 가져오도록 올바른 필터로 구성된 로그 링크를 제공합니다. CloudWatch

고객 관리형을 선택적으로 구성할 수 있습니다. AWS KMS 로그를 암호화하기 위한 키. 세부 정보 및 권한 설정은 을 저장 데이터 암호화 참조하십시오.

로깅을 구성하려면 CreateStateMachine또는 를 사용할 때 LoggingConfiguration매개변수를 전달하면 UpdateStateMachine됩니다. CloudWatch CloudWatch Logs Insights를 사용하여 Logs의 데이터를 추가로 분석할 수 있습니다. 자세한 내용은 로그 인사이트를 사용한 CloudWatch 로그 데이터 분석을 참조하십시오.

CloudWatch 로그 페이로드

실행 내역 이벤트에 해당 정의의 입력 또는 출력 속성이 포함될 수 있습니다. Logs로 전송된 이스케이프된 입력 또는 이스케이프된 출력이 248KB를 초과하는 경우 CloudWatch 로그 할당량의 결과로 잘립니다. CloudWatch

IAM CloudWatch 로그 로깅 정책

또한 다음 예와 같이 CloudWatch 로그에 로그인할 수 있는 적절한 권한을 갖도록 상태 머신의 실행 IAM 역할을 구성해야 합니다.

IAM정책 예제

다음은 권한을 구성하는 데 사용할 수 있는 정책의 예입니다. 다음 예와 같이 Resource 필드에 *를 지정해야 합니다. CloudWatch API CreateLogDelivery 및 와 DescribeLogGroups 같은 작업은 에서 정의한 리소스 유형을 지원하지 않습니다.Amazon CloudWatch Logs. 자세한 내용은 다음으로 정의된 작업을 참조하십시오.Amazon CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogStream", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
상태 머신이 로그에 로깅하는 CloudWatch 문제 해결

상태 머신이 로그를 로그로 CloudWatch 전송할 수 없는 경우 다음 단계를 시도해 보십시오.

  1. 상태 머신의 실행 역할에 로그에 기록할 CloudWatch 권한이 있는지 확인하십시오.

    호출 CreateStateMachine또는 UpdateStateMachineAPI엔드포인트를 사용할 때는 roleArn 파라미터에 지정된 IAM 역할이 이전 IAM 정책 예제와 같이 필요한 권한을 제공하는지 확인하십시오.

  2. CloudWatch Logs 리소스 정책이 5,120자 제한을 초과하지 않는지 확인하십시오.

    정책이 문자 제한을 초과하는 경우 로그 그룹 이름 앞에 접두사를 붙여 상태 /aws/vendedlogs/states 머신에 권한을 부여하고 제한을 피하세요. Step Functions 콘솔에서 로그 그룹을 생성할 때 제안된 로그 그룹 이름에는 이미 접두사가 붙습니다/aws/vendedlogs/states. 로깅 모범 사례에 대한 자세한 내용은 을 참조하십시오CloudWatch 리소스 정책 크기 제한을 기록합니다..

Step Functions 실행 이벤트의 로그 수준

로그 레벨의 범위는 ALL ERROR FATAL ~~까지입니다OFF. 로 설정하면 모든 이벤트 유형이 ALL 기록되며 이벤트 유형은 기록되지 않습니다OFF. ERRORFATAL에 대해서는 다음 표를 참조하십시오.

이러한 로그 수준을 기반으로 Express 워크플로 실행에 대해 표시되는 실행 데이터에 대한 자세한 내용은 스탠다드 콘솔과 익스프레스 콘솔 경험의 차이 섹션을 참조하세요.

이벤트 유형 ALL ERROR FATAL OFF

ChoiceStateEntered

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ChoiceStateExited

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ExecutionAborted

기록됨 기록됨 기록됨 로그인되지 않음

ExecutionFailed

기록됨 기록됨 기록됨 로그인되지 않음

ExecutionStarted

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ExecutionSucceeded

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ExecutionTimedOut

기록됨 기록됨 기록됨 로그인되지 않음

FailStateEntered

기록됨 기록됨 로그인되지 않음 로그인되지 않음

LambdaFunctionFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음
LambdaFunctionScheduled 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

LambdaFunctionScheduleFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

LambdaFunctionStarted

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

LambdaFunctionStartFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

LambdaFunctionSucceeded

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

LambdaFunctionTimedOut

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapIterationAborted

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapIterationFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapIterationStarted

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

MapIterationSucceeded

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

MapRunAborted

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapRunFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapStateAborted

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapStateEntered

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

MapStateExited

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

MapStateFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

MapStateStarted

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

MapStateSucceeded

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ParallelStateAborted

기록됨 기록됨 로그인되지 않음 로그인되지 않음

ParallelStateEntered

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ParallelStateExited

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
ParallelStateFailed 기록됨 기록됨 로그인되지 않음 로그인되지 않음

ParallelStateStarted

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

ParallelStateSucceeded

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

PassStateEntered

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

PassStateExited

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

SucceedStateEntered

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

SucceedStateExited

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

TaskFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

TaskScheduled

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
TaskStarted 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음

TaskStartFailed

기록됨 기록됨 로그인되지 않음 로그인되지 않음

TaskStateAborted

기록됨 기록됨 로그인되지 않음 로그인되지 않음

TaskStateEntered

기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
TaskStateExited 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
TaskSubmitFailed 기록됨 기록됨 로그인되지 않음 로그인되지 않음
TaskSubmitted 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
TaskSucceeded 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
TaskTimedOut 기록됨 기록됨 로그인되지 않음 로그인되지 않음
WaitStateAborted 기록됨 기록됨 로그인되지 않음 로그인되지 않음
WaitStateEntered 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음
WaitStateExited 기록됨 로그인되지 않음 로그인되지 않음 로그인되지 않음