無料プランで課金システムを動かしていたら、規約違反に気づいて青ざめた話

個人開発でよくあるのが「とりあえず無料枠でリリースしよう」という判断です。

私も数学問題ストックアプリ「math-journal-stock」をVercelのHobbyプラン(無料)で運用していました。ところがある日、これがまずい状態だと気づきました。

柴田

Stripeで課金実装したタイミングで、データベース(Supabaseを使ってる)とかの無料枠の確認をしていたら発覚しました…

Stripeで実際の課金を回している以上、これは規約上「商用利用」に該当し、Vercelの利用規約に違反している状態だったのです。Vercel側の裁量で予告なく停止されるリスクがあり、実害はまだ出ていないとはいえ、放置はできません。

個人でやっているとコストを下げるためにどうしても無料枠で、っていう発想になりがちですが、利用規約はちゃんと確認しようねって話です。

目次

3つの選択肢を検討する

対応策として、3つを比較しました。

1つ目は応急処置として、Vercel Pro(月20ドル)へのアップグレードです。デプロイやDNSの変更が不要で、リスクはすぐに解消できます。

2つ目はNetlifyへの移行です。無料枠でも商用利用は規約上OKですが、月300クレジットの共有プール制で、超過すると同一アカウントの全サイトが停止するリスクがあります。課金サービスを載せるには不向きだと判断しました。

3つ目は長期方針として、ConoHa VPSへの集約です。すでに稼働しているn8nに加えて、数学アプリ、さらに開発を計画していた英語アプリも、Docker Compose+Caddyで同居させて固定費化する構想です。

最終的に3つ目を選びました。ただし数学アプリでいきなり本番移行するのはリスクが高いと判断し、まず開発中だった英語アプリでVPS+Docker Compose+Caddyの構成パターンを先に検証し、パターンが固まってから数学アプリを移行する、という順番で進めることにしました。

柴田

VPSは自前でやってるので自由度が高いですが、あれやこれやと動かすとメモリが心配ですらからね…メモリの様子を細かく見ながらデプロイしていきました

実際に移行してみる

柴田

とりあえず移行はAIにほとんど任せていたのであまり困りませんでしたが、VPSのメモリの様子は細かくチェックしながら乗り換えるのが大変でしたね

app.math-journal.bear-fruit.online を、VercelからConoHa VPS(Docker+Caddy、既存のn8n用Caddyに相乗り)へ本番切り替えしました。

ログイン・問題生成・印刷・GeoGebra・画像アップロードといった主要機能の動作確認まで完了です。

ただし移行直後、新たな問題が発生しました。

リバースプロキシ経由になったことで、マジックリンクやStripeのリダイレクト先が「http://0.0.0.0:3000」になってしまう不具合です。原因を特定し、修正しました。

柴田

環境移行するとこういう細かいとこでつまづきます…。少しずつ対処していきましたが

本番決済まで見届ける

Stripe側の本番化も並行して進めました。

特定商取引法に基づく表記ページの作成、本人確認・銀行口座登録、本番のProduct・Price・APIキー・Webhook設定まで済ませ、実際に少額決済からWebhook反映、解約までの一連の流れを本番環境で確認できました。

柴田

外部サービスは便利ですが、商用利用になると注意が必要ですね…。結局どこかにコストがかかりますが、最近はAIの補助があるので自前のVPSで公開するのもオススメです!どこにコストをかけるか…要相談ですね

インフラまわりの落とし穴は、個人開発だと見落としがちです。同じように自動化やインフラ整備で困っている方は、LINEで気軽にご相談ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次