【问题标题】:Disable Health Check AWS Beanstalk禁用运行状况检查 AWS Beanstalk
【发布时间】:2022-01-19 16:30:34
【问题描述】:

我在 beanstalk 上部署了一个 node.js 服务器,带有一个应用程序负载平衡器。 node.js 服务器的 URL 如下所示:

app.get('/data/:id.json', async function (req, res) {
     // do stuff with an API key URL
})

我在这里与第 3 方服务(infura,但这并不重要)一起使用的这个 API 密钥,大约一直被调用。每小时 2k 次,我一直试图找出原因。

我得出的结论是,这可能是 AWS 的健康检查。有没有办法禁用它,这样我就可以防止我的 API 密钥被滥用和向我收费?

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk aws-application-load-balancer health-check


    【解决方案1】:

    取决于健康检查的性质,但对于许多项目来说,只是一个返回 200 的 route = url/path,如 /healthcheck

    请记住,健康检查不是功能测试,它只是为了知道应用程序处于活动状态并做出响应。

    如果您想进行全面检查,您可以使用自定义路由(检查 db 中的记录...),但延迟检查不是每 5 秒一次,但我根本不建议这样做。

    所以我给你的建议是,添加另一个路由,路径如 /healthcheck,并返回一个带有 200 代码的 json 响应,如 server 就可以了。对于此路径,不要放置任何安全过滤器(如令牌或 api 密钥检查...) 并在您的 beanstalk 环境中配置它。

    【讨论】:

    • 啊,这很有道理,非常感谢!请参阅下面的评论,但 /healthcheck 是合乎逻辑的,因此它实际上不是 AWS 滥用该链接,而是 Opensea。
    • 是的,埃文,希望它清楚!
    【解决方案2】:

    您可能希望将运行状况检查类型更改为 EC2 而不是 ELB。 ELB 验证指定端口是否返回 2xx 代码,而 EC2 仅监视实例可用性。

    【讨论】:

    • 啊,好的,谢谢!作为更新,我刚刚意识到我的 API 被滥用的原因是因为它与托管在 NFT 上的 NFT 相关联,并且 NFT 会定期从导致问题的服务器请求数据,所以我可能会关闭这个问题。非常感谢答案/有意义
    猜你喜欢
    • 2015-11-16
    • 2013-11-13
    • 2018-11-07
    • 2018-11-02
    • 2016-10-31
    • 1970-01-01
    • 2020-11-10
    • 2016-06-14
    • 2019-04-25
    相关资源
    最近更新 更多