【问题标题】:PyMySql in AWS Lambda - Connection Reset By PeerAWS Lambda 中的 PyMySql - 对等点重置连接
【发布时间】:2019-03-20 05:03:55
【问题描述】:

我目前正在尝试使用 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 for SQL Server 中利用任何其他服务或库,请告诉我!

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

【问题讨论】:

  • Lambda 函数是否配置为在 VPC 内运行?另外,您的本地服务器前是否有防火墙需要打开?
  • 我应该提到,是的,我的 lambda 在 VPC 中运行。不,本地数据库前面不应该有防火墙客栈。我现在正在验证。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-11-23
    • 2018-06-30
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    相关资源
    最近更新 更多