【问题标题】:AWS Lambda connecting DocumentDb instance got MongoServerSelectionError: getaddrinfo EAI_AGAINAWS Lambda 连接 DocumentDb 实例得到 MongoServerSelectionError: getaddrinfo EAI_AGAIN
【发布时间】:2021-10-20 13:00:52
【问题描述】:

尝试将 lambda 连接到 documentdb 时出现以下错误日志。

TART RequestId: 0946e4e9-9364-4af2-9802-7ea2d8b946d5 Version: $LATEST
2021-08-18T16:25:11.958Z    0946e4e9-9364-4af2-9802-7ea2d8b946d5    INFO    insideHandler
2021-08-18T16:25:42.296Z    0946e4e9-9364-4af2-9802-7ea2d8b946d5    ERROR   MongoServerSelectionError: getaddrinfo EAI_AGAIN sample-dev-01-instance1.abcde.us-east-1.docdb.amazonaws.com
    at Timeout._onTimeout (/var/task/node_modules/mongodb/lib/sdam/topology.js:325:38)
    at listOnTimeout (internal/timers.js:557:17)
    at processTimers (internal/timers.js:500:7) {
  reason: TopologyDescription {
    type: 'Unknown',
    servers: Map(1) {
      'sample-dev-01-instance1.abcde.us-east-1.docdb.amazonaws.com:27017' => [ServerDescription]
    },
    stale: false,
    compatible: true,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    logicalSessionTimeoutMinutes: undefined
  }
}

lambda 的 VPC 与 documentdb 实例相同。 nodejs代码在本地运行时成功连接实例,但在lambda中出现问题。

const { MongoClient } = require('mongodb');

exports.handler = async(event, context) => {
    console.log("insideHandler");
    const uri = 'mongodb://username:password@sample-dev-01-instance1.abcde.us-east-1.docdb.amazonaws.com:27017';
    const client = new MongoClient(uri, {
        useNewUrlParser: true,
        ssl: true,
        tlsCAFile: `rds-combined-ca-bundle.pem`, //Specify the DocDB; cert
        retryWrites: false
    });
    try {
        await client.connect();
        console.log("connect successfully");
        return {
            statusCode: 200,
            body: JSON.stringify({ message: 'connect successfully' })
        }
    }
    catch (e) {
        console.error(e);
    }
};
enter code here

【问题讨论】:

    标签: node.js mongodb amazon-web-services aws-lambda aws-documentdb


    【解决方案1】:

    EAI_AGAIN 是 DNS 查找超时错误,表示它是网络连接错误或代理相关错误。您能否确认 Lambda 函数是否使用与 DocumentDB 集群相同的安全组?

    【讨论】:

      猜你喜欢
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多