テック技報最新号へ →
インフラ

AWS WAF: AI クローラに HTTP 402 を返して課金する(x402)

CloudFront + AWS WAF の AI traffic monetization で、ボットに「許可/ブロック」以外の第三の道=課金して通すを使える。402 Payment Required(x402)で支払い指示を返し、署名付き再送をエッジで検証する。

@serverworks · 2026-10-12
#infra#aws#waf#cloudfront#bot#x402

どんなときに使う?

  • AI クローラ/エージェントのアクセスが増え、許可か遮断かの二択では足りない
  • 参照してくれるボットは安く/学習目的は高く、など相手で値段を変えたい
  • 自前の決済サーバーを立てずに、エッジで machine-to-machine 課金したい

やり方(概要)

前提: CloudFront に紐づく web ACL、受け取り用 USDC ウォレット(Base / Solana 等)、推奨として Bot Control。

  1. Bot Control を有効化し、人間のブラウザには 402 を返さないルールにする
    例: awswaf:managed:aws:bot-control:bot ラベルにだけ Monetize アクションを当てる
  2. web ACL に MonetizationConfig(チェーン・ウォレット・基本価格)を設定する
    最小はおおよそ $0.001 USDC / リクエスト。ルールの PriceMultiplier(1〜100)で実価格 = 基本 × 倍率
  3. フロー: ボットが来る → 支払いなしなら 402(価格・ネットワーク・payTo 等)→ エージェントが payment-signature 付きで再送 → エッジ検証 → オリジンへ → 2xx なら settlement
  4. まず CurrencyMode: TEST(Base Sepolia / Solana Devnet)で通し、問題なければ REAL へ

オリジンが 4xx/5xx なら課金しない。payment-identifier 対応クライアントなら短時間の冪等リトライも可能。

注意点

  • 課金リクエストには検証・オンチェーン決済ぶんの追加レイテンシ(秒単位になりうる)
  • ボット判定は確率的。本番課金前にテストモード必須
  • Monetize 自体の WAF 追加料金はないが、Bot Control は別料金
  • 資金はクライアント → 設定ウォレット(Coinbase CDP の facilitator)。AWS は当事者にならない

出典

X の元の投稿を開く