Emplacements

Lorsque vous provisionnez une instance Firestore, vous devez choisir un emplacement pour l'instance. Pour réduire la latence et augmenter la disponibilité, stockez vos données à proximité des utilisateurs et des services qui en ont besoin.

Vous pouvez éventuellement créer plusieurs bases de données dans votre projet, chacune avec son propre paramètre d'emplacement.

Notez qu'une fois que vous avez provisionné une instance de base de données, vous ne pouvez plus modifier son paramètre d'emplacement.

Types de zones

Vous pouvez stocker vos données Firestore dans une zone multirégionale ou régionale.

Zones multirégionales

Sélectionnez une zone multirégionale pour optimiser la disponibilité et la durabilité de votre base de données.

Un emplacement multirégional se compose d'un ensemble défini de régions dans lesquelles plusieurs réplicas de la base de données sont stockés. Chaque instance dupliquée est soit une instance dupliquée en lecture/écriture qui contient toutes les données de la base de données, soit une instance dupliquée témoin qui ne conserve pas un ensemble complet de données, mais qui participe à la réplication.

En répliquant les données entre plusieurs régions, vous pouvez continuer à les diffuser même en cas de perte d'une région entière. Au sein d'une région, les données sont répliquées dans les zones afin qu'elles puissent continuer à être diffusées dans cette région même en cas de perte d'une zone.

Firestore est compatible avec les emplacements multirégionaux suivants:

Nom de l'emplacement multirégional Description de la zone multirégionale Régions de lecture/écriture Région témoin
eur3 Europe europe-west1 (Belgique), europe-west4 (Pays-Bas) europe-north1 (Finlande)
nam5 États-Unis us-central1 (Iowa), us-central2 (Oklahoma – région GCP privée) us-east1 (Caroline du Sud)

Notez que si votre projet comporte déjà une application App Engine ayant pour zone us-central ou europe-west, votre base de données Firestore par défaut sera considérée comme multirégionale.

Zones régionales

Une zone régionale correspond à une zone géographique spécifique, par exemple la Caroline du Sud. Les données d'une zone régionale sont répliquées dans plusieurs zones d'une même région. Toutes les zones régionales sont séparées des autres zones régionales par une distance d'au moins 160 km.

Sélectionnez une zone régionale si vous souhaitez réduire vos coûts, réduire la latence d'écriture si votre application est sensible à la latence, ou co-localiser votre application avec d'autres ressources Google Cloud.

Firestore est compatible avec les zones régionales suivantes pour les ressources:

Nom de la régionDescription de la région
Amérique du Nord
us-west1Oregon
us-west2Los Angeles
us-west3Salt Lake City
us-west4Las Vegas

us-central1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Iowa
northamerica-northeast1Montréal

northamerica-northeast2

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Toronto

northamerica-south1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Querétaro
us-east1Caroline du Sud
us-east4Virginie du Nord

us-east5

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Columbus

us-south1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Dallas
Amérique du Sud

southamerica-west1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Santiago
southamerica-east1São Paulo
Europe
europe-west2Londres

europe-west1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Belgique

europe-west4

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Pays-Bas

europe-west8

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Milan

europe-southwest1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Madrid

europe-west9

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Paris

europe-west12

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Turin

europe-west10

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Berlin
europe-west3Francfort

europe-north1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Finlande
europe-central2Varsovie
europe-west6Zurich
Moyen-Orient

me-central1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Doha

me-central2

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Dammam

me-west1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Tel-Aviv
Asie
asia-south1Mumbai

asia-south2

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Delhi
asia-southeast1Singapour
asia-southeast2Jakarta
asia-east2Hong Kong
asia-east1Taïwan
asia-northeast1Tokyo
asia-northeast2Osaka
asia-northeast3Séoul
Australie
australia-southeast1Sydney

australia-southeast2

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Melbourne
Afrique

africa-south1

Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement.

Johannesburg

Contrat de niveau de service de la zone

Votre type de zone Firestore détermine le pourcentage de disponibilité du contrat de niveau de service (SLA) :

Service couvert Pourcentage de disponibilité mensuelle
Firestore multirégional >= 99,999 %
Firestore régional >= 99,99 %

Tarifs par zone

Votre zone Firestore détermine le coût des opérations de la base de données.

Pour obtenir une explication complète des tarifs par région et par type de région, consultez l'article Comprendre la facturation Firestore.

Afficher l'emplacement de vos bases de données

Utilisez l'une des méthodes suivantes pour afficher les paramètres de localisation de vos bases de données:

Dépendances d'emplacement possibles en raison de "emplacement des ressources Google Cloud par défaut"

"Emplacement des ressources Google Cloud par défaut" correspond au paramètre d'emplacement de toutes les ressources de projet associées à Google App Engine, y compris les éléments suivants:

  • instance de base de données Firestore par défaut
  • Bucket Cloud Storage for Firebase par défaut avec le format de nom *.appspot.com
  • Google Cloud Scheduler utilisé spécifiquement avec les fonctions planifiées de 1re génération

Cet "emplacement des ressources Google Cloud par défaut" est un paramètre immuable. De plus, lorsque vous définissez l'emplacement de l'une des ressources associées, vous définissez indirectement l'emplacement de toutes en raison de leur association commune avec App Engine.

Toutefois, avec de nombreux changements apportés à l'écosystème Firebase et Google Cloud au fil des ans, les associations de ressources à App Engine ont évolué. Plus précisément, à partir du 30 octobre 2024, tous les buckets Cloud Storage for Firebase par défaut nouvellement provisionnés auront le format de nom *.firebasestorage.app et ne seront pas associés à App Engine.

Voici le détail des modifications apportées aux dépendances géographiques possibles:

  • À partir du 30 octobre 2024, si l'instance Firestore par défaut et le bucket Cloud Storage for Firebase par défaut ne sont pas encore provisionnés:

    • Le provisionnement de l'instance Firestore par défaut définit l'emplacement de toute future application App Engine provisionnée dans le projet. Toutefois, il ne détermine pas l'emplacement du futur bucket Cloud Storage par défaut.

    • Le provisionnement du bucket Cloud Storage par défaut n'est plus utilisé pour provisionner une application App Engine. Par conséquent, l'emplacement du bucket Cloud Storage par défaut ne détermine pas l'emplacement de la future instance Firestore par défaut.

  • À partir du 30 octobre 2024, si l'instance Firestore par défaut a déjà été provisionnée, mais que le bucket Cloud Storage for Firebase par défaut n'a pas été provisionné:

    • L'instance Firestore par défaut existante ne définit pas l'emplacement du futur bucket Cloud Storage par défaut (*.firebasestorage.app).
  • À partir du 30 octobre 2024, si le bucket Cloud Storage for Firebase par défaut a déjà été provisionné (en particulier, le bucket *.appspot.com), mais que l'instance Firestore par défaut n'a pas été provisionnée:

    • Lorsque le bucket Cloud Storage par défaut (*.appspot.com) a été provisionné, une application App Engine a également été provisionnée. L'emplacement de la future instance Firestore par défaut a donc été défini à ce moment-là. Même si vous supprimez le bucket *.appspot.com, vous ne pouvez pas supprimer l'application App Engine. Le paramètre d'emplacement de la future instance Firestore par défaut est donc déjà défini.

Si vous avez utilisé des fonctions planifiées de première génération, leur emplacement est défini sur l'emplacement des ressources Google Cloud par défaut. En effet, Cloud Scheduler et App Engine étaient auparavant associés. De plus, si vous configurez des fonctions planifiées de première génération avant de provisionner d'autres ressources qui partagent ce paramètre de localisation, vous définissez également leur emplacement.

Notez que si vous disposez d'une application App Engine ayant pour zone us-central ou europe-west, votre zone pour les ressources Google Cloud par défaut est considérée comme multirégionale.

Étapes suivantes

  • Pour plus d'informations sur la création d'applications répondant à vos besoins en termes de latence, de disponibilité et de durabilité, consultez l'article Zone géographique et régions.