jkehler/awslambda-psycopg2

Lambda connect RDS error

Closed this issue · 1 comments

Hi, I try to run a script try to connect my RDS Postgresql, but there is a error that I can not solve. What should I to do something to deal with it?

[1511405008073] The above exception was the direct cause of the following exception:
[1511405008073] Traceback (most recent call last):
[1511405008073] File "/var/task/flask/app.py", line 1982, in wsgi_app
[1511405008073] response = self.full_dispatch_request()
[1511405008073] File "/var/task/flask/app.py", line 1614, in full_dispatch_request
[1511405008073] rv = self.handle_user_exception(e)
[1511405008073] File "/var/task/flask/app.py", line 1517, in handle_user_exception
[1511405008073] reraise(exc_type, exc_value, tb)
[1511405008073] File "/var/task/flask/_compat.py", line 33, in reraise
[1511405008073] raise value
[1511405008073] File "/var/task/flask/app.py", line 1612, in full_dispatch_request
[1511405008073] rv = self.dispatch_request()
[1511405008073] File "/var/task/flask/app.py", line 1598, in dispatch_request
[1511405008073] return self.view_functions[rule.endpoint](**req.view_args)
[1511405008073] File "/var/task/main.py", line 43, in hello_world
[1511405008073] db.create_all()
[1511405008073] File "/var/task/flask_sqlalchemy/__init__.py", line 963, in create_all
[1511405008073] self._execute_for_all_tables(app, bind, 'create_all')
[1511405008073] File "/var/task/flask_sqlalchemy/__init__.py", line 955, in _execute_for_all_tables
[1511405008073] op(bind=self.get_engine(app, bind), **extra)
[1511405008073] File "/var/task/sqlalchemy/sql/schema.py", line 3949, in create_all
[1511405008073] tables=tables)
[1511405008073] File "/var/task/sqlalchemy/engine/base.py", line 1928, in _run_visitor
[1511405008073] with self._optional_conn_ctx_manager(connection) as conn:
[1511405008073] File "/var/lang/lib/python3.6/contextlib.py", line 82, in __enter__
[1511405008073] return next(self.gen)
[1511405008073] File "/var/task/sqlalchemy/engine/base.py", line 1921, in _optional_conn_ctx_manager
[1511405008073] with self.contextual_connect() as conn:
[1511405008073] File "/var/task/sqlalchemy/engine/base.py", line 2112, in contextual_connect
[1511405008073] self._wrap_pool_connect(self.pool.connect, None),
[1511405008073] File "/var/task/sqlalchemy/engine/base.py", line 2151, in _wrap_pool_connect
[1511405008073] e, dialect, self)
[1511405008073] File "/var/task/sqlalchemy/engine/base.py", line 1465, in _handle_dbapi_exception_noconnection
[1511405008073] exc_info
[1511405008073] File "/var/task/sqlalchemy/util/compat.py", line 203, in raise_from_cause
[1511405008073] reraise(type(exception), exception, tb=exc_tb, cause=cause)
[1511405008073] File "/var/task/sqlalchemy/util/compat.py", line 186, in reraise
[1511405008073] raise value.with_traceback(tb)
[1511405008073] File "/var/task/sqlalchemy/engine/base.py", line 2147, in _wrap_pool_connect
[1511405008073] return fn()
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 387, in connect
[1511405008073] return _ConnectionFairy._checkout(self)
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 766, in _checkout
[1511405008073] fairy = _ConnectionRecord.checkout(pool)
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 516, in checkout
[1511405008073] rec = pool._do_get()
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 1138, in _do_get
[1511405008073] self._dec_overflow()
[1511405008073] File "/var/task/sqlalchemy/util/langhelpers.py", line 66, in __exit__
[1511405008073] compat.reraise(exc_type, exc_value, exc_tb)
[1511405008073] File "/var/task/sqlalchemy/util/compat.py", line 187, in reraise
[1511405008073] raise value
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 1135, in _do_get
[1511405008073] return self._create_connection()
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 333, in _create_connection
[1511405008073] return _ConnectionRecord(self)
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 461, in __init__
[1511405008073] self.__connect(first_connect_check=True)
[1511405008073] File "/var/task/sqlalchemy/pool.py", line 651, in __connect
[1511405008073] connection = pool._invoke_creator(self)
[1511405008073] File "/var/task/sqlalchemy/engine/strategies.py", line 105, in connect
[1511405008073] return dialect.connect(*cargs, **cparams)
[1511405008073] File "/var/task/sqlalchemy/engine/default.py", line 393, in connect
[1511405008073] return self.dbapi.connect(*cargs, **cparams)
[1511405008073] File "/var/task/psycopg2/__init__.py", line 130, in connect
[1511405008073] conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
[1511405008073] sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "dev.******.rds.amazonaws.com" to address: Temporary failure in name resolution
[1511405008074] [INFO] 2017-11-23T02:43:28.74Z 0997510b-cff8-11e7-afe5-e96d3959eab7 47.52.141.165 - - [23/Nov/2017:02:43:28 +0000] "GET / HTTP/1.1" 500 291 "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" 0/20245.424

Not related to this library. Your lambda environment is likely not connected to the same VPC as your database.