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égion | Description de la région | |
---|---|---|
Amérique du Nord | ||
us-west1 | Oregon | |
us-west2 | Los Angeles | |
us-west3 | Salt Lake City | |
us-west4 | Las Vegas | |
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-northeast1 | Montréal | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Toronto | |
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-east1 | Caroline du Sud | |
us-east4 | Virginie du Nord | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Columbus | |
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 | ||
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-east1 | São Paulo | |
Europe | ||
europe-west2 | Londres | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Belgique | |
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 | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Milan | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Madrid | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Paris | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Turin | |
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-west3 | Francfort | |
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-central2 | Varsovie | |
europe-west6 | Zurich | |
Moyen-Orient | ||
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Doha | |
Cet emplacement n'est pas compatible avec App Engine. Si vous prévoyez d'utiliser App Engine, vous devez choisir un autre emplacement. |
Dammam | |
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-south1 | Mumbai | |
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-southeast1 | Singapour | |
asia-southeast2 | Jakarta | |
asia-east2 | Hong Kong | |
asia-east1 | Taïwan | |
asia-northeast1 | Tokyo | |
asia-northeast2 | Osaka | |
asia-northeast3 | Séoul | |
Australie | ||
australia-southeast1 | Sydney | |
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 | ||
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:
Exécutez la commande
gcloud firestore databases list
.Ouvrez la liste des bases de données dans la console Google Cloud. L'emplacement de chaque base de données se trouve dans la colonne "Emplacement".
Dans la console Firebase, accédez à l'onglet Données Firestore pour afficher la liste de vos instances de base de données et leurs emplacements.
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 *.firebasestorage.app
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
- L'instance Firestore par défaut existante ne définit pas l'emplacement du futur bucket Cloud Storage par défaut (
À partir du
30 octobre 2024 , si le bucket Cloud Storage for Firebase par défaut a déjà été provisionné (en particulier, le bucket ), mais que l'instance Firestore par défaut n'a pas été provisionnée:*.appspot.com
- Lorsque le bucket Cloud Storage par défaut (
) 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.*.appspot.com
- Lorsque le bucket Cloud Storage par défaut (
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 créer une base de données Firestore dans une zone spécifique, consultez l'un des guides de démarrage rapide de Firestore.
- 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.