我无法从 VPC 内部访问 AWS API 网关

Zag*_*ags 1 amazon-web-services amazon-vpc aws-api-gateway

我有一个公共 AWS API 网关。

我在与该 API 网关位于同一区域的 VPC 中有一台服务器。服务器无法访问该 API 网关的端点。对网关的请求挂起并超时。服务器可以访问同一个AWS账户其他区域的API网关就好了。

其他地域的VPC中的服务器可以正常访问API网关。我的本地计算机可以正常访问网关。唯一不能访问网关的是同一地区的服务器。

到底是怎么回事?

Zag*_*ags 5

问题是 VPC 有一个 VPC 终端节点覆盖了 execute-api.xxxxxxx.amazonaws.com 的目标,并启用了私有 DNS。当您按照在 API gateway 中创建私有 API说明进行操作时,就会发生这种情况。AWS 不允许您(轻松)混合访问来自同一 VPC 的私有和公共 API 网关。

要解决此问题:

  1. 将该 VPC 中的所有网关更改为公共网关
  2. 转到 VPC 并删除有问题的 VPC 端点(它是覆盖“execute-api.xxx.amazonaws.com”目标的端点)

或者,将您的公共 API 移动到不同的 VPC。