Closed4

Vercelにデプロイしている際、Firebaseのリージョン設定はどうすべき?

CaaaaatsCaaaaats

https://zenn.dev/hiro__dev/scraps/d7d1c70a39ea6b
より派生

コミュニティにこんな質問をした。

Vercel × Firebaseでプロジェクト作ってる方はリージョンの設定どうしてますか?
普通は日本だけど、HobbyプランだとVercelのリージョンはIAD1(WashingtonDC, USA)がデフォルトでプロプラン以上じゃないと変更できないので、そこに合わせるのがいいんでしょうか?

Serverless Functions are deployed to the IAD1 region by default to ensure your Serverless Functions are located close to most external data sources hosted on the East Coast of the USA. Depending on your account plan, the deployment region can be changed.
Source: https://vercel.com/support/articles/choosing-deployment-regions

Firebaseの公式にもこんなこと書いてあります。

関数を実行するリージョンを選択するときは、レイテンシと可用性を第一に考慮してください。一般的には、ユーザーに近いリージョンを選択しますが、アプリで使用されている他のプロダクトやサービスのロケーションも考慮する必要があります。使用するサービスが複数のリージョンにまたがっていると、アプリのレイテンシだけでなく、料金にも影響します。
Source: https://firebase.google.com/docs/functions/locations?hl=ja

使用するサービスが複数地域にまたがらない方がいいそうなのでやっぱりFirebase(Cloud Firestore と Cloud Storage)もWashingtonに近い北バージニア(us-east4)にすべきなんでしょうか・・?

CaaaaatsCaaaaats

メンターの方からの回答

CSRならClientが日本なので、日本に近いほうが良いですよ。
Vercel→ブラウザ→firebase
SSRでgetServersidePropsで叩くならサーバー同士を近づけてください。

自分の回答

なるほど、データ取得のアーキテクチャから考慮すればいいんですね!
アプリ自体シンプルでCSRでほとんどのデータ取得は事足りるかなと思うので、日本に近づけるようにしてみます。勉強も兼ねて要所要所でSSR/SG/ISR入れてみようかと思います。

CaaaaatsCaaaaats

コードベースでデータ取得のアーキテクチャも使い分け出来るから、便利。
まだ理解が浅く、自分のアプリに置き換えた場合どんなデータの取得をすればいいのか分かってないので、若干迷ってる。
しかし、まずは作り上げることが優先なので、ひとまず自分が言った通りにしてみる。

このスクラップは2021/11/11にクローズされました