Comprendre le stockage des données et des fichiers

Pour stocker des données et des fichiers sur App Engine, vous pouvez utiliser les services Google Cloud ou tout autre service de stockage compatible avec votre langage et accessible depuis votre instance App Engine. Ces bases de données tierces peuvent être hébergées sur Compute Engine, chez un autre fournisseur cloud ou sur site. Elles peuvent également être gérées par un fournisseur tiers.

Services de stockage Google Cloud

Pour les applications App Engine s'exécutant dans l'environnement flexible Node.js, nous vous recommandons l'un des services de stockage Google Cloud suivants :

Consultez la liste complète des produits Google Cloud Storage sur la page Produits Cloud Storage.

Héberger sur Compute Engine

Les instances App Engine font partie du même réseau interne privé que les instances Compute Engine. Votre application App Engine peut donc communiquer avec les services hébergés sur Compute Engine liés au même projet sans passer par l'Internet public. Dans de nombreux cas, l'application se connecte au service à l'aide de l'adresse IP interne de l'instance sans devoir attribuer une adresse IP publique externe à la base de données. Si vous le souhaitez, vous pouvez attribuer une adresse IP publique pour permettre l'accès à la base de données depuis l'extérieur de Google Cloud.

De nombreuses bases de données tierces courantes telles que Redis, MongoDB, PostgreSQL, Cassandra, Hadoop et Microsoft SQL Server peuvent être rapidement déployées sur Compute Engine à l'aide de Cloud Launcher. Consultez les guides suivants pour en savoir plus sur le déploiement de MySQL ou de PostgreSQL.

Autres fournisseurs de cloud

Les applications App Engine peuvent se connecter à des bases de données externes hébergées sur d'autres clouds publics, à condition que ces serveurs de base de données et votre pare-feu soient correctement configurés pour accepter les connexions. Votre application App Engine se connecte via Internet par le biais de l'adresse IP publique du service externe.

Bases de données gérées par un fournisseur tiers

De nombreux fournisseurs proposent des services de bases de données gérées tels que mLab pour MongoDB, ou Redis Labs et ses solutions hébergées de mise en cache Redis. Ces fournisseurs gèrent l'hébergement, la configuration et la maintenance des bases de données. App Engine peut se connecter à ces services externes via Internet de la même manière qu'avec les autres clouds publics, par le biais de leur adresse IP publique.

Bases de données sur site

Pour que votre application App Engine puisse accéder à vos bases de données existantes sur site, vous pouvez soit configurer votre réseau interne et votre pare-feu pour attribuer à la base de données une adresse IP publique, soit vous connecter via un réseau privé virtuel.

La configuration d'une solution Cloud VPN permet à votre application App Engine d'accéder à votre réseau local sans exposer directement le serveur de base de données à l'Internet public. Comme App Engine et Compute Engine utilisent la même infrastructure réseau, vous pouvez utiliser la connexion VPN pour établir une communication entre l'application App Engine et votre base de données sur site à l'aide de l'adresse IP interne du serveur de base de données.

Considérations relatives à la production

App Engine peut être configuré pour effectuer un scaling automatique horizontal de votre application en fonction de diverses métriques. Contrairement aux applications Web, les bases de données nécessitent souvent des modifications complexes pour s'adapter au trafic. Dans les applications de production, App Engine peut rapidement surcharger une base de données lors de pics de trafic. C'est pourquoi, lorsque vous configurez et déployez une base de données, vous devez prendre en compte la charge de trafic moyenne prévue et la charge durant les pics d'activité.