Mastra-Plattform bietet Postgres mit VPC-Isolation für netzwerkbeschränkte Datenbanken

Mastra hat seiner Plattform Postgres mit VPC-Isolation hinzugefügt. Teams können damit jeder Umgebung eine Datenbank zuweisen, die nur von Ressourcen im selben Netzwerk aus erreichbar ist. Laut Mastra sind gehostete Datenbanken in der Regel von jedem Client aus zugänglich. Die VPC-Option schafft eine zusätzliche Sicherheitsebene, indem sie Zugriffe von außerhalb des Netzwerks blockiert.
- Auf der Mastra-Plattform lässt sich jeder Umgebung nun eine VPC-isolierte Postgres-Datenbank zuweisen.
- VPC-Datenbanken sind von außerhalb des Netzwerks nicht erreichbar, psql-Verbindungen von anderswo schlagen daher fehl.
- Erforderlich ist die Mastra-CLI [email protected] oder höher, die Einrichtung erfolgt mit mastra env db create production --kind postgres.
- Die Plattform injiziert DATABASE_URL beim Deployment, eine bestehende PostgresStore-Konfiguration bleibt unverändert.
- MongoDB und Redis sollen laut Mastra bald folgen, nachdem im Juni Turso und Neon gestartet sind.
Was die neue Option leistet
Nutzer können nach Angaben von Mastra jetzt jeder Umgebung auf der Mastra-Plattform eine VPC-isolierte Postgres-Datenbank zuweisen. Ziel ist es, den Zugriff auf Ressourcen im selben Netzwerk zu beschränken. Eine herkömmliche gehostete Datenbank ist für jeden Client erreichbar, die VPC-Variante dagegen weist Verbindungen von Ressourcen außerhalb des Netzwerks ab.
Die Funktion erweitert das Angebot an verwalteten Datenbanken. Laut Mastra wurden die Managed Databases im Juni mit Turso und Neon gestartet. VPC Postgres kommt nun für Anwendungsfälle hinzu, in denen zusätzliche Einschränkungen erforderlich sind. MongoDB und Redis sollen bald folgen, so das Unternehmen.
Ein praktisches Detail betrifft die Regionen: Bei einer per VPC bereitgestellten Datenbank greift die Option --region nicht. Die Plattform setzt die Datenbank in dieselbe Region wie die Umgebung, damit sie dasselbe Servernetzwerk nutzt.
So funktioniert die Einrichtung
Voraussetzung ist die globale Mastra-CLI in Version [email protected] oder höher, die laut Mastra mit PR #25650 hinzugekommen ist. Installiert oder aktualisiert wird sie mit npm install -g mastra@latest.
Es gibt zwei Wege, die Datenbank bereitzustellen:
- Mit mastra env db create production --kind postgres lässt sich einer Umgebung direkt eine Datenbank zuweisen.
- Man lässt DATABASE_URL in der .env-Datei ungesetzt und überlässt es den Preflight-Prüfungen beim nächsten Deployment. Die CLI fragt dann, welche verwaltete Datenbank bereitgestellt werden soll, und bietet Neon (serverless, öffentlich), Postgres (VPC-isoliert) oder die Möglichkeit an, den Schritt zu überspringen und später manuell zu konfigurieren.
Die Plattform injiziert DATABASE_URL beim Deployment, sodass eine bestehende PostgresStore-Konfiguration unverändert bleiben kann. In Mastras Beispiel wird der Store aus dem Paket @mastra/pg erzeugt, mit einem connectionString aus process.env.DATABASE_URL.
Status der Datenbank prüfen
Wegen der Isolation ist eine VPC-Datenbank von außerhalb des Netzwerks nicht erreichbar. Mastra zeigt, dass ein Verbindungsversuch mit psql eine Fehlermeldung liefert: Der Hostname, der auf railway.internal endet, konnte nicht in eine Adresse aufgelöst werden.
Um eine Datenbank zu untersuchen, führen Nutzer mastra env db show gefolgt vom Datenbanknamen aus. Der Status ready bedeutet, dass die Datenbank bereitgestellt und zugewiesen ist. Der Befehl mastra env db list meldet dasselbe für alle Datenbanken im Projekt und zeigt, welcher Umgebung sie jeweils zugeordnet sind.
Die Beispielausgabe von Mastra listet Datenbanktyp, ID, Status, Scope, Region (us) und Erstellungszeitpunkt auf. Zudem weist sie darauf hin, dass die Umgebungsvariablen für die Verbindung beim Deployment automatisch injiziert werden. DATABASE_URL ist standardmäßig maskiert und lässt sich mit dem Flag --show-secrets einblenden.
Was das für Nutzer bedeutet
Für Teams, die auf der Mastra-Plattform entwickeln, bietet die Neuerung die Möglichkeit, eine Postgres-Produktionsdatenbank aus dem öffentlichen Internet herauszuhalten, ohne den Anwendungscode zu ändern, da die Verbindungszeichenfolge weiterhin über DATABASE_URL bereitgestellt wird. Wer eine öffentlich erreichbare Serverless-Datenbank bevorzugt, kann im selben Preflight-Dialog weiterhin Neon wählen. Für alle Konfigurationsoptionen verweist Mastra auf seine Dokumentation zu gehosteten Datenbanken und Deploy-Umgebungen sowie auf die Seiten der CLI-Referenz.


