Blog
So stellen Sie PrivateBin auf Google Cloud Run und Google Cloud Storage bereit

Dieser Blog zeigt Ihnen, wie Sie PrivateBin auf Google Cloud Run und Google Cloud Storage einsetzen können, um eine kostengünstige und hochverfügbare Bereitstellung bei geringer Nutzungsintensität zu erreichen.
PrivateBin ist eine klassische PHP-Webanwendung, die Sie auf einer virtuellen Maschine installieren und Daten in das lokale Dateisystem oder eine Datenbank schreiben.
Wenn Sie eine kostengünstige und zuverlässige Bereitstellung für eine geringe Nutzungsintensität wünschen, wird es schwierig. Wenn Sie in das lokale Dateisystem schreiben, ist es sehr schwierig, eine hohe Verfügbarkeit zu erreichen, und wenn Sie in eine Datenbank schreiben, steigen die Kosten erheblich.
Aus diesem Grund habe ich ein Google Cloud Storage-Plugin für PrivateBin geschrieben. Es bietet eine multiregionale Verfügbarkeit der gespeicherten Daten zu sehr niedrigen Kosten. Außerdem ermöglicht es mir, die Anwendung mit Google Cloud Run bereitzustellen. Die Kombination dieser beiden Dienste bedeutet, dass Sie nur dann zahlen, wenn Sie den Dienst nutzen und Daten speichern. Wahrhaftig serverlos.
PrivateBin bereitstellen
Um PrivateBin serverlos einzusetzen, können Sie das terraform-Modul terraform-google-privatebin verwenden. Das Modul erstellt die folgenden Ressourcen:
- ein Cloud-Run-Service namens
privatebinführt die Anwendung auf Abruf aus. - Speicherbereich mit dem Namen
privatebin-<google project name>, in dem die Daten gespeichert sind. - Dienstkonto mit dem Namen
privatebin, das der Dienst für den Zugriff auf den Bucket verwendet. - ein Geheimnis namens
privatebin-configurationenthält die PrivateBin-Konfiguration, die als Datei in den Container geladen wird.
Um privatebin in Ihrem Google-Projekt einzusetzen, fügen Sie das folgende Snippet zu Ihrer Terraform-Vorlage hinzu:
module "privatebin" {
source = "git::https:/github.com/binxio/terraform-google-privatebin.git?ref=0.2.0"
image = "eu.gcr.io/binx-io-public/privatebin/gcs:f9ccd67"
providers = {
google = google
google-beta = google-beta
}
}
Die Anwendung wird in dem von Ihren Anbietern angegebenen Projekt und der Region bereitgestellt. Nach der Anwendung von Terraform wird in der Ausgabe die URL Ihrer privatebin-Installation ausgegeben.
Bauen Sie Ihr eigenes Image auf
Die Unterstützung für Google Cloud Storage ist noch nicht freigegeben, aber im Master-Zweig von PrivateBin verfügbar. Das Modul verwendet derzeit mein Image
git clone git@github.com:PrivateBin/docker-nginx-fpm-alpine.git
cd docker-nginx-fpm-alpine
docker build --build-arg RELEASE=master --tag $YOUR_IMAGE --output type=registry,push=true .
Setzen Sie nun die Variable image in der Terraform-Vorlage auf $YOUR_IMAGE, und Sie sind startklar.
Fazit
PrivateBin ist von Haus aus keine serverlose Anwendung: es bevorzugt die Installation auf einer virtuellen Maschine und die Speicherung von Daten im lokalen Dateisystem oder in einer Datenbank. Dank der Storage-Plugin-Architektur von PrivateBin war es ziemlich einfach, die Unterstützung für Google Cloud Storage zu PrivateBin hinzuzufügen und PrivateBin auf Google Cloud Run einzusetzen, um eine serverlose Anwendung zu erstellen.
Besonderen Dank an die Maintainer elrido und rugk für ihre Geduld bei der Unterstützung und Integration der Änderungen in PrivateBin.
Foto von Michael Dziedzic auf Unsplash
Verfasst von

Mark van Holsteijn
Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.
Unsere Ideen
Weitere Blogs
Contact



