json - 生成 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 个子网。
(提前)感谢您的有用见解!
解决方案
如果您想限制一组特定的 IP(在 AWS 公共区域之外),您需要在私有子网中的 VPC 内运行 Lambda,然后分配一个带有 EIP 的 NAT 网关。
查看更多:https ://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/
推荐阅读
- java - 如何在 jsonobject 中设置数组值
- php - 数据显示不正确
- python - Pytest:如何找到 FutureWarning 并修复它?
- asp.net-core - 如何在 ASP.NET Core 3.1 中修改 ViewComponent 结果
- python - 为什么 tf.reduce_mean() 返回 NaN 值?我正在尝试计算均方误差,但我不断得到 NaN 值
- javascript - 嵌套块的高度总和
- django - 在 DRF 序列化程序更新函数中验证_data.get 函数中发送 instance.title 作为第二个参数的目的是什么
- amazon-web-services - 为什么 Cloudfront 不缓存白名单查询参数
- python - 如何使用 Python 将 docx 转换为 doc?
- c - 将字符串传递给C中的int变量?