amazon-web-services - 如何为 Route53 -> EC2 -> API 端点反向代理路径设置 HTTP 测试
问题描述
我已经构建了一个 EC2 反向代理 (Nginx),它通过 Internet 与外部 API 端点进行通信。我有一个 Route53 DNS,其 A 记录链接到我的 EC2。有几个端点(Nginx 位置),根据您点击的 url,您被重定向到特定的代理位置,并转发到外部 API 上的正确端点。这一切都很好。
现在我想创建某种类型的作业,它会定期测试这个过程,以确保它正在运行并通知我如果它不是。AWS 有这么多工具,我想我需要使用 Lambda 和 API Gateway。
我想通过 EC2 访问我的 url(Route53 DNS)并接收来自端点服务器的响应。我的网站可以做到这一点,邮递员可以,但我无法弄清楚如何以自动方式完成此操作并根据响应值提醒我。
如何测试我的完整路径(www.example.com/option -> nginxEC2 path('/option') -> www.endpoint.com/option)并根据结果获得通知。
编辑:我需要能够用这个发送一个身体。如果我在没有正文的情况下发送它,服务器返回 404,如果我可以发送正文/有效负载,我会得到响应。
编辑:基本上是在寻找一种方法来访问我的 DNS,它通过 A 记录路由到我的反向代理,到端点。我只需要向域发出 HTTP 请求,然后获取并回复并知道状态码。
Mark B 的解决方案是最接近的,因为他发送给我的免费网站可以选择为此服务付费。再开几天。
解决方案
您绝对不需要 API Gateway。这根本不会帮助你测试这个。API Gateway 只会为您提供需要测试的全新 API。
正如您所提到的,您可以为此使用 Lambda。您将编写一个 Lambda 函数来访问您要测试的 URL,检查结果,并在失败时通过 SES 或 SNS 或其他方式向您发送消息。Lambda 函数可以配置为按计划自动运行。
但是,AWS 已经有一项服务可以满足您的需求:Route53 Health Checks。
您所描述的称为 HTTP 健康检查或 HTTP 正常运行时间监视器。提供此功能的服务有很多,其中一些是免费的。
推荐阅读
- oracle - Hibernate SQL 命令未正确结束
- java - 如何从 ActionMapping 重定向到确定的 RenderMapping
- html - CSS边框点之间的间距相等?
- node.js - 单线程、事件驱动的 I/O 系统是什么意思?
- javascript - Jquery微调器旋转事件延迟值
- javascript - Google Charts:在图表中设置准确的日期边界(使用 FilterSliders 时)
- matplotlib - 在 Pytorch 中绘制 torch.tensor:尺寸错误无效
- python - python 代码中以 10 0:00 为底的 int() 的无效文字
- python - SQL Server pyodbc 大文本插入问题
- list - 一个函数,它根据第一个索引列表从第二个列表中获取相应的元素