gpt4 book ai didi

amazon-web-services - 使用带有 VPC Link 的 AWS API Gateway 时如何避免配置错误?

转载 作者:行者123 更新时间:2023-12-03 13:42:07 25 4
gpt4 key购买 nike

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

我遵循的程序:

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

  • 负载均衡器方案:内部
  • 负载均衡器协议(protocol)/端口:TCP/80
  • 可用区:创建了 CIDR 为“10.0.0.0/16”的 VPC 和 CIDR 为“1XX.XX.0.0/16”的公共(public)子网。
  • 目标组:协议(protocol)/端口/目标类型 - TCP/80/实例
  • 没有目标注册。
  • 推出 NLB。

  • 2) 使用新创建的 NLB 在 API Gateway 中创建 VPC Link。

    3)创建新的API:
  • 方法:获取
  • 集成类型:VPC链接
  • 使用代理集成:真
  • VPC 链接:${stageVariables.vpcLinkId}
  • 端点 URL:“我的 ec2 实例 URL 和端口”(例如:http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:3000)
  • 创建 API 资源。

  • 4) 使用“部署 API”操作和新创建的阶段部署选定的 API。

    5) 在“阶段变量”部分配置“vpcLinkId”。

    现在,如果我点击“调用 URL”,网页会显示“{“message”:“内部服务器错误”}。

    注:如果我使用与“集成类型:HTTP”相同的 EC2 url,则“调用 URL”有效。同样不适用于 VPC 链接。

    错误:

    enter image description here

    其他值得注意的点:
  • 在具有安全策略的 EC2 实例中将允许所有 TCP 端口。
  • EC2 实例是使用 ECS/ECR(Docker Container)启动的。
  • 从 API Gateway 阶段启用 Cloud Watch 日志,但它什么也没产生。

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

    编辑 1

    根据 JNY 的 (jny) 输入,我已将 API 网关端点更改为 NLB,并将我的 EC2 实例添加为 NLB 中的目标。我仍然面临同样的问题。下面的图片将显示我所做的所有配置。

    负载均衡器配置:

    enter image description here

    负载均衡器目标组设置:

    enter image description here

    目标组端口设置:
  • 在这里,我将 3000 作为端口来检查实例运行状况,因为我的应用程序(节点)监听 3000 端口。
  • 在安全策略中启用端口号 80 和 3000。

  • enter image description here

    enter image description here

    API 网关设置:
  • 最后我将端点 API 网关更改为 NLB

  • enter image description here

    结果相同:

    enter image description here

    我仍然不确定我在这里犯了什么错误。

    最佳答案

    我也收到 500 Internal server error,然后我在 EC2 安全组中添加了入站规则并允许使用 VPC 子网的 CIDR 进行 HTTP,现在我可以使用 NLB 访问 API

    关于amazon-web-services - 使用带有 VPC Link 的 AWS API Gateway 时如何避免配置错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51135715/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com