【问题标题】:AWS Lambda cannot reach internal servers from within VPCAWS Lambda 无法从 VPC 内访问内部服务器
【发布时间】:2019-11-07 21:39:01
【问题描述】:

我有一个 lambda,它试图对 AWS 之外的本地服务器进行 REST 调用。我们的 lambda 从一个 VPC 运行,该 VPC 与我们的本地资源有 VPN 连接。使用 VPC 从 EC2 成功运行相同的 rest 调用,但 lambda 请求挂起。安全组是开放的。有什么想法可以调试吗?

这是 lambda 的大部分内容

def lambda_handler(event, context):
    config = configparser.ConfigParser()
    config.read('config')

    pattern = re.compile(".*"+config['DEFAULT']['my-pattern'])
    logger.info(event['Records'])
    sns_json = event['Records'][0]['Sns']
    sns_message = json.loads(sns_json['Message'])
    logger.info(sns_message['Records'][0]['s3'])
    s3_object = sns_message['Records'][0]['s3']
    new_file_name = s3_object['object']['key']
    bucket = s3_object['bucket']['name']
    if pattern.match(new_file_name):
        new_json = {"text": "New file (" + new_file_name + ") added to the bucket. " + bucket,
                   "title": config['DEFAULT']['default_message_title']}
        webhook_post = requests.get("http://some-ip:4500/")
        logger.info("Webhook Post Status: " + str(webhook_post.status_code) + str(webhook_post))
        logger.info("Skip teams webhook");
        outgoing_message_dict = {
            's3Bucket': bucket,
            'somefile': new_file_name
        }
        return outgoing_message_dict

我没有收到来自请求的任何错误,它只是挂起,直到我的 lambda 超时。

【问题讨论】:

  • 当您的 lambda 在 VPC 之外时会发生什么?你的 lambda 是在私有子网还是公共子网中?
  • Lambda 函数是否连接到与您说有效的 EC2 实例相同的子网? some-ip 是公共 IP 地址还是私有 IP 地址(例如 10.)? EC2 实例是在公有子网还是私有子网中工作?
  • @john Lambda 运行在与 EC2 相同的私有子网上。
  • @deosha Lambda 在 VPC 之外运行良好,但我当然无法访问我的内部资源。
  • 您在自己的 prem 防火墙中打开了哪个 IP?对于 EC2,它会起作用,因为您可以在自己的 prem 防火墙上打开私有 IP。 Lambda 没有静态 IP

标签: amazon-web-services aws-lambda vpn vpc


【解决方案1】:

我相信我找到了问题的根源。最终,我相信问题出在我们的本地防火墙上。 VPN 隧道并非始终处于活动状态。其他人提到它需要从本地网络激活。我创建了一个 ec2 实例并连接到它,激活了 VPN。我不久之后我跑了什么,我可以成功地到达我尝试连接的本地休息端点。

我还没有实现最终的解决方案,但是从防火墙我们应该能够将连接设置为保持活动 ping,这样我们的连接就不会超时。我希望这对其他人有帮助。感谢您的反馈!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多