繁体   English   中英

AWS-对于对外部服务的传出请求,我应该使用AWS API Gateway还是NAT GAteway从私有子网调用外部Web服务

[英]AWS- For outgoing requests to external services, Should i use AWS API Gateway or NAT GAteway to call external web services from private subnet

方案,在哪里使用AWS API网关? 这也仅适用于传入或传出服务吗? NAT网关是通过Internet网关调用外部服务的首选方式吗? 可以用AWS API Gateway代替吗? 后者会提供更多的安全性吗?

两种调用外部服务的方法-选项1-a)通过路由表将专用子网组件配置为NAT网关。 b)请求将从私有子网-> NAT网关-> Internet网关->外部服务路由?

选项2- a)配置私有子网以通过路由表在公共子网中调用AWS API Gateway b)请求将通过私有子网-> AWS API Gateway->外部服务进行路由吗?

请让我知道哪个选项似乎更好?

您正在混淆。

如果实例/服务位于私有子网中,并且您需要该实例具有对Internet的出站访问权限,则需要一些NATing / PATing服务。 如果是AWS,则可以将NAT网关连接到VPC,也可以在同一VPC的公共子网中启动NAT实例,并相应地配置路由表。 API网关与此无关。

API网关可帮助您构建无服务器的,安全的和高度可用的REST API,可以将HTTP / HTTPS请求发送到该API。 您可以配置一些API网关资源/方法以指向外部服务吗? 你当然可以。 但是,API网关无法在您的路由表中定位。 为什么? 仅仅因为路由表在ISO OSI模型的第三层(通过IP地址路由)上运行,而API网关在ISO OSI模型的第7层(应用层)上运行。

所以这是您可以做的事情。

  1. 实例(专用子网)-> NAT实例-> Internet网关->外部服务
  2. 实例(专用子网)-> NAT网关-> Internet网关->外部服务
  3. 实例(专用子网)-> NAT实例/网关-> Internet网关-> API网关->外部服务

或者,您甚至可以启动仅在VPC内部运行的专用API网关,但又与授予Internet访问无关。

关于安全性,我们这里不是在谈论有人试图访问您的资源(入站访问),而是在谈论您/您的资源试图访问某些外部服务。 您可以并且应该通过防火墙(如NACL,安全组甚至操作系统级别的防火墙)来控制此操作。 API网关的安全性是相反的,它可以保护您免受恶意传入请求/ DDOS攻击和对资源的未授权使用。

简而言之,如果您已经知道要从私有子网内部访问外部服务,那么API网关对您完全没有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM