Amazon web services AWS Apigateway没有任何静态IP地址

Amazon web services AWS Apigateway没有任何静态IP地址,amazon-web-services,aws-api-gateway,Amazon Web Services,Aws Api Gateway,我有一个aws api网关,它有一个自定义域。 我必须从AWS api网关访问一个客户端api。 这些api将基于IP地址进行访问。 如果我想从aws访问这些api,我需要知道我的aws api网关的Ip地址。 但我不确定我在哪里可以得到这个。 是否有可能获取AWS API网关的静态IP地址?不幸的是,API网关不支持直接调用IP白名单API的这种情况。基本上,任何AWS实例都可以用来进行API调用,AWS为此使用了许多IP 根据你的情况,有一些方法可以解决这个问题 如果您要访问的服务器位于您

我有一个aws api网关,它有一个自定义域。 我必须从AWS api网关访问一个客户端api。 这些api将基于IP地址进行访问。 如果我想从aws访问这些api,我需要知道我的aws api网关的Ip地址。 但我不确定我在哪里可以得到这个。
是否有可能获取AWS API网关的静态IP地址?

不幸的是,API网关不支持直接调用IP白名单API的这种情况。基本上,任何AWS实例都可以用来进行API调用,AWS为此使用了许多IP

根据你的情况,有一些方法可以解决这个问题

  • 如果您要访问的服务器位于您自己的专有网络内,您可以创建专有网络链接(使用NLB)并绕过IP白名单问题。此解决方案仅适用于您控制范围内的资源

  • 如果服务器是外部的,并且需要一个静态IP,那么最好的解决方案是在VPC内进行呼叫。为了确保您拥有静态公共IP,您可以在VPC()中使用弹性IP和NAT网关。 要调用从API网关触发的外部API,您可以使用Lambda,但由于VPC,冷启动将非常缓慢,>10s。为了确保API能够快速响应,您可以在Fargate上使用EC2实例或ECS服务


不幸的是,API网关不支持直接调用IP白名单API的这种情况。基本上,任何AWS实例都可以用来进行API调用,AWS为此使用了许多IP

根据你的情况,有一些方法可以解决这个问题

  • 如果您要访问的服务器位于您自己的专有网络内,您可以创建专有网络链接(使用NLB)并绕过IP白名单问题。此解决方案仅适用于您控制范围内的资源

  • 如果服务器是外部的,并且需要一个静态IP,那么最好的解决方案是在VPC内进行呼叫。为了确保您拥有静态公共IP,您可以在VPC()中使用弹性IP和NAT网关。 要调用从API网关触发的外部API,您可以使用Lambda,但由于VPC,冷启动将非常缓慢,>10s。为了确保API能够快速响应,您可以在Fargate上使用EC2实例或ECS服务


在上面的评论中阐明了您的要求之后,您似乎需要您的AWS Lambda函数(由API网关触发)在第三方面前显示为具有静态传出IP地址


解决方案是将Lambda功能配置为在VPC中运行,在VPC的私有子网中运行,该子网具有到NAT网关的路由。然后,访问VPC外部资源的Lambda函数的所有传出连接将使用NAT网关的静态IP地址。

在上面的评论中阐明了您的要求后,您似乎需要AWS Lambda函数,该函数由API网关触发,向第三方显示,好像它有一个静态的传出IP地址


解决方案是将Lambda功能配置为在VPC中运行,在VPC的私有子网中运行,该子网具有到NAT网关的路由。然后,访问VPC外部资源的Lambda函数的所有传出连接都将使用NAT网关的静态IP地址。

当您说需要从API网关访问客户端的API时,您的意思是什么?您的意思是说您正在使用API网关将请求代理到客户端的API?或者您是否正在触发AWS Lambda函数、EC2实例或带有API网关的某个实例,并且该Lambda/EC2实例需要访问客户端的API?MarkB:我正在从AWS触发Lambda函数,它将调用外部API。外部API基于IP地址进行限制。因此,如果我知道触发它的IP地址,那么客户端将允许该特定IP地址。因此,问题根本不是API Gatway的静态IP,而是AWS Lambda的静态IP。关于“从触发的位置知道IP地址”的部分毫无意义,因为这与Lambda函数将使用的IP地址无关。当您说需要从API网关访问客户端的API时,您的意思是什么?您的意思是说您正在使用API网关将请求代理到客户端的API?或者您是否正在触发AWS Lambda函数、EC2实例或带有API网关的某个实例,并且该Lambda/EC2实例需要访问客户端的API?MarkB:我正在从AWS触发Lambda函数,它将调用外部API。外部API基于IP地址进行限制。因此,如果我知道触发它的IP地址,那么客户端将允许该特定IP地址。因此,问题根本不是API Gatway的静态IP,而是AWS Lambda的静态IP。关于“从触发的位置知道IP地址”的部分毫无意义,因为这与Lambda函数将使用的IP地址无关。Bram:谢谢您的回复。我的服务器是外部的,需要静态IP地址。我正在尝试仅从我的VPC访问外部服务器api。我的VPC中已经有Nat网关。我有专用IP地址。该地址是否为静态地址?要访问外部服务器,您需要/使用公共IP。默认情况下,此IP不是静态的,但如果您使用弹性IP,它将是静态的。“您可以创建一个VPC链接(使用NLB)并绕过IP白名单问题”这不会仍然使您的服务器对来自VPC中其他位置的请求开放吗?Bram:感谢您的回复。我的服务器是外部的,需要静态IP地址。我正在尝试仅从我的VPC访问外部服务器api。我的VPC中已经有Nat网关。我有专用IP地址。该地址是否为静态地址?要访问外部服务器,您需要/使用公共IP。默认情况下,此IP不是静态的,但如果使用弹性IP,则