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, nous vous recommandons l'un des services de stockage Google Cloud suivants :
- Firestore en mode Datastore pour stocker des données dans une base de données NoSQL. Notez que Firestore en mode Datastore est disponible pour tous les environnements d'exécution, à l'exception de l'environnement d'exécution .NET.
- Cloud SQL pour MySQL pour stocker des données dans une base de données MySQL.
- Cloud SQL pour PostgreSQL pour stocker des données dans une base de données PostgreSQL.
- Cloud Storage pour lire et écrire des fichiers dans l'environnement d'exécution, ainsi que pour stocker et diffuser des fichiers statiques, tels que des films, des images ou tout autre contenu statique.
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 Google Cloud Marketplace. 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
Si vous souhaitez permettre à votre application App Engine d'accéder à vos bases de données sur site existantes, vous pouvez configurer votre réseau interne et votre pare-feu afin d'attribuer une adresse IP publique à la base de données ou vous connecter via un VPN.
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é.