Web サービスを無料で手軽にモダンなインフラにデプロイしよう!

2023/09/11に公開

はじめに

ラブグラフに 7 月からインターンとして Join したこるくといいます。
今回は私が普段、業務でも使っている Web サービスを無料で手軽にデプロイできるインフラサービスを紹介したいと思います!
無料とはいっても、プロダクトでもそのまま利用できるぐらいのレベルのものを厳選しました。
個人開発やハッカソンなどにぜひ活用してください。
なお、すべての情報は 2023 年 09 月現在のものです。
サービスの内容などは変わっている可能性があります。

Cloudflare Pages - 静的サイトホスティング

https://pages.cloudflare.com/
Cloudflare Pages は、世界最大手の CDN である Cloudflare が提供する静的サイトのホスティングサービスです。
個人的には、静的サイトのホスティングサービスの結論とまで思っています

なんと無料なのに、リクエスト数、帯域幅が無制限です!
さすが CDN は大量のトラフィックをさばくこともあって太っ腹ですね。
なんと商用利用も無料!

それに、開発体験もかなり優れています。
デプロイの手順は、

  1. GitHub リポジトリと連携する
  2. 利用するフレームワークや環境変数をセットする
  3. デプロイを待つ

ざっとこれだけです!

しかも、ブランチに新しいコミットがあったときは勝手にデプロイをしてくれたり、SSL / TLS を勝手に設定してくれたり、独自ドメインを発行してくれたり...
その他にも Cloudflare のパフォーマンスやセキュリティ向上のためのサービスと統合できるなど、かなり至れり尽くせりなサービスです。

無料版は、同時にビルドできる数が 1 つだけ、月に行えるビルドが 50 回までという制限がありますが、十分実用に耐えうる性能です。

PlanetScale - データベース

https://planetscale.com/
PlanetScale は、mysql 互換のフルマネージドデータベースサービスです。

PlanetScale のすごいところは、勝手にデータベースをスケールしてくれることだけでなく、スキーマ定義を Git のようにブランチで管理できる点にあります。

スキーマ定義を Production や Development といったブランチに分け、差分を GitHub のように直感的に管理できます。

某 RDS と異なり、クライアントにはプロキシサーバーなどが一切不要で、ユーザー名とパスワードだけで利用できるのも嬉しい点です。

PlanetScale の無料版は 5 GB のストレージ、月間 10 億行の読み込み、1000 万行の書き込みが利用できます。

Cloud Run - バックエンド

https://cloud.google.com/run
Cloud Run は、GCP のサービスの 1 つで、フルマネージドの Docker コンテナのデプロイサービスです。

完全に自動で Docker コンテナをデプロイし、HTTPS が設定された URL を自動で発行してくれます。
しかも、スケーリングも自動で、急なアクセスの増減があってもコストを最適化したまま、快適にサービスを維持してくれます。

この中のサービスでは一番ややこしいですが、フルマネージドの Docker のデプロイサービスは AWS / GCP / Azure 以外の選択肢がない気がします...
( 前だったら heroku が似たサービスで無料だったのですが、廃止されちゃいました... もっと手軽に使えるサービスをご存じの方は教えてください! )

無料枠は以下のとおりです。
無料枠を超えると普通に課金されるのでお気をつけくださいませ!

項目 無料枠
リクエスト 200 万リクエスト / 月
CPU 180,000 vCPU 秒 / 月
メモリ 360,000 GiB 秒 / 月
データ転送 1 GB / 月 ( 北米のみ )

Cloudflare R2 - AWS S3 互換オブジェクティブストレージ

https://www.cloudflare.com/ja-jp/developer-platform/r2/
はい、また出ました Cloudflare 。
Cloudflare R2 は、なんと外向きのデータ転送量が無料の AWS R3 互換オブジェクティブストレージです。

私が知っている S3 互換のサービスの中では、一番コストが安くすみます。
ぜひ便利にお使いください〜(語録)

▼ 料金計算はこちら
R2 Calculator

Cloudflare - Web サーバー保護 & 最適化

https://www.cloudflare.com/
またまた Cloudflare です。
Cloudflare は、Web ページを自動でキャッシングしてくれたり、怪しいリクエストを弾いたりしてくれるサービスです。
Cloudflare は CDN なので、一番ユーザーから近いサーバーを選択して Web ページを送信してくれたりと、本当にもう意味分からないぐらい便利で革命的なサービスです。

詳しい機能は省略しますが、Web サーバーの負担を減らしたり怪しいリクエストを弾いたりしたいならとりあえず入れておきましょう。

Web サーバー側の設定は一切不要で、DNS を設定するだけですべてをいい感じにしてくれます!

ngrok - ローカル環境のデバッグと公開 (番外編)

https://ngrok.com/
ngrok は、ローカルのポートを外部に SSL / TLS 付きで自動で公開してくれるツールです。

「インフラ構築するまでもないけどローカル環境のサイトを他人に見てもらいたい...」
「外部の Webhook が HTTPS じゃないとリクエストを飛ばしてくれない...」
なんてこと、ありませんか?

ngrok はローカルの 3000 番ポート、8000 番ポートといった環境を外部に、ドメイン、HTTPS 付きで公開してくれるサービスです。

例えば、ローカルの 3000 番で待ち受けている HTTP サーバーを、https://hogehoge.ngrok-free.app に公開してくれます。

付属しているデバッグツールも非常に便利で、http://localhost:4040 にアクセスすると、かなり詳細なアクセスログが閲覧できて便利です。

こんな感じで、リクエスト・レスポンスの中身を見たり、ヘッダーを見たりできます。

( ちなみに、ngrok は「エングロック」と読むそうです。 )

さいごに

最近 Cloudflare の良さに気づいて Cloudflare ばっかり使ってます。
それもあってか、なんだか Cloudflare ばっかりになっちゃいました...
Cloudflare は神なのでみなさんもぜひ使ってください!
いろいろ無料なのに超高品質で最高です!

ラブグラフのエンジニアブログ

Discussion