Amazon web services 使用资源访问策略控制对AWS API网关中API的访问无效

Amazon web services 使用资源访问策略控制对AWS API网关中API的访问无效,amazon-web-services,amazon-ec2,aws-api-gateway,Amazon Web Services,Amazon Ec2,Aws Api Gateway,我的基础结构如下所示: 两台EC2机器(无公共IP)。每个EC2机器都位于单独的子网中 AWS API网关具有4个API。 EC2机器将访问AWS API网关以使用其余API 测试: 我试图通过IP地址使用资源访问策略控制对API网关的访问。我只希望两台EC2机器访问API网关,我的资源策略如下。我正在资源策略中使用子网的IP/CIDR { "Version": "2012-10-17", "Statement": [ { "Eff

我的基础结构如下所示:

  • 两台EC2机器(无公共IP)。每个EC2机器都位于单独的子网中
  • AWS API网关具有4个API。 EC2机器将访问AWS API网关以使用其余API
  • 测试:

    我试图通过IP地址使用资源访问策略控制对API网关的访问。我只希望两台EC2机器访问API网关,我的资源策略如下。我正在资源策略中使用子网的IP/CIDR

        {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": "*",
                "Action": "execute-api:Invoke",
                "Resource": "exact resource name",
                "Condition": {
                    "IpAddress": {
                        "aws:SourceIp": [
                            "subnet address 1/CIDR",
                            "subnet address 2/CIDR"   
                        ]
                    }
                }
            }
        ]
    }
    
    上述策略不起作用并阻止所有REST调用。
    请帮助我解决此问题。

    API网关不在您的专有网络内。它无法将您的流量视为来自VPC CIDR块。您需要在策略中提供实例用于访问Internet的NAT网关的IP地址。

    即使使用NAT网关的IP地址,也无法正常工作。