【要約】Astro + Hono + CloudflareでLPフォームを作る:無料枠でできること、有料枠を検討すべきこと [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者がLPにフォームを設置する際、静的サイトから動的なWeb APIへの性質の変化に直面する。単なるHTML表示だけでは、以下の課題を解決できない。
- ・botによるスパム送信や、短時間の連投攻撃。
- ・入力値のバリデーションと、適切なエラーハンドリング。
- ・問い合わせ内容の保存や、管理者への通知処理。
// Approach
著者は、Cloudflareのマネージドサービスを役割ごとに使い分ける手法を提案している。具体的には、以下の要素を組み合わせてAPIを構築する。
- ・Astroによる静的コンテンツの配信。
- ・Honoを用いたCloudflare Workers上での軽量なAPI実装。
- ・TurnstileとRate Limitingによるbotおよび連投対策。
- ・D1、KV、R2を用いた、構造化データ、設定、ファイルの保存。
- ・QueuesとEmail Serviceによる、メール送信などの非同期処理。
// Result
要件の複雑さに応じて、以下の4つの構築パターンを定義した。これにより、開発者はプロジェクトの規模に合わせて最適な構成を選択できる。
- ・パターンA(売り切りLP):最小構成でコストを抑える。
- ・パターンB(保守付きLP):D1等を用いて履歴を保存する。
- ・パターンC(共通基盤):Queues等を用い、複数案件を管理するミニSaaS構成。
- ・パターンD(添付ファイルあり):R2を組み込み、ファイルアップロードに対応する。
Senior Engineer Insight
> 本構成の真価は、インフラ管理をCloudflareに委ねつつ、案件の成長に合わせて段階的にスケールできる点にある。ただし、D1等でデータを保持する場合、単なる実装以上に「個人情報の管理」や「削除依頼への対応」といった運用責任が重くのしかかる。技術選定の基準を「無料か有料か」ではなく、「どこまでの運用責任を引き受けるか」に置くべきという指摘は、実務において極めて重要である。