RDS ohne Zugang zum Internet, die gleiche VPC wie Lambda. Ich kann von EC2 in derselben VPC mit RDS verbinden. Ich habe versucht, erfolgreich eine Socket-Verbindung von Lambda zu RDS herzustellen:Verbindung von AWS Lambda zu RDS Postgres nicht möglich, aber kann Socket-Verbindung herstellen
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print(s.connect(('xxx.cmebgbnbfkax.eu-west-1.rds.amazonaws.com', 5432)))
In logs Ich sehe None
so Verbindung erfolgreich war, aber ich bekomme Timeout auf Verbindung über psycopg2:
psycopg2.connect(
host='xxx.cmebgbnbfkax.eu-west-1.rds.amazonaws.com',
dbname=<my db name>,
user=<my usernamr>,
password=<my password>)
I gesetzt maximale Zeitüberschreitung bei Lambda - 60 Sekunden. Sicherheitsgruppe erlauben den Zugriff auf den Port 5432. Wie ich weiß, wenn ich Socket-Verbindung mit der Datenbank herstellen kann - es bedeutet, dass alle Präferenzen über die Vernetzung in Ordnung ist? Wo kann also ein Problem sein?
Wie bedeutet 'None', dass die Verbindung erfolgreich war? –
@ Michael-sqlbot, weil bei falscher Verbindung durch 'ConnectionRefusedError' –