我有一个在EC2中运行的应用程序,它监听许多端口,一些外部设备连接到这些端口以将数据发送到我的应用程序。这很好,但我的客户端要求我必须监控这些端口,如果其中一个端口停止监听,则必须终止实例并启动新实例。
我正在阅读有关canwatch的信息,但我没有发现可以自定义的警报(向端口发出请求)。是否可以使用cloudwatch执行此操作?我正在寻找创建此监控的方向,使用内部aws服务或开发新的解决方案(可能是一个剪切脚本)。
谢谢!
答案 0 :(得分:0)
我不知道任何AWS为自定义检查提供了EC2健康检查监控系统。
您可以编写AWS lambda函数,将请求发送到您需要的EC2实例上的端口。然后,您可以使用Cloudwatch Events以您想要的任何频率定期运行schedule that lambda。 lambda函数可以publish这作为cloudwatch的度量标准,这样你就可以在警报中使用它,从而在你认为合理的阈值启动新的替换实例时采取行动。
AWS的一部分确实具有内置的内置功能,但ECS。您可以拥有一个Docker实例(在EC2实例或Fargate上运行)而不是EC2实例,该实例可以有healthchecks defined。
答案 1 :(得分:0)
有许多方法可以满足您的要求。
TerminateInstance
API或使用AWS CLI终止当前实例。不用说,您需要传递AWS凭据或附加具有足够权限的实例配置文件来终止实例。