初次使用AWS:使用哪项服务能够重复 ping API 终端点并保持在免费套餐内?

0

【以下的问题经过翻译处理】 正如我之前所提到的,我是AWS的新手,正在尝试规划一个个人项目。我有一个API,我想从中获取近乎实时更新,但是该API没有通知服务(尚未)。我的目标是以极限速率 ping 它以检测更新,当某些更新通过时,我想从这些更新中获取数据并存储它们。我目前有两个想法:

EC2实例ping终端节点->当我找到所需的某些更新时发送SQS消息->数据转换的lambda(和另一个API调用)->存储在dynamodb中以便以后访问

限制:

*如果对此API的更新比请求速率限制更频繁,则我需要从多个实例/不同IP地址进行请求 *为了保持最新,这需要24/7 EC2运行时间,我想象这将会很昂贵,我不想在这个个人项目上花费太多

另一个想法是相同的过程,但所有API调用都将来自lambda函数(从EC2实例调用)以获得更多的API请求和更多的数据。绕过API速率限制以保持对我正在寻找的数据的最新状态

限制:

*24/7 EC2运行时间加上显著更多的Lambda调用。这将更加昂贵

我会感激任何人提供建议,以帮助我尽可能保持在免费套餐!

profile picture
专家
已提问 3 个月前7 查看次数
1 回答
0

【以下的回答经过翻译处理】 根据一些数字,使用 Lambda 可能是值得的。假设:

1.一个月有2629800秒。 2. 您可以使用最便宜的 Lambda 进行检查 (128 MB),在最便宜的地区每秒花费 0.000001666675 + 每次调用 0.0000002(官方文档) . 3. Tu 是您检测更新所花费的时间。 4. Tc 是检查(lambda 执行)间隔的时间。

您每月使用 Lambda 的费用为 Tu * 0.000001666675 * (2629800 / Tc) + (2629800 / Tc) * 0.0000002 = (4.383Tu + 0.526)/Tc

你对 Tu 没有太多的控制权,尽管你可以优化函数使其更快。假设您使用的是 Python 之类的东西,并且每次检查需要 200 毫秒。现在你有: Cost = 1.4/Tc

如果您接受每秒检查一次,我们说的是 1.4 美元/月,这比最便宜地区的任何按需 EC2 实例都便宜。如果您需要更快的检查,拥有一个非常小的 EC2 实例,例如 t4g.nano,全天候 24/7 花费大约每月 3 美元,同样,在最便宜的地区。所以这完全取决于您对近乎实时更新的定义。

profile picture
专家
已回答 3 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则