Zum Inhalt

GGU-CONNECT - PostgreSQL Instanz bei AWS

Die Persistenz per PostgreSQL ist aktuell noch im Modus: Experimentell.

Monatliche Kosten bei AWS belaufen sich auf ca. 20-80 € (je nach Instanzgröße und Nutzung - PostgreSQL ist oft kostengünstiger als SQL Server).

Setup in AWS

  1. AWS Account erstellen:

  2. Unter https://aws.amazon.com ein Konto anlegen und Kreditkarte hinterlegen

  3. RDS Management Console öffnen:

  4. Zur RDS Management Konsole wechseln: https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1

  5. Region "EU Central 1" (Frankfurt) auswählen, falls nicht vorausgewählt

  6. Datenbank erstellen:

  7. Klick "Datenbank erstellen"

  8. Engine-Typ: "PostgreSQL" auswählen

  9. Engine-Version: Version 15.x oder höher wählen

  10. Templates: "Kostenloses Kontingent" (für Tests) oder "Produktion" (für Produktiveinsatz)

  11. Konfiguration:

  12. DB-Instance-Identifier:ggu-connect-postgres (oder beliebiger Name)

  13. Master-Benutzername:postgres (Standard) oder eigener Name

  14. Master-Passwort: Sicheres Passwort festlegen

  15. DB-Instanzklasse:db.t3.micro (kostenloses Kontingent) oder größer je nach Bedarf

  16. Speicher: 20 GB (Minimum) oder nach Bedarf

  17. Öffentliche Verfügbarkeit: Ja aktivieren (wichtig für externe Verbindungen)

  18. VPC-Sicherheitsgruppe: Neue erstellen oder vorhandene auswählen

  19. Erweiterte Konfiguration:

  20. Port:5432 (PostgreSQL Standard)

  21. Parameter-Gruppe: Standard beibehalten

  22. Automatische Backups: Aktiviert lassen

  23. Backup-Aufbewahrungsperiode: 7 Tage (oder nach Bedarf)

  24. Datenbank erstellen:

  25. "Datenbank erstellen" klicken

  26. Warten bis Status "Verfügbar" anzeigt (ca. 5-10 Minuten)

Sicherheitsgruppe konfigurieren

  1. Security Group bearbeiten:

  2. In der RDS-Konsole die erstellte Datenbank auswählen

  3. Tab "Konnektivität und Sicherheit" → "VPC-Sicherheitsgruppen" anklicken

  4. Bei "Eingehende Regeln" auf "Bearbeiten" klicken

  5. PostgreSQL-Regel hinzufügen:

  6. "Regel hinzufügen"

  7. Typ: "PostgreSQL" (automatisch Port 5432)

  8. Quelle: "Anywhere-IPv4" (0.0.0.0/0) für globalen Zugriff oder spezifische IP-Adressen

  9. "Regeln speichern"

Konfiguration der Datenbank-Instanz

  1. pgAdmin installieren:

  2. Download und Installation von pgAdmin: https://www.pgadmin.org/download/

  3. Verbindung zur AWS RDS-Instanz:

  4. pgAdmin starten

  5. Rechtsklick auf "Servers" → "Register" → "Server..."

  6. General-Tab:

    • Name: AWS PostgreSQL GGU-Connect
    • Connection-Tab:

    • Host: <RDS-Endpoint von AWS> (z.B. ggu-connect-postgres.xxxx.eu-central-1.rds.amazonaws.com)

    • Port: 5432

    • Username: postgres (oder der gewählte Master-Username)

    • Passwort: <Master-Passwort von AWS>

    • "Save" klicken
    • Datenbankschema installieren:
  7. Rechtsklick auf die Datenbankinstanz → "Create" → "Database..."

  8. Database:GGUConnect-230627 (oder beliebiger Name)

  9. "Save" klicken

  10. Rechtsklick auf die neue Datenbank → "Query Tool"

  11. Das von GGU-Software bereitgestellte PostgreSQL-Script öffnen

  12. Für die Zusendung des SQL Scripts bitte anfragen unter support@ggu-software.com

  13. Inhalt in das geöffnete Fenster kopieren und "Execute" (F5) klicken

Zusätzliche Sicherheit (optional)

  1. SSL-Verschlüsselung aktivieren:

  2. In pgAdmin bei der Serververbindung → "SSL-Tab"

  3. SSL-Modus: "require" oder "prefer"

  4. AWS RDS PostgreSQL unterstützt SSL standardmäßig

  5. Nutzerrolle anlegen

Um die Verwaltung von Nutzern in Connect zu vereinfachen, sollte die Gruppe connect_contributor angelegt werden.

Im Normalfall wird die Gruppe bei der Initialisierung der Datenbank über das Initialisierungsskript bereits erstellt worden sein. Wenn dies bei Ihnen nicht der Fall ist, folgen Sie bitte der folgenden Anleitung:

Die Rolle ist Datenbank spezifisch und gilt somit nur für die von Ihnen gewählte Datenbank.

  1. In pgAdmin

  2. Verbindung zu PostgreSQL Server herstellen

  3. Rechtsklick auf die Datenbank

  4. “Query Tool” auswählen

  5. Den folgenden Schnipsel ausführen:

    SQL

    ```sql

    ```

    Copy

    Jeder Nutzer der Gruppe connect_contributor ist jetzt berechtigt, in der Datenbank Daten zu lesen, zu erstellen, zu aktualisieren und zu löschen.

  6. Separaten Benutzer erstellen:

  7. In pgAdmin: Rechtsklick auf "Login/Group Roles" → "Create" → "Login/Group Role..."

  8. Allgemein: Name gguconnect_user

  9. Definition: Passwort festlegen

  10. Privilegien: "Can login" aktivieren, andere nach Bedarf

  11. Für die Datenbank: Rechtsklick auf GGUConnect-230627 → "Properties" → "Security"

  12. User hinzufügen und Berechtigung ALL setzen

  13. Nutzer die Rolle connect_contributor hinzufügen.

Via GGU-CONNECT mit Datenbank verbinden

  1. GGU-CONNECT starten

  2. Datenbankverbindung einrichten:

  3. Im Menü "Datenbank" → "Mit SQL-Datenbank verbinden"

  4. Verbindungsinformationen wie folgt hinterlegen:

    • Name:<beliebig>

    • Datenbanktyp:PostgreSQL

    • URL:<RDS-Endpoint> (z.B. ggu-connect-postgres.xxxx.eu-central-1.rds.amazonaws.com)

    • Port:5432

    • Username:postgres oder gguconnect_user

    • Passwort:<wie oben gewählt>

    • Datenbank:GGUConnect-230627

    • Verbindung testen:
  5. Klick auf "Verbinden" (Icon mit Wolke und +)

Backups erstellen

Automatische Backups

  • AWS RDS erstellt automatisch tägliche Backups

  • Aufbewahrungszeit: 1-35 Tage (in den RDS-Einstellungen konfigurierbar)

  • Point-in-Time Recovery: Wiederherstellung auf beliebigen Zeitpunkt innerhalb der Aufbewahrungszeit möglich

Manuelle Snapshots

  1. Snapshot erstellen:

  2. In der RDS-Konsole die Datenbankinstanz auswählen

  3. "Aktionen" → "Snapshot erstellen"

  4. Snapshot-Name eingeben

  5. "Snapshot erstellen" klicken

  6. Snapshots verwalten:

  7. Im linken Menü "Snapshots" auswählen

  8. Alle manuellen und automatischen Snapshots werden angezeigt

Backup wiederherstellen

  1. Aus Snapshot wiederherstellen:

  2. Im Bereich "Snapshots" den gewünschten Snapshot auswählen

  3. "Aktionen" → "Snapshot wiederherstellen"

  4. Neue Datenbankinstanz-Einstellungen konfigurieren:

    • DB-Instance-Identifier: Neuer Name (z.B. ggu-connect-postgres-restored)

    • Andere Einstellungen nach Bedarf anpassen

    • "DB-Instanz wiederherstellen" klicken
    • Point-in-Time Recovery:
  5. Datenbankinstanz auswählen → "Aktionen" → "Point-in-Time wiederherstellen"

  6. Zeitpunkt auswählen (bis zu X Tage zurück, je nach Backup-Einstellung)

  7. Neue Instanz-Konfiguration festlegen

  8. Wiederherstellung starten

  9. Nach der Wiederherstellung:

  10. Warten bis neue Instanz "Verfügbar" ist

  11. Sicherheitsgruppen entsprechend konfigurieren

  12. GGU-CONNECT mit neuer Instanz verbinden

Kostenoptimierung

  • Instanztyp: Für kleinere Anwendungen db.t3.micro oder db.t3.small verwenden

  • Speicher: Nur benötigten Speicher allokieren, automatische Skalierung aktivieren

  • Multi-AZ: Nur für Produktionsumgebungen aktivieren

  • Backup-Aufbewahrung: Nicht länger als notwendig einstellen

  • Reserved Instances: Für Dauerbetrieb günstiger als On-Demand

Monitoring und Wartung

  • CloudWatch: Automatisches Monitoring von CPU, Speicher, Verbindungen

  • Performance Insights: Detaillierte Datenbankperformance-Analyse

  • Maintenance Window: Automatische Updates in festgelegtem Wartungsfenster

  • Parameter Groups: Datenbankparameter nach Bedarf anpassen