AWS Lambda 中的 Web 挂钩侦听器
Web hook listener in AWS Lambda
我正在为我们现有的一个生产系统编写一个简单的监控系统。被监视的系统是一个 SMPP 网关。基本要求是以给定的频率向 SMPP 网关发送消息并通过 Web 挂钩接收消息。这是为了确保 SMPP 网关按预期运行,否则会触发电子邮件警报。
这是我程序的流程:
- 连接到 SMPP 网关
- 在新线程(服务器)上启动网络挂钩侦听器
- 发送测试消息
- 侦听传入的网络挂钩并通过事件通知父线程
- 如果收到消息web hook,优雅退出,否则触发邮件告警。
我已经在 AWS Lambda 中实现了这个系统,并通过将 Lambda 函数放在 VPC 中来分配弹性 IP。我能够将消息发送到 SMPP 网关,并且网关正在尝试通过 Web 挂钩进行响应。但不幸的是,服务器无法通过指定的弹性 IP 访问 Web 钩子侦听器。我四处搜索,发现在 AWS Lambda 中实现 Web 挂钩侦听器的一种方法是使用 API 网关触发器。这没有用,因为这不能保证通过 SMPP 发送消息的同一个 Lambda 实例将收到 Web 挂钩请求。
所以我的问题是,是否可以 运行 AWS Lambda 中的网络挂钩侦听器并通过附加的弹性 IP 接收请求?
不,无法 运行 AWS Lambda 中的网络挂钩侦听器并通过附加的弹性 IP 接收请求。
VPC 内的 Lambda 函数通过与容器主机关联的 ENI 使用附加到 NAT 网关的弹性 IP 向 Internet 发出出站请求。 ENI 和 EIP 都不会专门绑定到单个 Lambda 调用。 Lambda 函数在技术上允许侦听入站连接......但它们永远不会通过 ENI 到达,并且 NAT 网关也经过专门设计,不允许从外部发起的连接返回。所以至少有两个阻止您尝试以这种方式完成的设计层。
我正在为我们现有的一个生产系统编写一个简单的监控系统。被监视的系统是一个 SMPP 网关。基本要求是以给定的频率向 SMPP 网关发送消息并通过 Web 挂钩接收消息。这是为了确保 SMPP 网关按预期运行,否则会触发电子邮件警报。
这是我程序的流程:
- 连接到 SMPP 网关
- 在新线程(服务器)上启动网络挂钩侦听器
- 发送测试消息
- 侦听传入的网络挂钩并通过事件通知父线程
- 如果收到消息web hook,优雅退出,否则触发邮件告警。
我已经在 AWS Lambda 中实现了这个系统,并通过将 Lambda 函数放在 VPC 中来分配弹性 IP。我能够将消息发送到 SMPP 网关,并且网关正在尝试通过 Web 挂钩进行响应。但不幸的是,服务器无法通过指定的弹性 IP 访问 Web 钩子侦听器。我四处搜索,发现在 AWS Lambda 中实现 Web 挂钩侦听器的一种方法是使用 API 网关触发器。这没有用,因为这不能保证通过 SMPP 发送消息的同一个 Lambda 实例将收到 Web 挂钩请求。
所以我的问题是,是否可以 运行 AWS Lambda 中的网络挂钩侦听器并通过附加的弹性 IP 接收请求?
不,无法 运行 AWS Lambda 中的网络挂钩侦听器并通过附加的弹性 IP 接收请求。
VPC 内的 Lambda 函数通过与容器主机关联的 ENI 使用附加到 NAT 网关的弹性 IP 向 Internet 发出出站请求。 ENI 和 EIP 都不会专门绑定到单个 Lambda 调用。 Lambda 函数在技术上允许侦听入站连接......但它们永远不会通过 ENI 到达,并且 NAT 网关也经过专门设计,不允许从外部发起的连接返回。所以至少有两个阻止您尝试以这种方式完成的设计层。