首页 > 解决方案 > 生成 AWS Lamba 使用的 IP 列表

问题描述

我有一个 IoT Enterprise 按钮​​(按下时)会触发 Lambda 函数。Lambda 函数向我的飞利浦 HUE 网桥发送一个 API“放置”请求,该网桥打开(或关闭)我的客厅灯。

100% 完成了这么多。生活很好。

我的问题:
是否有特定的 AWS 服务用于“发送”API 请求?
我假设AWS Lambda服务执行此操作。但也许不是...

我需要创建一个防火墙规则,(仅)允许“Lambda 服务器”通过我的防火墙。
如果目标 IP = 我的 WAN IP。
如果目标端口 = ##。

我找到了以下资源,它解释了如何列出 AWS 拥有的所有 IP。
https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html

以下是参考指南的引述:

service
The subset of IP address ranges. The addresses listed for API_GATEWAY are egress only.
Specify AMAZON to get all IP address ranges (meaning that every subset is also
in the AMAZON subset). However, some IP address ranges are only in the AMAZON subset
(meaning that they are not also available in another subset).

Type: String

Valid values:
AMAZON | AMAZON_CONNECT | API_GATEWAY | CLOUD9 | CLOUDFRONT |
CODEBUILD | DYNAMODB | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR |
ROUTE53 | ROUTE53_HEALTHCHECKS | S3 | WORKSPACES_GATEWAYS

如您所见,“Labda”不是有效的(服务)字符串值。我想我可以允许来自“us-east-1”AWS 区域的任何 IP。然而,这(仍然)对我来说太宽容了。(225 个子网)相比之下,如果您将“EC2”指定为服务,则会将列表缩小到 82 个子网。

(提前)感谢您的有用见解!

标签: jsonamazon-web-servicesaws-lambda

解决方案


如果您想限制一组特定的 IP(在 AWS 公共区域之外),您需要在私有子网中的 VPC 内运行 Lambda,然后分配一个带有 EIP 的 NAT 网关。

查看更多:https ://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/


推荐阅读