无法访问 AWS 私有 Api

Unable to Access AWS Private Api

我创建了一个内部私有 api 并想从 ec2 实例访问它。 为此,我创建了一个端点并启用了私有 dns。 我已经应用了允许任何人访问的资源策略(现在测试)。

当我从 ec2 实例点击我的 api 时,它给出了以下给定的错误

The remote name could not be resolved:

启用私人 DNS:真

私有dns名称:*.execute-api.REGION.amazonaws.com

资源策略:

    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:REGION:ACC_ID:REST_API_ID/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "172.31.0.0/16",
                        "10.192.0.0/16"
                    ]
                }
            }
        }
    ]
}

是我在更改资源策略后部署了 api。

VPC端点的安全组(出站规则):

Type - All traffic
Protocol - All  
Port range - All    
Destination - 0.0.0.0/0 
Description - optional

如何访问私有 api?

我正在使用 powershell Invoke-RestMethod。当我用 public api 替换 url 时,它工作正常(脚本中没有问题)。 Private api 仅给出错误。

实例和端点是否在同一个vpc中?

是的,两个屏幕显示相同的 vpc id。

注意:我创建了 2 个 vpc 和 2 个端点。一个说默认-是,另一个说默认-否。

连接到 ec2 的 VPC 和端点是具有默认值的那个,我正在尝试使用它。

DNS 主机名和 DNS 支持?

知道我错过了什么吗?

根据评论。

该问题是由 VPCE 上的 不正确的安全组 安全组引起的。

解决方案是 允许 API 网关的 VPCE 上的 443 个传入 连接 ingress