AWS如何从生产环境

问题描述

我创建了一个运行任务定义的ecs服务,该服务定义创建了一个运行flask应用程序的docker容器。 flask应用正在通过http请求获取图像,并返回ML模型推断。

由于我希望此服务在生产环境中运行,因此我创建了一个内部网络负载平衡器,并将其附加到vpc端点服务。 nlb会将请求转发到注册了所有ECS群集实例的目标组。

我有一个API网关,该网关与在同一vpc内配置的lambda函数集成,并且需要从lambda访问ecs服务(通过nlb或vpc端点)

***但是,由于端点无法访问,我不断收到python请求的“超出最大重试次数”。也没有nlb,也没有vpc终结点服务。

请帮助我了解问题所在,或者建议在生产环境中使用其他基础结构来处理这些请求。

** docker容器是有效的,可以直接使用postman进行响应,但是我需要postman发送到API网关并从lambda获取经过编辑的响应。

随附一些我的配置。如果您认为需要更多配置,请告诉我。 谢谢:)

Lambda connection error to endpoint

VPC endpoint service configuration

NLB configurtion and integration

Lambda vpc configuration

解决方法

其余配置似乎都不错,并且可以通过访问EC2中的服务进行验证。

我只能指出一个难题,即在将Lambda函数与VPC相连时,只能使用private subnets。目前,我不确定Lambda函数所连接的子网是私有的还是公共的。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...