amazon-web-services - aws 如何从生产环境中的 lambda 函数访问 ECS 服务
问题描述
我创建了一个运行任务定义的 ecs 服务,该任务定义创建了一个运行烧瓶应用程序的 docker 容器。烧瓶应用程序通过 http 请求获取图像并返回 ML 模型推理。
由于我希望此服务在生产环境中运行,因此我创建了一个内部网络负载均衡器,并将其附加到 vpc 端点服务。nlb 将请求转发到注册所有 ECS 集群实例的目标组。
我有一个 API 网关,它与在同一 vpc 内配置的 lambda 函数集成,并且我需要从 lambda 访问 ecs 服务(通过 nlb 或 vpc 端点)
*** 但是,我不断收到 python 请求的“超出最大重试次数”-因为端点无法访问。也不是 nlb,也不是 vpc 端点服务。
请帮助我了解问题所在,或建议在生产环境中处理这些请求的其他基础架构。
** docker 容器有效并直接使用邮递员进行响应,但我需要邮递员发送到 API 网关并从 lambda 获取编辑后的响应。
附上我的一些配置。如果您认为需要更多配置,请告诉我。谢谢:)
解决方案
您的其余配置似乎没问题,并通过访问 EC2 内的服务进行验证。
我只能指出一个难题,即在将您的 Lambda 函数与 VPC 连接时,仅使用private subnets
. 目前,我不确定附加到您的 Lambda 函数的子网是私有的还是公有的。
推荐阅读
- sql-server - 从日期范围中获取两个日期之间的 DAYs 数据
- sql-server - 无法打开登录请求的数据库“dataname”。登录失败。用户登录失败
- javascript - Javascript过滤器选择而不是复选框
- html - 为什么我的填充仅在元素处于悬停状态时显示?
- algorithm - 谷歌键盘使用哪种算法进行自动建议(包括个人词汇)?
- html - 为什么引导类 d-sm-none 仍然在小屏幕上显示图像
- hibernate - 如何隐藏或屏蔽由 Hibernate 的 API 生成的记录器(数据库连接详细信息)
- android - 从 Lottie 获取的自定义动画的 ContentLoadingProgressBar 行为
- .net - 从函数应用服务的代码中加载证书
- powershell - 方法调用失败,因为 X 不包含名为“op_Subtraction”的方法