首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在全球范围内从头到尾处理AWS网络请求的方法

问在全球范围内从头到尾处理AWS网络请求的方法
EN

Software Engineering用户
提问于 2020-07-31 21:52:33
回答 1查看 57关注 0票数 -2

我已经阅读了两个星期的AWS文档,并配置了一个terraform系统来部署多区域网络。我已经把它大部分连接起来了,但我不确定我是否已经把系统中的所有部分都列出来了。我想问一下,从高层架构的角度来看,我将要描述的系统或“配方”是否正确地连接起来,以及我是否遗漏了任何重要的东西,或者在这些部分中做了什么错误的事情。

它从全球加速器开始,主要通过VPN向子网加载平衡器到实例。但是有些东西感觉有些多余,我不确定我是否完全正确地使用了这些东西。下面是食谱:

  • 1全球加速器,面向世界。
  • 1您的应用程序工作的不同internet端口的全局加速器侦听器。(HTTP 80,HTTPS 443,按惯例)。
  • 每个全球加速器侦听器1全局加速器端点组。
    • 连接到每个VPC负载均衡器。

  • 每个用户1个VPN。使用它连接到网络。
  • 每个区域1个VPC。
  • 每个可用性区域的公共子网和私有子网(可以根据您的喜好细分)。
  • 每个VPN一个应用程序负载均衡器。还是应该是每个子网一个?
    • 将1负载均衡器连接到每个可用区域中的公共子网。因此,1负载均衡器跨越所有可用区域。
    • 将1个安全组连接到负载均衡器。

  • 每个子网1个安全组。这适用于子网中的实例。
  • 1每个子网的网络ACL。这适用于整个网络。
  • 每个连接到internet的私有子网(出口)每个NAT网关。这意味着每个可用区域每个子网都有一个NAT网关。
  • 每个连接到互联网的公共子网(出入口)一个因特网网关。这意味着每个可用区域每个子网都有一个Internet网关。
  • 1每个子网的路由表。
  • 每个连接的每个路由表的路径。
  • 每个实例的网络接口(如果失败,可以附加到不同的实例)。
  • IAM角色和用户在实例中扮演一个角色,但我还没有达到这个目的。
  • 自动标度小组也发挥了一定作用,但还没有达到目标。

我的问题是:

  • 弹性IP地址有什么关系?它们连接到网络接口(每个实例有一个网络接口)。这是否意味着每个实例实际上都有一个弹性IP地址?它们还连接到NAT网关(allocation_id)。这是什么意思?
  • 请求经过的步骤的顺序是什么?它从浏览器中的HTTPS开始,然后转到DNS,它以某种方式进入全局加速器选播系统。这将转到与请求来源最近的端点组配置(负载平衡器)。HTTPS在负载均衡器处终止,并在内部转到HTTP。负载均衡器连接到一个公共子网,其中包含一个安全组NACL和路由表,它告诉它如何将流量定向到系统的下一层。互联网网关适合哪里,特别是与负载均衡器已经处理互联网流量?然后,HTTP请求转到下一个子网和下一个子网,直到它基于目标IP到达适当的子网。然后转到网络接口,它能做些什么?然后将其应用到实例中。
  • 在这个配置中有遗漏什么吗?有什么可以改进或有明确的最佳做法的吗?

这只是为了提出请求。我还没有做过Route53,但我想我能弄清楚这部分。

EN

回答 1

Software Engineering用户

发布于 2020-08-01 01:00:07

  1. 弹性IP只是存在于实例生命周期中的IP地址。然而,对于互联网接入来说,它们并不是绝对必要的。例如,无法通过internet直接访问私有子网中的实例,但它可以通过NAT连接到internet,并从它的主动流量接收响应。同样,根据定义,公共子网具有包含到internet网关的路由的路由表。它可以启动请求并接收它们的响应,就像运行在NAT中的私有子网中的实例一样。此外,还可以从另一方的(非弹性)公共IP地址到达该地址。但是,如果该实例出现故障,则IP地址将丢失。弹性IP解决了这个问题。如果您计划使用负载平衡器,这一点是没有意义的,因为您的负载均衡器接收到流量并将其代理到可用性区域中的实例--否定了IP地址的所有想法。(请注意,负载平衡器的IP也可能发生变化,而路由53提供了一个与弹性IP类似的实用程序,用于实例来解决这个问题。即指向LB而不是IP的别名记录。)
  2. 我已经暗示过答案了。互联网网关是用来直接从互联网到达实例的。这和负载平衡器没有关系。它们还为公共子网中的上述实例提供出口,就像NAT为私有子网中的实例提供出口一样。
  3. 很难说不懂你的生意,但下面有一些建议.

每个VPN一个应用程序负载均衡器。还是应该是每个子网一个?

负载平衡器由几个“隐藏节点”组成,每个AZ配置一个负载均衡器。这就是它们实现高可用性的方法。根据定义,子网只驻留在一个AZ中,因此它不应该是每个子网中的一个。我想你想说的是,每个VPC一台,而不是VPN。那会很好的。

每个子网1个安全组

这在逻辑上很好,但这通常是ACL的工作。使用安全组作为“功能角色”。例如,如果您有一个高可用性的服务器集群来履行相同的角色,那么即使它们驻留在单独的AZ/子网中,它们也应该得到相同的安全组。

每个私有子网1个NAT网关

这可能是好的,但它可能更容易管理一个NAT每个地区,或NAT每AZ。这些东西的规模很大。互联网网关也是如此。我在运行企业应用程序时没有遇到任何问题,每个区域都有一个NAT和IG。取决于你有多健谈。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/414351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档