AWS Lambda中的PyMySql-对等连接重置

时间:2018-10-15 17:58:11

标签: python sql-server python-3.x aws-lambda pymysql

我目前正在尝试使用AWS Lambda中的PyMySql python库在本地环境中查询Sql Server。

我要做的就是使用以下代码创建我的连接对象:

import pymysql

def lambda_handler(event, context):
    conn = pymysql.connect(
        host = 'MYSERVER',
        port = 1433,
        user = 'acctname',
        passwd = 'acctpass',
        db = 'dbName'
    )

如果没有以下错误消息,我什至无法克服:

(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')

我可以确认端口和凭据正确。

我希望这不是AWS中lambda的限制。如果我可以从Lambda中获得用于SQL Server的其他服务或库,请告诉我!

编辑:我的lambda在连接到本地环境的VPC中运行。

1 个答案:

答案 0 :(得分:0)

要使在VPC内运行的AWS Lambda函数访问VPC之外的任何内容,它必须位于VPC的私有子网中,该子网中包含到NAT网关的路由。 VPC内的Lambda函数无法获得公共IP地址,因此您必须通过NAT提供Internet访问。