続・GCPのCDN(LB)のリプレース先を探す旅(Bunny.net編)

俺たちは安くてhttpsで独自ドメインでCloud Runを使いたい。ということで先日Fastlyの記事を書きました。
今日はよりシンプルで有料レンジでは低価格なBunny.netに入門しようと思います。

無料枠はないが安い
だいたい600GBくらいのトラフィックをCDNでさばきたい場合、Firebase storageだと無料枠がないので、$90、約1万3000円ほどのトラフィック料金がかかります。
これがbunny.netの場合アジア向けトラフィックは$0.03/GBとFirebaseの1/5なので、おおよそ18ドル、3000円弱におさまります。毎月1万円浮きますね。
無料枠はないので、トラフィックが少ない場合はお勧めできませんが、安くてシンプルなので画像などアセットの配信に特化して使うのがよさそうです。とくにWAFやBotのフィルタリングなどは簡易的なもの(IPやUserAgentの一致のみ)しかありませんでした。

画像最適化と変換が安い
また、月額$9.8で画像の変換と最適化を行うことができます。imgixのStandardが$75で500GBトラフィック込みなので、配信料を込めても約半額以下で実現できることになります。自動で様々なフォーマットに配信したり、リサイズしてサムネ表示をすることもできるので、非常に良いソリューションだと思います。

パフォーマンスもよい
CDNのパフォーマンスを計測するCDNperfでは、1位を獲得しています(2024/03/30時点)
安定性のほうは下位ですが98.28%なのであまり問題にならないでしょう。
サイト全体に導入というよりは、アセットの配信に限定して使うのがよさそうだと思いました。
Zone Apex(wwwなどサブドメインなしドメイン)は非対応のようです。

クラウドストレージのフロントエンドにもよさそう
Bunnyに問い合わせたところ、リクエストのタイムアウトは60秒に設定されているが、その範囲内であればファイルアップロードを行ってもかまわないとのこと。Cloudflareは100MBに制限されているので、ちょっとしたファイルアップロード機能を作る場合にはよさそうだ。もちろん動画などGB単位のファイルをアップするにはチャンクにするなどは必要だと思うが、動画は動画でBunny streamが用意されている。