Webhook
イベント発生時にサーバーが指定された URL に HTTP リクエストを送信する、プッシュ型の通知メカニズム
Webhook とは
Webhook は、イベントが発生した際にサーバーが事前に登録された URL に HTTP POST リクエストを送信するプッシュ型の通知メカニズムである。「逆 API」とも呼ばれ、クライアントがポーリングする代わりに、サーバーがクライアントに通知する。
GitHub の Push イベント、Stripe の支払い完了、Slack のメッセージ投稿など、SaaS の連携で広く使われている。
ポーリングとの比較
ポーリングとの比較を図で示す。
ポーリング: クライアントが定期的に「新しいデータある?」と問い合わせ
[クライアント] → GET /events → [サーバー] → "なし"
[クライアント] → GET /events → [サーバー] → "なし"
[クライアント] → GET /events → [サーバー] → "あり!"
Webhook: サーバーがイベント発生時に通知
[サーバー] → POST /webhook → [クライアント] → "受信!"
| 観点 | Webhook | ポーリング |
|---|---|---|
| リアルタイム性 | 即座 | ポーリング間隔に依存 |
| サーバー負荷 | イベント時のみ | 定期的にリクエスト |
| 実装の複雑さ | 受信エンドポイントが必要 | シンプル |
| 信頼性 | 配信失敗のリトライが必要 | 確実に取得できる |
セキュリティ
署名検証
Webhook の送信元が正当であることを確認するため、HMAC 署名を検証する。
import { createHmac } from 'crypto';
function verifySignature(body: string, signature: string, secret: string): boolean {
const expected = 'sha256=' + createHmac('sha256', secret).update(body).digest('hex');
return timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}
べき等性
Webhook は同じイベントが複数回配信される可能性がある (at-least-once)。イベント ID で重複を検出し、べき等に処理する。
信頼性の確保
Webhook の配信が失敗した場合のリトライ戦略:
- 即座にリトライ (1 回)
- 指数バックオフでリトライ (1 分、5 分、30 分)
- 最大リトライ回数に達したら DLQ に移動
- 管理画面で手動再送を提供
SQS を挟むパターン
Webhook を直接処理すると、処理が遅い場合にタイムアウトする。SQS を挟んで非同期処理にする。
[外部サービス] → POST → [API Gateway] → [Lambda A: SQS に送信] → 200 OK
↓
[SQS] → [Lambda B: 実際の処理]
実務での活用方法は関連書籍にも詳しい。
この記事は役に立ちましたか?
関連用語
イベント駆動アーキテクチャ
イベントの発行と購読を中心にシステムを構成し、サービス間の疎結合と非同期処理を実現するアーキテクチャスタイル
REST API
HTTP メソッドとリソース指向の URL で設計する Web API のアーキテクチャスタイル
メッセージキュー
プロデューサーとコンシューマーを非同期に接続し、メッセージを一時的に保持する通信基盤
リトライパターン
一時的な障害だけを選んで再試行し、間隔を指数的に広げつつ乱数で散らして、回復途中の相手に負荷を集中させない設計パターン
指数バックオフとは - リトライ間隔の設計とジッター付き実装例
指数バックオフはリトライ間隔を 2 倍ずつ増やして障害時の負荷集中を防ぐ戦略。ジッター追加の理由と Go/Python/TypeScript での実装パターンを解説
ロングポーリング
サーバーがデータの準備ができるまでレスポンスを保留し、擬似的なリアルタイム通信を実現する手法
関連する記事
あなたの「積ん読」は投資ポートフォリオである
積ん読を罪悪感の対象ではなく、知識への分散投資として捉え直す視点を提案します。積ん読の戦略的な管理方法と、必要なときに引き出す仕組みづくり。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
技術書の中古本 / 古本の賢い買い方 - 安く手に入れて賢く学ぶ
技術書を中古で買うときの判断基準と注意点を解説します。中古で買っていい本と新品で買うべき本の見分け方、状態チェックのポイントを紹介。