禁用运行状况检查 AWS Beanstalk
Disable Health Check AWS Beanstalk
我在 beantalk 上部署了一个 node.js 服务器,带有应用程序负载均衡器。 node.js 服务器有一个 URL 如下所示:
app.get('/data/:id.json', async function (req, res) {
// do stuff with an API key URL
})
我在这里使用的这个 API 密钥与第 3 方服务(infura,但这并不重要)大约不断被调用。每小时 2000 次,我一直在试图找出原因。
我得出的结论是,这可能是 AWS 的健康检查。有没有办法禁用它,这样我就可以防止我的 API 密钥被滥用并向我收费?
谢谢
您可能希望将健康检查类型更改为 EC2 而不是 ELB。 ELB 验证指定端口是否返回 2xx 代码,而 EC2 仅监视实例可用性。
取决于健康检查的性质,但对于许多项目来说,只是一条路线 = url/path 就像 /healthcheck 那 returns 200.
请记住,健康检查不是功能测试,它只是为了知道应用程序是否存在并响应。
如果你想进行全面检查,你可以有一个自定义路由(检查数据库中的记录...)但不是每 5 秒检查一次延迟,但我根本不推荐它。
所以我给你的建议是,添加另一条路由,路径如 /healthcheck,并且 return 一个 json 响应与 200 代码一样服务器是可以的。对于此路径,不要放置任何安全过滤器(如令牌或 api 密钥检查...)
并在你的 beanstalk 环境中配置它。
我在 beantalk 上部署了一个 node.js 服务器,带有应用程序负载均衡器。 node.js 服务器有一个 URL 如下所示:
app.get('/data/:id.json', async function (req, res) {
// do stuff with an API key URL
})
我在这里使用的这个 API 密钥与第 3 方服务(infura,但这并不重要)大约不断被调用。每小时 2000 次,我一直在试图找出原因。
我得出的结论是,这可能是 AWS 的健康检查。有没有办法禁用它,这样我就可以防止我的 API 密钥被滥用并向我收费?
谢谢
您可能希望将健康检查类型更改为 EC2 而不是 ELB。 ELB 验证指定端口是否返回 2xx 代码,而 EC2 仅监视实例可用性。
取决于健康检查的性质,但对于许多项目来说,只是一条路线 = url/path 就像 /healthcheck 那 returns 200.
请记住,健康检查不是功能测试,它只是为了知道应用程序是否存在并响应。
如果你想进行全面检查,你可以有一个自定义路由(检查数据库中的记录...)但不是每 5 秒检查一次延迟,但我根本不推荐它。
所以我给你的建议是,添加另一条路由,路径如 /healthcheck,并且 return 一个 json 响应与 200 代码一样服务器是可以的。对于此路径,不要放置任何安全过滤器(如令牌或 api 密钥检查...) 并在你的 beanstalk 环境中配置它。