【问题标题】:Can AWS Lambdas receive inbound TCP connections?AWS Lambda 可以接收入站 TCP 连接吗?
【发布时间】:2018-08-07 17:54:15
【问题描述】:

有什么方法可以让 AWS lambda 接收入站 TCP 连接(例如来自另一个 lambda)?

编辑:我不是在问是否可以从另一个调用 lambda。

【问题讨论】:

  • 这不是同一个问题。我说的是接收 TCP 连接,而不是调用 lambda。
  • 任何用户案例了解详情? Lambda 作为无服务器服务运行,您不知道它的 IP,因此对于入站 TCP 流量无用。
  • 我想lambda可以在一些外部服务(例如S3)中发布IP

标签: amazon-web-services amazon-ec2 aws-lambda


【解决方案1】:

不,不直接。您只能通过 HTTP/HTTPS 通过 API 网关连接到 Lambda。您的 lambda 函数将获得一个 HTTP 端点,但它解析为的 IP 地址仍然是 API 网关,而不是您的 lambda 函数。 Invoke a AWS Lambda function by a http request

为什么?

我怀疑这是因为每个 lambda 函数与位于 VM 上的许多其他 lambda 函数共享其 IP 地址。它们在 EC2 实例之上的容器上运行,因此您将有多个客户在同一个 IP 地址上运行。我没有看到详细说明 AWS 真正在做什么的文档,但我猜每个容器都在不同的端口上运行,因此要直接连接到容器,您需要知道“当前”端口而不仅仅是 IP 地址。最重要的是,没有理由为容器提供公共 IP 地址。他们可能都生活在一个私有子网中。

如果您需要更多确认信息,您可以探索 AWS lambda 控制台,除了 API 网关的 HTTP 端点之外,找不到任何 lambda 属性。如果你用谷歌搜索 SDK 文档,你不会遇到任何 IP 地址检索功能。

【讨论】:

    【解决方案2】:

    没有。

    我确信 AWS 出于显而易见的原因将其锁定。

    除了每个容器只有在某些东西不断调用它时才存活,并在大约五分钟不使用后死亡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-29
      • 2023-01-24
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多