我是无服务器和AWS的新手,所以我不确定如何为我的实际处理Lambda设置健康检查端点/healthcheck
,或者是否需要它。我希望能够检查健康状况,即使不访问AWS帐户,也不需要调用实际的Lambda。我使用的只是API网关的一个简单的工作流程>Lambda>DynamoDB。据我所知,服务有可能在所有三个阶段都停止。
我知道Route 53,但我认为它不符合我的要求,因为它反复调用端点,我认为也需要访问AWS帐户。
有可能让/healthcheck
Lambda只返回端点是向上的,如果服务是向下的,则不会返回任何内容,但这似乎不是正确的方法,因为端点永远不会向下返回。
也许AWS健康API报告公共健康事件会起作用,但它似乎以相反的方式起作用——当出现问题时报告,而不是让端点检查自己。这是检查无服务器运行状况的推荐方法吗?
您一直提到Lambda是一个完整的服务,所以如果这就是您的意思,那么AWS会按服务运营一个区域健康页面:https://status.aws.amazon.com/
您还可以使用Health APIhttps://docs.aws.amazon.com/health/latest/ug/monitoring-logging-health-events.html返回"健康"状态,除非它找到Lambda(或任何一个(的指示不健康的条目。
如果你想部署一个Lambda函数,它说"我还活着,可以访问我需要的特定资源",那么,也许你应该开发一个简单的函数来部署在/healthcheck
中,它与真正的函数具有相同的权限,并执行一些小操作,如在DynamoDB中检查和记录一个伪值,以确保它可以访问/读取/修改/删除它,或者它应该在那里做的任何其他事情。它还可以返回一些记录在cloudwatch中的dynamodb表上的简单统计数据,以比在控制台中搜索更简单的方式向您指示表的运行状况(https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html)