AWS Lambda 函数能否通过 *** 调用终端节点?

Posted

技术标签:

【中文标题】AWS Lambda 函数能否通过 *** 调用终端节点?【英文标题】:Can AWS Lambda function call an endpoint over a ***? 【发布时间】:2022-01-19 20:14:57 【问题描述】:

我正在使用当地移动运营商提供的 SMS 发送服务。 运营商强制客户通过 *** 连接到他们的数据中心,以到达他们的端点。 *** 隧道必须始终保持打开状态(即非按需)。

目前,我正在使用一个微型 EC2 实例,它充当我的主要生产服务器(也是一个 EC2 实例)和运营商端点之间的中间件。

生产服务器 --> 我的短信服务器 --over ***--> 运营商短信服务器

有没有办法将我的中间件服务器替换为 AWS Lambda 函数,该函数通过始终开启的 *** 隧道向运营商发送 HTTP 请求?

另外,AWS Lambda 函数能否维护静态 IP? 运营商必须先将我的 IP 加入他们的白名单,然后我才能使用他们的服务。

【问题讨论】:

不,AWS Lambda 函数不能有静态 IP。如果他们通过 NAT 路由出站流量,则 NAT 设备可能具有静态 IP。 @gusto2 微型 EC2 实例有 2 个用途。 1)***客户端到运营商的***服务器。 2) Web API 服务器(从主生产服务器获取请求,然后将请求转发到运营商的端点) 运营商需要你的***网关IP还是VPC的内部IP?也许他们可以允许整个子网? EC2 实例的公共 IP 需要是静态的,以便他们可以将其列入白名单 你想用 lambda 替换微实例?您打算如何保持 *** 正常运行?默认 AWS 站点到站点 ***? 【参考方案1】:

s2s*** 会很棒,但我的问题是 lambda 函数 HTTP 请求能否通过该连接路由?

当然。 Lambda 可以附加一个 VPC 子网。这是配置子网路由表/***配置以通过***端点将流量路由到运营商的问题。

另外,AWS Lambda 函数能否维护静态 IP?

没有。要看。附加 VPC 的 Lambda 将在具有内部(非固定)子网 IP 地址的子网中创建一个 eni(网络接口)。但流量可以通过固定的 NAT 或 *** 网关路由。

这就是我询问需要在什么级别修复哪个 IP 地址的原因。 *** 有一个固定的 IP 地址。如果运营商强制将 *** 地址列入白名单,则 lambda 客户端应该可以工作。如果需要内部网络的固定 IP,那么您将需要一个固定的网络接口(例如使用 EC2)

【讨论】:

以上是关于AWS Lambda 函数能否通过 *** 调用终端节点?的主要内容,如果未能解决你的问题,请参考以下文章

通过 SDK 获得权限的 AWS Lambda 函数调用策略问题

AWS Appsync 从 Lambda 调用变异?

AWS SDK (PHP):异步调用 lambda 函数,检索状态

AWS lambda 调用不调用另一个 lambda 函数 - Node.js

AWS Lambda 别名简介

AWS lambda 函数调用另一个带参数的 lambda 函数