gpt4 book ai didi

amazon-web-services - 不带NAT的带Elasticache Redis的AWS Lambda

转载 作者:行者123 更新时间:2023-12-03 06:45:07 25 4
gpt4 key购买 nike

我要提一下我的需求和我目前所拥有的,请耐心等待。首先,一个lambda函数说 F1 ,该函数在被调用时将从站点获得100个链接。这些链接中的大多数都说大约95与上一次调用F1时相同,因此必须仅使用这5个"new"链接进行进一步处理。一种解决方案是将已经处理的链接写入Dynamodb数据库,每次调用F1时,查询数据库并跳过这些链接。但是我发现“数据库读取”虽然在几毫秒内就使lambda运行时加倍,并且尤其是在频繁调用F1并说有百万个已处理链接的情况下,这可以加起来。因此,我决定将Elasticache与Redis一起使用。

我很快发现,只有当F1在同一VPC上运行时,才能访问Redis,并且因为F1需要访问Internet,所以您需要NAT。 (我对网络了解不多),所以我遵循了指导方针,并设置了VPC和NAT,并使一切正常工作。我对性能改进感到非常满意,几乎将预期的Lambda成本降低了一半,达到每月30美元。但是后来我发现NAT不包含在免费套餐中,我每月仅需为NAT支付近30美元。这对我来说并不理想,因为该项目可能要进行数月的开发,而且我觉得我为互联网访问支付的费用与计算相同。

我想知道我是否犯了任何根本性的错误。我是否以正确的方式使用Elasticache?是否有更好的方式访问Redis和Internet?有没有办法以不同的方式构造我的堆栈,以便我可以保持性能,而在免费套餐结束后基本上不必支付两倍的费用。也许添加另一个lambda函数?我没什么主意非常感谢分钟的任何改进。谢谢。

最佳答案

有很多方法可以做到这一点,并且它们都有一些权衡。其他一些想法供您考虑:

  • 在没有VPC的情况下运行F1。它不需要NAT就可以直接连接到DynamoDB,从而节省了NAT网关的成本。
  • micro EC2实例上而不是Lambda上运行函数,并将链接查找持久化到本地磁盘甚至本地Redis上的某些文件。在无服务器的大肆宣传下,我认为人们有时会高估仅运行操作系统的难度(和稳定性)。管理起来不是那么困难,它很容易设置备份,并且可以根据您的可用性要求和其他需求来选择。
  • 将链接数据保存到S3,并将VPC端点设置为S3 gateway endpoint。不知道它是否足够快以满足您的需求。
  • 关于amazon-web-services - 不带NAT的带Elasticache Redis的AWS Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60593344/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com