如何通过代理路由API请求



我们有10个实例,我们使用AWS ECS和ELB 部署了应用程序

由于安全原因,API只允许通过特定的IP白名单IP地址进行请求。

因此,我们计划通过代理传递请求

如何通过代理路由API请求

我们正在使用nginx

通过代理路由API请求的任何特定方式都将是有益的

您不需要NGINX作为此用例的代理,我建议考虑使用AWS NAT网关。NAT网关是一种高度可用的AWS管理服务,可以轻松地从亚马逊虚拟私有云(Amazon VPC(中的私有子网内的实例连接到互联网。它是为子网的所有出站流量提供静态IP的理想场所。

为了为集群的出站流量提供具有静态IP(弹性IP(的NAT网关。这将允许您在ECS集群的私有子网中运行的不同任务看起来像是来自外部POV的单个请求实体(在您的情况下,第三方API是外部(。要实现这一点,您必须:

  • 创建2个路由表(1个用于私有子网,1个用于公共子网(
  • 公用子网上的Internet网关
  • 弹性IP地址
  • 创建一个NAT网关并将弹性IP连接到它(这将是第三方API的白名单IP(
  • 确保您的所有任务都在专有网络的私有子网内运行
  • 在路由表中为private subnets添加一条规则,将出站0.0.0.0/0重定向到NAT Gateway
  • public subnets的路由表中添加一条规则,将出站流量0.0.0.0/0重定向到互联网网关

您应该考虑使用NAT网关。我假设你已经在一个专有网络中拥有了所有的容器,所以你可以在这个专有网络中创建一个新的NAT网关。

你可以参考下面的文章来做这件事:

  1. https://docs.aws.amazon.com/appstream2/latest/developerguide/add-nat-gateway-existing-vpc.html

  2. https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html

注意:NAT网关有与其相关的价格。

如果需要,您也可以在Lambda上使用NAT网关提供的弹性IP。

相关内容

  • 没有找到相关文章

最新更新