2017-04-05 5 views
0

Ich habe eine Postgres db, dass ich in der Lage gewesen zu entleeren und zu anderen Postgres wiederherstellen installiert, ohne Frage mit:Import Postgres db in neuen AWS

pg_dump the_db_name > the_backup.sql 

Dann die Sicherung auf Ihren Entwicklungsserver kopieren, wiederherstellen mit:

psql the_new_dev_db < the_backup.sql 

h/t to this link for that gem.

ich habe auch die Einrichtung der Lage gewesen, und konfigurieren EC2, S3 und eb (elastische Bohnenstengel) installiert für Wordpress, Rubin & Knoten js braucht. Wie auch immer, ich starre in den Abgrund und versuche, eine Postgres-Datenbank in eine Amazon-Instanz zu importieren. Ich vermute, das ist kein psql-Problem, sondern ein Sicherheitsrisiko. Irgendwelche Vorschläge, was ich versuchen sollte, würde ich sehr schätzen.

Ich verbinde mit aws mit einer .pem-Datei.

Ich kann pgAdmin für die Verwendung eines SSH-Tunnels konfigurieren, um eine Verbindung zu meiner rds-Instanz herzustellen.

ich mein Postgres db auf AWS keine Verbindung herstellen kann psql nor can I configure pgAdmin to connect to my db in the way AWS recommends.

In diesen beiden Fällen unter Verwendung erhalte ich die Fehlermeldung:

psql: could not connect to server: Connection timed out 
    Is the server running on host "xxxxxxx.us-west-2.rds.amazonaws.com" (xx.xx.xx.xx) and accepting 
    TCP/IP connections on port 5432? 

Im rds Armaturenbrett ich mein Beispiel zu sehen ist ein Teil von zwei Sicherheits Gruppen. Wenn ich auf einem Klick heißt es:

Your account does not support the EC2-Classic Platform in this region. DB Security Groups are only needed when the EC2-Classic Platform is supported. Instead, use VPC Security Groups to control access to your DB Instances. Go to the EC2 Console to view and manage your VPC Security Groups. For more information, see AWS Documentation on Supported Platforms and Using RDS in VPC 

Wenn ich auf der anderen Security Group klicken und seiner Inbound Registerkarte gehe ich dort sehe zwei Referenzen, die Postgresql zeigen wird TCP auf Port 5432 empfangen

Auch in das RDS-Dashboard Ich sehe, ich habe eine VPC-ID, but after reading this article, Ich bin mir nicht sicher, welchen Weg zu gehen, weil es kein Feld für "Supported Platforms" gibt.

Wenn ich versuche, eine tun wiederherstellen aus der Arbeits config in pgAdmin ich eine ähnliche Nachricht wie die Verbindung erhalten ein:

pg_restore: [archiver (db)] connection to database "ebdb" failed: could not connect to server: Connection timed out 
    Is the server running on host "XXXX.us-west-2.rds.amazonaws.com" (54.148.0.217) and accepting 
    TCP/IP connections on port 5432? 

Schließlich habe ich versucht, die PSQL Konsole in der DB zu bringen in pgAdmin. Es kommt und ich kann psql Befehle wie auszuführen:

ebdb=> \conninfo 
You are connected to database "ebdb" as user "awsuser" on host "127.0.0.1" at port "34883". 
SSL connection (protocol: TLSv1.2, cipher: XXXX, bits: 256, compression: off) 

Allerdings, wenn ich versuche zu laufen pg_restore hier mit diesem Befehl:

ebdb=> \! /usr/bin/pg_restore --dbname "ebdb" --section pre-data --section data --section post-data --create --clean --verbose "/home/awsuser/040517.backup" 

es keine Tabellen erstellen oder Push in beliebigen Daten. Die Konsole leuchtet auf und blinkt alle SQL-Befehle und die Daten, als ob es funktionierte, aber wenn ich wieder in pgAdmin gehe und schaue, ist es immer noch leer.

Antwort

0

Ich konnte die db mit dem obigen Befehl pg_restore importieren, indem ich die Sicherheitsgruppe des Elastic Beanstalk Servers als Quelle für meinen postgren eingehenden Datenverkehr hinzufügte.

EC2-Konsole \ Sicherheitsgruppen \ Inbound Ich hatte PostgresQL und Port 5432, musste aber die Sicherheitsgruppe sg-xxxx des eb-Servers in das Quellfeld einfügen.

Auf neue Fehler!

Verwandte Themen