Firebase Hostingの料金が高い話
のインフラコストを安くしたかった話
インフラ構成
バックエンド: Google Cloud Run
フロントエンド: Firebase Hosting
Firebase HostingのRewritesを使ってSame Originで運用
Firebase Hostingのダウンロード料金が高い
毎月数百GBのダウンロード容量で数十ドルかかっていた
ダウンロードが問題なのでオリジンサーバーへのリクエストを減らしたい
Cloud Storageから直接配信を試した
SVG画像はCloud Storageにキャッシュとして保存していた
Cloud Storageのファイルをダウンロード可能なSigned URLを発行し、リダイレクトさせた
Hostingのダウンロード料金は下がったが...
Signed URLでの配信はBucketがWeb公開されていないとキャッシュされない
キャッシュ  |  Cloud Storage  |  Google Cloud
Firebase Hostingからの配信ではある程度CDNキャッシュが効いていた
結果的にコスト倍増した
Cloudflareでのキャッシュを試した
GCPのCloud CDNも考えたが、使ってみたかったのでCloudflareにした
Firebase Hostingの前段にキャッシュプロキシが入ることでどうコストが変わるか変化を見たかった
結果
Hostingのコスト
https://scrapbox.io/files/649b956b093a8b001cd2c715.png
ダウンロード容量は 9GB/day → 2GB/day 程度になった
https://scrapbox.io/files/649b9599e64d44001b20f15c.png
Hostingのコストは $1.40/day → $0.30/day 程度になった
月当たり$30程度のコストダウン
Cloudflareのコスト
無料プランなので0円... どうしてこれで商売が成り立つんだ
https://scrapbox.io/files/649b966a8738c4001b713556.png
キャッシュレート 約80%