我可以根据每个请求更改 AWS Lambda 的公共 IP 吗?

2024-04-18

我希望每次提出请求时都能获得一个新的公共 IP。是否可以有目的地触发我的 IP 被重新配置?


默认情况下,根据您的配置,从 VPC 中一个或多个子网内的私有 IP 调用 Lambda 函数。未配置公共IP#;他们被分配了私有IP。

如果要求为 Lambda 函数分配一个公共IP号码,你需要配置 NAT 网关或 NAT 实例 https://stackoverflow.com/questions/37706095/what-ip-aws-lambda-function-use提供互联网访问,从而提供公共 IP。然后,Lambda 流量将归因于 NAT 网关/实例的公共 IP 地址。

弹性IP地址是根据给定的IP地址分配的NAT网关 http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html但它不能被重新分配——它是静态的。因此 NAT 网关无法满足您的目的。

你必须使用NAT实例 http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html。然后,Lambda 函数需要在每个请求结束时终止/启动 NAT 实例。这将导致 EC2 为您的 NAT 实例分配一个新的公共 IP - 假设它启动的子网配置为在启动时自动分配 IP#。

鉴于此,您必须在每次请求后重新启动 NAT 实例,以便为其分配新的 IP#。此过程将允许每次将每个请求归因于一个新的公共 IP#。

请注意,在 NAT 实例启动/终止阶段,您的 Lambda 函数将无法访问互联网。您可以考虑使用简单队列服务对 Lambda 函数进行排队,以防止对 NAT 实例的争用。

扩展也将成为一个问题,因为这些功能都需要 NAT 实例可用于每次调用。如果正常运行时间和可用性是一个问题,您需要实施 HA 解决方案 https://aws.amazon.com/articles/2781451301784570在 NAT 服务级别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以根据每个请求更改 AWS Lambda 的公共 IP 吗? 的相关文章

随机推荐

  • 根据另一个数组的数据对 numpy 数组进行排序

    我有两组数组data and result result包含相同的元素data但有一个额外的列并且按未排序的顺序 我想重新安排result数组 使其与中的行顺序相同data 同时在排序时将关联值与该行的其余部分一起放入最后一列 data n
  • 使用 Google Apps 脚本批量导入多个条目

    我知道有现有的代码可以构建可以上传多个文件 批量导入 的表单 如下所示使用 Google App 脚本将多个文件上传到 Google Drive https stackoverflow com questions 31126181 uplo
  • requireJS 与文件上传插件

    在requirejs中 我们可以通过以下方式设置js的名称 requirejs config paths jquery cdnjs cloudflare com ajax libs jquery 2 1 0 jquery min js 并将
  • 捕获 UserControl 中的 KeyDown 事件

    我有一个带有多个子控件的用户控件 我需要用户界面对按键做出反应 因此我决定将处理代码放入 MainControl KeyDown 事件中 但是 当我在应用程序中按下某个键时 该事件不会触发 我通过搜索引擎找到了一个依赖于使用 Windows
  • Ajax jquery 异步返回值

    我怎样才能让这段代码返回值无需冻结浏览器 当然 您可以用新方法重写它 function get char val merk var returnValue null ajax type POST async false url char i
  • js 异步/等待不工作

    我正在尝试了解 async await 以及如何使用它们 我正在遵循一些我见过的例子 我认为 但等待实际上并不是在等待ajax响应 这是代码 async function doAjaxGet ajaxurl const result awa
  • 在ggplot2中水平均匀分布点

    我想绘制计数的垂直箱线图 并将计数显示为点 覆盖在箱线图上 因为它们是离散值 所以会有多个点具有相同的值 为了在 ggplot2 中显示数据 我可以使用 geom jitter 来传播数据并获得稍微好一点的印象 但是抖动会破坏值 垂直分量
  • MySQL插入查询优化

    将大量行插入表中时 以下两种方法中哪一种会更快 查询方法一 逐条执行查询 INSERT INTO tbl user id name number VALUES NULL A 9999999999 INSERT INTO tbl user i
  • 更精确的 distance_of_time_in_words

    distance of time in words很棒 但有时不够精细 我需要一个能够以文字报告准确时间距离的函数 例如 上午 7 50 到上午 10 10 的距离应该是 2 小时 20 分钟 而不是 大约 2 小时 或其他什么distan
  • HighChart:多个图表的绘图线单击事件

    我正在使用 highchart 来实现一些向下钻取功能 我有一个功能可以让用户单击面积图并添加一条线 但后来我发现我的函数有一个错误 这些图表之间应该只有一条红线 但是当用户单击另一个图表时 第一个图表上的现有红线不会被删除 以下是我分享的
  • 如何将jupyter笔记本目录中的模块导入到较低目录的笔记本中? [复制]

    这个问题在这里已经有答案了 我使用 Jupyter Notebook 进行数据分析已经有一段时间了 我想在我的 jupyter 笔记本目录中开发一个模块 并能够将该新模块导入到笔记本中 我的jupyter笔记本文件目录可以表示如下 Jupy
  • dataframe.transpose() 没有转置

    我有一个数据框 df5 我想将列转置为行 反之亦然 DayofWeek Avg Shopping Trips Avg Profit 0 5 Saturday 1096 750000 185040 397500 1 6 Sunday 1489
  • Java 6 中的 xerces 序列化

    在 Java 6 中 整个 xerces XML 解析器 序列化器实现现在位于 Java 运行时 rt jar 中 这些包已移至 com sun 命名空间下 这使得它们无法在客户端代码中进行显式引用 使用解析器时这不是问题 解析器是通过 j
  • 为什么 Assert.AreEqual(T obj1, Tobj2) 对于相同的对象会失败

    我有一个包含多个结构的类 public class NavigationMenu public struct NavigationMenuItem public bool Enabled get set public int NumberO
  • Keras:实际使用的 GPU 内存量

    我正在使用带有 Tensorflow 后端的 Keras 并查看nvidia smi不足以了解当前网络架构需要多少内存 因为 Tensorflow 似乎只是分配所有可用内存 那么问题是如何找出真实的GPU内存使用情况 这可以使用时间轴来完成
  • java.lang.NoClassDefFoundError:freemarker/template/TemplateModelException

    尝试打造先进HTML报告使用extentReportsjar 但它抛出以下错误 java lang NoClassDefFoundError freemarker 模板 TemplateModelException Code public
  • 如何从另一个sh文件运行sh文件

    我有一个用于监视我的应用程序的 shell 脚本文件 该脚本将通过设置 cron 作业每 10 分钟执行一次 我想更多一些与监控相关的脚本文件应该与主文件一起执行 所以我想将我的脚本包含到主文件中 如何从主 sh 文件运行这些 sh 文件
  • 如何在Windows8应用程序中使用ReadTextAsync(StorageFile file)同步获取返回值

    基本上 我的代码是一个非常简单的测试 用于在 Windows 8 风格的应用程序中写入和读取文件 这里 首先将字符串 Jessie 写入dataFile txt 然后由程序读取它 以便更新xaml中Textblock的Text属性 从msd
  • 仅在一个模块中修补方法

    例如 我有一些模块 foo py 与下一个代码 import requests def get ip return requests get http jsonip com content 及模块bar py具有类似的代码 import r
  • 我可以根据每个请求更改 AWS Lambda 的公共 IP 吗?

    我希望每次提出请求时都能获得一个新的公共 IP 是否可以有目的地触发我的 IP 被重新配置 默认情况下 根据您的配置 从 VPC 中一个或多个子网内的私有 IP 调用 Lambda 函数 未配置公共IP 他们被分配了私有IP 如果要求为 L