Amazon EventBridge 규칙이 API 대상을 호출하지 않은 이유를 알고 싶습니다.
해결 방법
호출 실패를 식별하려면 Dead Letter Queue(DLQ)를 설정해야 합니다. DLQ 메시지에는 ERROR_CODE 및 ERROR_MESSAGE 속성이 포함되어 대상 호출이 실패한 이유를 이해할 수 있습니다.
IAM 역할에 올바른 권한이 없음
API 대상과 연결된 AWS Identity and Access Management(IAM) 역할의 정책에 events:InvokeApiDestination 권한이 있어야 합니다. 자세한 내용은 Amazon EventBridge에 ID 기반 정책(IAM 정책) 사용을 참조하십시오.
API 대상 엔드포인트를 올바르게 구성하지 않았음
API 대상 엔드포인트에 대한 EventBridge 요청의 최대 클라이언트 실행 시간 제한은 5초여야 합니다. 대상 엔드포인트가 응답하는 데 5초가 초과되는 경우 EventBridge의 요청이 시간을 초과합니다. EventBridge는 시간 제한이 초과된 요청을 재시도 정책에서 구성한 최대값까지 재시도합니다. 기본적으로 이 최대값은 24시간이고 최대 185회입니다. DLQ를 설정하지 않은 경우 EventBridge는 최대 재시도 횟수 후에 이벤트를 삭제합니다.
API 대상 엔드포인트가 EventBridge의 트래픽을 차단하지 않아야 합니다. 엔드포인트가 유효한 SSL 인증서를 사용하는지 확인합니다.
API 대상이 비활성 상태이고 연결 권한 부여가 DEAUTHORIZED 상태임
OAuth 권한 부여 유형의 연결을 사용하는 경우 EventBridge는 권한 부여 엔드포인트가 401 또는 407 응답을 반환하는 경우에만 OAuth 토큰을 새로 고칩니다. 권한 부여 엔드포인트가 403 응답과 같은 다른 응답 코드를 전송하면 EventBridge는 연결을 DEAUTHORIZED 상태로 변경합니다.
권한 부여 엔드포인트 로그를 확인하여 실패 원인을 확인하십시오.
관련 정보
Dead Letter Queue(DLQ)를 사용하여 EventBridge 규칙의 FailedInvocations 문제를 해결하려면 어떻게 해야 합니까?