无法访问 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
。
我创建了一个内部私有 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
。