Informationen zu Daten und Dateispeichern

Zum Speichern von Daten und Dateien in App Engine können Sie Google Cloud-Dienste oder einen anderen Speicherdienst verwenden, der von Ihrer Sprache unterstützt wird und der über Ihre App Engine-Instanz zugänglich ist. Drittanbieterdatenbanken können auf Compute Engine, von einem anderen Cloudanbieter oder lokal gehostet bzw. von einem Drittanbieter verwaltet werden.

Google Cloud-Speicherdienste

Wir empfehlen für App Engine-Anwendungen, die in der flexiblen PHP 7-Umgebung ausgeführt werden, einen der folgenden Google Cloud-Speicherdienste:

Eine vollständige Liste der Google Cloud-Speicherprodukte finden Sie auf der Seite Cloud Storage-Produkte.

Auf Compute Engine hosten

App Engine-Instanzen sind Teil desselben privaten internen Netzwerks wie Compute Engine-Instanzen. Eine Anwendung kann in App Engine innerhalb desselben Projekts direkt ohne Internet mit Diensten kommunizieren, die in Compute Engine gehostet werden. Häufig stellt die Anwendung über die interne IP-Adresse der Instanz eine Verbindung zum Dienst her. So muss der Datenbank keine externe, öffentliche IP-Adresse zugewiesen werden. Bei Bedarf können Sie eine öffentliche IP-Adresse zuweisen, damit von außerhalb von Google Cloud auf die Datenbank zugegriffen werden kann.

Viele häufig genutzte Drittanbieterdatenbanken wie Redis, MongoDB, PostgreSQL, Cassandra, Hadoop und Microsoft SQL Server lassen sich mithilfe von Cloud Launcher schnell in Compute Engine bereitstellen. Ausführliche Informationen zum Bereitstellen von MySQL oder PostgreSQL finden Sie in den jeweiligen Anleitungen.

Andere Cloudanbieter

App Engine-Anwendungen können eine Verbindung zu externen Datenbanken herstellen, die in anderen öffentlichen Clouds gehostet werden. Voraussetzung ist, dass diese Datenbankserver und Ihre Firewall für das Akzeptieren von Verbindungen richtig konfiguriert sind. Ihre App Engine-Anwendung stellt mithilfe der öffentlichen IP-Adresse dieses externen Dienstes eine Verbindung über das Internet her.

Von Drittanbietern verwaltete Datenbanken

Viele Anbieter stellen verwaltete Datenbankdienste wie mLab für MongoDB zur Verfügung. Redis Labs bietet z. B. ein gehostetes Redis-Caching. Diese Anbieter übernehmen das Hosting, die Konfiguration und die Pflege der Datenbanken. App Engine kann ebenso wie andere öffentliche Clouds über das Internet eine Verbindung zu diesen externen Diensten herstellen. Dazu wird die öffentliche IP-Adresse des Dienstes verwendet.

Lokal

Wenn bereits lokale Datenbanken vorhanden sind, die Sie Ihrer App Engine-Anwendung zugänglich machen möchten, haben Sie zwei Möglichkeiten: Sie können entweder Ihr internes Netzwerk und Ihre Firewall so konfigurieren, dass der Datenbank eine öffentliche IP-Adresse zugewiesen wird, oder Sie stellen eine Verbindung über ein VPN her.

Durch das Einrichten von Cloud VPN kann Ihre App Engine-Anwendung auf Ihr lokales Netzwerk zugreifen, ohne den Datenbankserver direkt für das öffentliche Internet freizugeben. Da App Engine und Compute Engine dieselbe Netzwerkinfrastruktur verwenden, können Sie mithilfe der internen IP-Adresse des Datenbankservers über die VPN-Verbindung eine Verbindung zwischen der App Engine-Anwendung und Ihrer lokalen Datenbank herstellen.

Überlegungen zur Produktion

App Engine kann so konfiguriert werden, dass Ihre Anwendung basierend auf verschiedenen Messwerten automatisch horizontal skaliert wird. Im Gegensatz zu Webanwendungen sind bei Datenbanken oft anspruchsvolle Änderungen erforderlich, um auf Skalierungen zu reagieren. In Produktionsanwendungen kann App Engine bei Zugriffsspitzen eine Datenbank schnell überfordern. Beim Konfigurieren und Bereitstellen von Datenbanken müssen Sie das erwartete durchschnittliche Trafficaufkommen und die Last bei einem plötzlichen Anstieg der Zugriffe berücksichtigen.