Skip to main content

Externer Zugriff auf PostgreSQL Datenbankinstanzen auf der SAP BTP mit HO2

Bist Du bereit, Euer Datenbankmanagement auf das nächste Level zu heben? Im Rahm der InnovateSAP Initiative möchten wir euch dabei helfen, die Herausforderungen beim Zugriff auf PostgreSQL Datenbankinstanzen auf der SAP BTP effektiv zu bewältigen.

Ausgangssituation

Als Datenbankspezialist oder auch Software-Entwickler ist es durchaus üblich direkten Zugriff auf die Datenbanken zu haben. Auch wenn dies beispielsweise im Rahmen der SAP CAP Anwendungsentwicklung nicht zwingend notwendig scheint.

Der Zugriff kann jedoch in vielen Situationen und auch im täglichen Betrieb hilfreich oder entscheidend sein. Man denke hier an Bereiche wie Datenmigration, Debugging, Monitoring und Performanceoptimierung.

Der Zugriff auf PostgreSQL Datenbankinstanzen stellte hier eine signifikante Hürde dar. SAP bietet standardmäßig keine Anwendung zur Verwaltung von PostgreSQL -Instanzen an. Die Möglichkeit, Tabellen, Daten und andere Objekte zu betrachten und gegebenenfalls zu ändern, war, im Vergleich zu den verfügbaren Möglichkeiten bei der HANA-DB auf der SAP BTP, limitiert. Diese Einschränkung erforderte eine Lösung, um die Effizienz und Funktionalität zu verbessern.

PostgreSQL unzugänglich auf der BTP

Lösungsansatz

Um die Sicherheit und Zugänglichkeit der Datenbank für Entwickler und Datenbankspezialisten zu gewährleisten, hat sich unser Team für die Einrichtung eines SSH-Tunnels entschieden. Durch das Deployment einer kleinen Applikation, wurde eine solche Verbindung erfolgreich aufgebaut. Dadurch konnten wir eine effiziente und sichere Lösung für den externen Datenbankzugriff realisieren.

Howto: SAP BTP PostgreSQL-Datenbankanbindung an pgAdmin mit SSH-Tunnel

Diese Anleitung bietet Ihnen einen ausführlichen Leitfaden, um eine sichere und direkte Verbindung zwischen Ihrer SAP BTP gehosteten PostgreSQL-Datenbank und der pgAdmin-Anwendung auf Ihrer lokalen Maschine herzustellen.

Voraussetzungen:

  • SAP BTP Konto
  • pgAdmin installiert auf Ihrem Computer
  • Berechtigung und Quota eine PostgreSQL-DB Instanz anzulegen, Anwendungen zu Deployen und Bindings zu erstellen
  • Cloud Foundry CLI installiert

Schritte zum externen Zugriff:

  1. PostgreSQL-Datenbankinstanz auf SAP BTP erstellen.
  2. einen neuen Servicekey für den externen Zugriff erstellen. Die Key-Daten werden für den Tunnel und die Adminsoftware benötigt
  3. Anmeldung in der Cloud Foundry per Kommandozeile.
  4. Deployment der sshenable-APP.
  5. Binden der PostgreSQL-Datenbank an die App.
  6. Öffnen eines SSH-Tunnels für lokalen Datenbankzugriff.
  7. Konfiguration von pgAdmin für den Zugriff auf die SAP BTP-PostgreSQL-Datenbank.

1.PostgreSQL-Datenbankinstanz auf SAP BTP erstellen

Wenn alle Voraussetzungen erfüllt sind muss nur der Name der Instanz vergeben werden. Man sollte dabei auf ungewöhnliche Zeichen verzichten:

postgreSQL instanz anlegen

2.Einen neuen Servicekey für den externen Zugriff erstellen

Die Daten werden für den Tunnel und die DB-Adminsoftware benötigt

3. Zum Einloggen in der Cloudfoundry:

Ab jetzt benötigen wir die Kommandozeile

oder

Ein möglicher API Endpunkt ist: https://api.cf.us10-001.hana.ondemand.com. Die URL ist abhängig von eurem Subaccount.

4. Zum Deployment der „SSH Enable“ APP:

gffs. ändern des App-Namens(APP_NAME) von myapp zu sshenable in der manifest.yml

Im Wurzelordner der APP ausführen (APP_NAME ersetzen):

die App als SSH Endpunkt freigeben und neu starten:

5. Binden der PostgreSQL-Datenbank an die App

binding der DB zur APP

6. Zum Erstellen des SSH-Tunnels:

In diesem Befehl wird der (willkürlich gewählte) lokale Port 2641 auf den PostgreSQL-Datenbankport der SAP BTP weitergeleitet, wodurch pgAdmin auf Ihre SAP BTP-Datenbank zugreifen kann, als ob sie lokal wäre. REMOTEHOST und REMOTEPORT finden sich im zu Beginn erstellten Servicekey als host und port

7. Konfiguration von pgAdmin:

aus dem Servicekey werden vier Werte benötigt:

  1. dbname
  2. password
  3. port
  4. username

Eine Pflege des SSH Reiters ist nicht nötig!

Architektur:

Diese Architektur ermöglicht eine nahtlose Kommunikation und einen sicheren Datenzugriff zwischen Ihrer lokalen Arbeitsumgebung und der SAP BTP. Durch die Bindung der Datenbank an Ihre Cloud-Anwendung und die Nutzung eines SSH-Tunnels zur Weiterleitung der Ports schaffen Sie eine sichere und effiziente Datenbrücke direkt in pgAdmin auf Ihrer lokalen Maschine.

Ergebnisse

Durch die Implementierung dieser Lösung wird der Zugriff auf die PostgreSQL Datenbankinstanzen ermöglicht. Tools wie pgAdmin und SQL Workbench/J können nun genutzt werden, um die Datenbank effizient zu verwalten. Diese Verbesserung hat signifikante Verbesserungen in Bereichen wie Datenmigration, Debugging, Monitoring und Performanceoptimierung mit sich gebracht.

Entwicklerzugriff auf PostgreSQL

Schlusswort

Die HO2 im Rahmen der InnovateSAP Initiative hat erneut gezeigt, welch Ergebnisse durch technische Expertise erreicht werden können. Mit dieser ermöglichten Datenbankzugänglichkeit setzen wir neue Maßstäbe in Effizienz und Produktivität.

Falls Fragen zur Umsetzung oder zu weiteren Dienstleistungen auftreten, zögert nicht, uns zu kontaktieren. Wir stehen bereit, um jede Herausforderung anzugehen und jede Chance zur Innovation zu nutzen.