webhookstorage가 라이브입니다
Source: Dev.to
개요
webhookstorage는 일반 자동화 플랫폼에서 처리하기에 너무 큰 webhook 페이로드를 수신하고, 이를 S3에 저장한 뒤, 필요 시 검색할 수 있는 서명된 링크를 반환하는 경량 서비스입니다. 이 서비스는 현재 운영 중이며 트래픽을 수락하고, 무료 티어는 신용카드가 필요 없습니다.
작동 방식
- 웹훅이 수집 엔드포인트로 전송됩니다.
- 전체 페이로드가 S3에 저장됩니다 (KMS‑암호화, 테넌트별 키 격리).
- 경량 JSON 알림이 자동화 도구에 전송되며 다음을 포함합니다:
- 이벤트 ID
- 엔드포인트 ID
- 페이로드 크기
- 사전 서명된 S3 다운로드 URL (15 분 후 만료)
- 워크플로우는 필요할 때만 페이로드를 가져옵니다.
기능
- 단일 고정 IP (허용 목록에 추가 가능)
- 인증을 위한 엔드포인트별 시크릿
- 15 분 만료되는 서명된 S3 링크
- 실패한 전달을 재시도하기 위한 이벤트 추적
- 요청당 최대 250 MB 페이로드 크기
해결하는 문제
Zapier, Make, n8n과 같은 자동화 플랫폼은 요청 본문 크기 제한(보통 5–16 MB)을 적용합니다. 페이로드가 이 제한을 초과하면 플랫폼이 웹훅을 조용히 삭제하거나 모호한 오류를 반환하여 발신자는 데이터가 전달되지 않았음을 알지 못합니다. 필드를 잘라내기, 요청을 분할하기, 나중에 폴링하기와 같은 일반적인 우회 방법은 복잡성과 취약성을 증가시킵니다.
webhookstorage는 전송과 처리를 분리합니다: 전체 페이로드를 한 번에 받아 영구적으로 저장하고, 하위 소비를 위해 작은 참조만 제공합니다.
요금제
| 플랜 | 비용 | 포함된 크레딧 | 보존 기간 | 사용 제한 |
|---|---|---|---|---|
| 무료 | $0 | — | 1 일 | 월 5개 웹훅 |
| 활성화 | $25 일회성 활성화 (크레딧 $25 포함) | $25 | 7 일 | 크레딧 사용 후 웹훅당 $0.03 + GB‑월당 $0.10 |
| 비즈니스 | 맞춤형 | — | 맞춤형 | 맞춤형 제한, 보존 정책 및 지원 |
모든 플랜은 동일한 엔드포인트, 서명된 링크 및 고정 IP를 공유합니다. 무료 티어는 신용카드가 필요하지 않습니다.
기술 아키텍처
- Ingress: 고정 Elastic IP를 가진 AWS Network Load Balancer.
- Storage: KMS 암호화가 적용된 S3; 테넌트별 키 격리.
- Metadata: DynamoDB (타임스탬프, 크기, content‑type, 발신자 IP).
- Notification: 구성된 아웃바운드 URL로 전송되는 작은 JSON 페이로드.
- Authentication: 엔드포인트별 시크릿; 시크릿을 회전시켜도 기존 트래픽에 영향을 주지 않음.
- Codebase:
- Frontend: Preact (런타임 의존성 없음).
- Backend: AWS에서 실행되는 SST v3 (Hono, Lambda, DynamoDB, S3).
- Auth: WorkOS AuthKit.
- Billing: Stripe 메터링 청구.
사용 사례
- 자동화 빌더가 Zapier/Make 시나리오에서 대용량 페이로드가 실패할 때.
- 운영 팀은 웹훅 트래픽에 대해 고정 IP와 엔드포인트별 인증이 필요합니다.
- 에이전시는 여러 클라이언트를 관리하며, 각 클라이언트마다 격리된 웹훅 엔드포인트를 가집니다.
- 개발자는 개발 중에 (무료 티어) 웹훅 페이로드를 캡처하고 검사하고 싶어합니다.
로드맵
- 추가 통합 가이드(예: Shopify, Zapier, Make, n8n).
- 더 많은 소스 제공자를 위한 웹훅 서명 검증.
- 엔드포인트별 보존 정책 제어.
- 향후 기능: 이벤트 재생, 페이로드 변환 규칙, 로컬 개발용 CLI.
시작하기
- 무료 티어: 가입하고 엔드포인트를 받아 테스트 페이로드 전송을 시작하세요(결제 필요 없음).
- 활성화 티어: 일회성 $25 활성화( $25 크레딧 포함) 후 사용량에 따라 결제합니다.
- 비즈니스 티어: 맞춤 한도 및 지원 논의를 위해 연락 주세요.
자세한 설정 방법은 통합 가이드와 API 문서를 확인하세요.