我已根据AWS文档使用网络负载均衡器(NLB)创建了VPC链接,并将其附加到API网关资源/方法 . 但是在访问“调用URL”时会抛出“内部服务器错误”并在测试时显示此错误:“由于配置错误导致执行失败:执行请求时出现内部错误” .

Procedure I followed:

1)创建网络负载均衡器:

  • 负载均衡器方案:内部

  • 负载均衡器协议/端口:TCP / 80

  • 可用区:使用CIDR "10.0.0.0/16"创建VPC,使用CIDR "1XX.XX.0.0/16"创建公有子网 .

  • 目标组:协议/端口/目标类型 - TCP / 80 /实例

  • 无目标注册 .

  • 推出NLB .

2)使用新创建的NLB在API网关中创建VPC链接 .

3)创建新的API:

4)使用“Deploy API”操作和新创建的阶段部署所选API .

5)在“Stage Variables”部分中配置“vpcLinkId” .

现在,如果我点击“调用URL”,网页将显示“{”消息“:”内部服务器错误“}” .

Note: 如果我使用与"Integration Type : HTTP"相同的EC2网址,"Invoke URL"可以使用 . 同样不适用于VPC Link .

Error:

enter image description here

Other Points Worth Noting:

  • 在具有安全策略的EC2实例中将允许所有TCP端口 .

  • EC2实例是使用ECS / ECR(Docker Container)启动的 .

  • 从API网关阶段启用了Cloud Watch日志,但它不生成任何内容 .

如果需要,我很乐意提供更多信息 .

EDIT 1

基于JNY(jny)输入,我已将API网关 endpoints 更改为NLB,并在NLB中将我的EC2实例添加为Target . 我仍然面临同样的问题 . 下面的图片将显示我所做的所有配置 .

Load Balancer Config:

enter image description here

Load Balancer Target Group settings:

enter image description here

Target Group Port Settings:

  • 这里我已经将3000作为端口来检查实例运行状况,因为我的应用程序(节点)侦听了3000端口 .

  • 在安全策略中启用端口号80和3000 .

enter image description here

enter image description here

API Gateway Settings:

  • 最后,我将API网关的 endpoints 更改为NLB

enter image description here

Result of the same:

enter image description here

我仍然不确定我在这里犯的是什么错误 .