AWS Durable Functions를 활용한 제3자 웹훅 지연 모니터링
Source: Dev.to
Overview
이 블로그에서는 Azure Durable Functions(실제로는 AWS Step Functions에 해당하는 기능)를 사용해 서드파티 웹훅 수신 지연을 모니터링한 방법을 설명합니다. 외부 서비스와 연동할 때 웹훅 알림이 즉시 도착하지 않거나, 아예 도착하지 않을 수도 있습니다. 우리는 다음에 대한 가시성이 필요했습니다:
- 웹훅이 실제로 도착했는지 여부
- 시스템에 도착하는 데 걸린 시간
Architecture
솔루션은 세 가지 주요 구성 요소로 이루어집니다:
-
API Gateway → Lambda – Lambda가 서드파티 서비스에 요청을 보내고, EventBridge에 이벤트를 전송해 Durable Function을 시작한 뒤, 클라이언트에 동기식 응답을 반환합니다.

-
Durable Function –
callbackId를 생성하고, 콜백 메타데이터를 DynamoDB에 저장한 뒤, 콜백이 완료될 때까지 대기합니다. 이를 통해 웹훅 알림이 도착했는지, 도착했다면 얼마나 걸렸는지를 알 수 있습니다.
-
API Gateway → SQS → Webhook Handler Lambda – 웹훅 핸들러가 서드파티로부터 알림을 소비하고, 연관된
callbackId를 조회한 뒤 Durable Function 실행을 재개합니다. SQS를 사용함으로써 웹훅이 Durable Function이 시작되기 전에 도착하는 상황에서 발생할 수 있는 레이스 컨디션을 방지합니다.
Monitoring
모든 상호작용은 AWS X‑Ray로 추적됩니다. 또한 CloudWatch Dashboards를 만들어 웹훅이 도착하는 평균 시간을 시각화할 수 있습니다.

Conclusion
API Gateway, Lambda, EventBridge, DynamoDB, SQS, 그리고 Durable Functions를 결합함으로써 서드파티 웹훅 전달 시간에 대한 신뢰할 수 있는 가시성을 확보하고, 지연되거나 누락된 알림을 시스템이 유연하게 처리하도록 만들었습니다.
읽어 주셔서 감사합니다.