深入探索亚马逊云科技上的路由技术
关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Amazon Cloud WAN, Amazon Web Services Cloud Routing, Vpc Subnet Routing, Transit Gateway Connectivity, Cloud Wan Deployment, Direct Connect Redundancy]
导读
探索亚马逊云科技路由的世界,从静态和动态路由到BGP等协议。在本次会话中,了解如何在Amazon VPC、Amazon Transit Gateway、Amazon Direct Connect、亚马逊云科技站点到站点VPN和亚马逊云科技 Cloud WAN中使用路由功能,以提高网络通信效率。将亚马逊云科技路由与传统的本地方法进行比较,并探讨故障处理,同时研究如何实现主动/主动、主动/被动和流量检查设置。这个深入探讨的会话将为您提供在亚马逊云科技上构建弹性、高性能网络解决方案所需的知识。
演讲精华
以下是小编为您整理的本次演讲的精华。
欢迎来到关于亚马逊云科技路由的深入探讨。本次会议将探索亚马逊云科技生态系统内部路由的复杂性,提供对各种构建块、配置和高级场景的全面理解。让我们做好准备,深入探索网络的深处,揭开支配数据在亚马逊云科技庞大基础设施中流动的内在机制。
让我们从建立路由的基本概念开始。路由是这一领域的基本单位,由两个基本组成部分组成:目的网络和通往该目的地的下一跳。在网络领域,目的地代表要到达的网络,而下一跳则表示通往预期目的地的路径。例如,IPv4路由可能将接口作为下一跳,或者IPv6路由可能使用特定的IPv6地址作为下一跳来引导流量到达目的地。
任何健壮的路由解决方案,无论是在亚马逊云科技内部还是外部,通常都会使用两个不同的路由数据库。第一个称为路由信息库(RIB),是一个全面的存储库,包含所有已知路由。第二个称为转发信息库(FIB),是从RIB中的大量路由中精心挑选出的每个目的地的最佳路径集合。
为了说明这个概念,让我们以路由器为例。这个设备具有多个接口,如接口A和接口B,两者都连接到网络10.10。这些接口及其关联的网络都被正确记录在路由信息库中。此外,路由器还有接口C连接到网络10.20,也记录在RIB中。然后,路由器会仔细评估路由信息库中的所有路由,并选择到每个目的地的最佳路径,这个过程可能会导致接口A被选择为首选路由。
因此,路由信息库是路由组件所知道的所有路由的综合目录,而转发信息库则是根据路由器内在的决策过程,精选出到每个目的地的最佳路径。
然而,在亚马逊云科技生态系统中,路由组件呈现出略有不同的视角。当与亚马逊云科技网络组件交互时,用户可以看到转发信息库。尽管可能存在通往给定目的地的多条路径,但亚马逊云科技中的路由表和解决方案只会显示转发信息库,展示底层路由机制选择的到每个目的地的最佳路由。
当我们深入探索亚马逊云科技路由领域时,我们将遇到几个关键组件,这些组件将塑造我们的旅程。虚拟私有云(VPC)是亚马逊云科技中的一个虚拟数据中心,作为路由表所在的基础,管理着这个隔离环境中的流量流动。为了实现全球连接,我们将探索Transit Gateway,这是一个逻辑区域路由器,可以实现同一区域内数千个VPC的互连。此外,我们还将揭开Cloud WAN的神秘面纱,这是一项服务,可以通过统一的策略驱动方法跨多个区域管理Transit Gateway。
在混合连接领域,我们将调查Amazon Direct Connect,这是一种专用光纤连接解决方案,可以在本地基础设施和亚马逊云科技主干网之间建立直接链路。此外,我们还将研究站点到站点VPN,这是一种托管的IPsec VPN隧道,提供了一种更传统的安全连接方式。
在我们的探索过程中,我们将在亚马逊云科技生态系统中遇到三种常见的路由类型:静态路由、传播路由和动态路由。静态路由由管理员手动配置,指定流量流动的目的地和下一跳。传播路由则是基于亚马逊云科技环境中资源的存在(如VPC或其他网络组件)而自动传播的。最后,动态路由通常利用边界网关协议(BGP),这是一种用于交换路由信息的标准协议,实现路由数据库在对等体之间的动态交换。
当从不同来源接收到通往同一目的地的多条路由时,亚马逊云科技采用了一个明确的优先顺序。静态路由优先于传播路由,而传播路由又优先于动态路由。但是,有一个值得注意的例外:如果动态路由比静态路由更具体,则动态路由将被优先考虑,遵循最长前缀匹配的原则。
在传播路由的领域,当从多个来源接收到相同的路由时,会采用一种打破平局的机制。这种打破平局的机制可能会优先考虑来自VPC的路由,其次是来自Direct Connect的路由,最后是来自VPN连接的路由。具体的打破平局逻辑取决于所使用的网络解决方案,我们将在整个旅程中探讨说明性示例。
对于利用BGP的动态路由场景,亚马逊云科技提供了使用标准BGP属性(如本地优先级和AS路径)来操纵路由的能力。这些属性可以用来影响路径选择过程,确保流量按照特定需求和优先级沿着所需路由传输。
有了牢固的基础,让我们开始探索亚马逊云科技中的路由,从单个区域内的单个VPC场景开始。在深入研究VPC路由的细节之前,有必要将本地环境与亚马逊云科技云网络范式进行比较。
在传统的本地设置中,路由器可能具有连接到各个子网的多个接口,每个子网都有一组主机。这种配置类似于亚马逊云科技虚拟私有云(VPC),只不过不是物理主机,而是EC2实例、虚拟机、容器环境,甚至Lambda函数。
在VPC中,子网的概念得以保留,每个子网都位于包含VPC构造中。VPC本身由一个CIDR范围定义,包含所有子网,支持IPv4和IPv6地址方案。值得注意的是,亚马逊云科技提供了在VPC中部署双堆栈资源或甚至纯IPv6资源的能力。
VPC的核心是一个隐式路由器,作为中央路由组件。该路由器配备了一个主路由表,管理着VPC内的流量流动。默认情况下,此路由表包含两个条目:一个匹配VPC的CIDR范围,另一个匹配本地路由,两者的下一跳都指定为“本地”。这种配置确保VPC内的所有资源都可以无缝通信,无需额外的路由配置。
然而,VPC路由的真正威力在于能够创建额外的路由表,并将它们与特定子网关联,从而实现对每个子网的流量流动进行细粒度控制。这种灵活性在需要隔离资源或实施高级路由策略的场景中尤为宝贵。
为了说明自定义路由表的实用性,让我们考虑一种情况,其中子网B和D被指定为完全私有的,托管不应从互联网可访问的资源。但是,这些资源需要出站互联网连接,以便执行下载更新或访问外部服务等任务。这种情况需要实施一种单向门,允许流量出站,但阻止来自互联网的入站连接。
要实现此配置,我们必须部署一个Internet网关,它可以使流量从VPC流出,同时允许入站流量。对于IPv6资源,存在一种更简单的解决方案,即Egress Only Internet网关,它允许IPv6寻址资源进行出站通信,同时阻止所有入站连接。
关注IPv4实现,我们将在子网A和C中部署NAT网关。这些NAT网关与互联网之间具有直接连接,能够为私有子网提供出站流量的通道,同时由于其设计,可以防止来自互联网的入站连接。
为了管理流量流动,我们将为每个子网创建单独的路由表,并相应地关联它们。对于子网B,我们将配置一个默认的IPv4路由,指向NAT网关1,而子网D将有一个默认路由,通过NAT网关2引导流量。这种配置确保来自私有子网的流量通过各自的NAT网关路由,实现出站互联网连接,同时保持所需的隔离。
对于NAT网关子网(A和C),可以使用共享路由表,其中包含一条路由,通过Internet网关将流量引导到互联网。
在整个会议过程中,我们将遇到许多专业技巧,强调最佳实践和宝贵见解。其中一个专业技巧强调保持流量区域性,最小化跨可用区(AZ)的流量需求。这种方法不仅可以减少延迟,还可以避免潜在的跨AZ数据传输成本,从而优化性能和成本效益。
为了推进我们的探索,我们将深入探讨与VPC内路由相关的更高级构造,例如Ingress Routing和更具体的路由。Ingress Routing是一种技术,可以将来自互联网网关或虚拟专用网关的入站流量重定向到网络功能(通常是防火墙或安全设备)。另一方面,更具体的路由允许覆盖默认的本地路由行为,从而可以通过指定的网络功能在VPC内的子网之间重定向流量。
为了说明Ingress Routing的概念,让我们重温之前的场景。在这种配置中,我们有具有公共IP地址的EC2实例,可以通过互联网网关直接从互联网访问。但是,我们的要求是确保所有入站流量在到达EC2实例之前先通过安全设备,例如Amazon Network Firewall或第三方防火墙解决方案。
为了实现这一点,我们将创建一个与互联网网关关联的专用路由表。在此路由表中,除了本地路由之外,我们还将添加两条额外的路由,指定目的地为子网B或子网D的流量应首先通过安全设备路由。这种配置有效地将来自互联网网关的入站流量重定向到指定的安全设备,然后再到达预期的EC2实例。
对于出站流量,我们将为子网B和D分别使用单独的路由表,每个路由表都包含一条路由,将返回流量通过各自的安全设备(子网B的Firewall 1,子网D的Firewall 2)。这种方法确保了入站和出站流量都通过适当的安全设备,保持了一致的安全态势。
另一方面,更具体的路由解决了在VPC内部子网之间的流量需要通过网络功能重定向的场景。通常情况下,本地路由行为将允许位于不同子网中的EC2实例直接通信。但是,通过实现更具体的路由,我们可以覆盖此默认行为,并强制通过指定的安全设备进行流量检查或处理。
在我们的示例中,我们希望从子网A到子网C的流量通过部署在子网B中的防火墙。为了实现这一点,我们将在与子网A关联的路由表中添加一条更具体的路由,指定目的地为子网C的流量应通过子网B中的网络防火墙路由。一旦流量到达防火墙子网,本地路由将管理流量,允许流量在通过安全设备后到达预期目的地。
为了确保返回流量的对称路由,我们必须为子网C配置单独的路由表,将目的地为子网A的流量通过子网B中的同一防火墙。这种配置确保了子网A和C之间的入站和出站流量都经过指定安全设备的所需检查和处理。
另一个值得注意的专业技巧是在实现更具体的路由时遵守特定的路由类型的重要性。添加到路由表的路由必须是子网级别的路由或VPC CIDR范围本身,因为任意的路由规范可能会导致意外后果或路由失败。
虽然静态路由提供了高度的控制和灵活性,但它缺乏对下一跳资源的健康和可用性的内在意识。在本地环境中,使用虚拟路由器冗余协议(VRRP)或热备份路由器协议(HSRP)等解决方案来确保下一跳资源的冗余和故障转移能力。但是,这些协议在亚马逊云科技生态系统中不受原生支持。
为了解决这一挑战,亚马逊云科技提供了两种主要解决方案:利用高可用的亚马逊云科技服务或实施具有故障转移机制的自托管解决方案。
第一种选择是针对亚马逊云科技内部固有的高可用资源,例如NAT网关、Network Firewalls或Transit网关。这些服务都设计有内置的冗余和故障转移功能,确保即使单个组件发生故障,整个服务仍然可以运行。在配置静态路由时,将这些高可用的亚马逊云科技服务作为目标可以提供可靠和有弹性的路由解决方案。
对于自托管解决方案(如第三方防火墙设备或自定义网络功能),亚马逊云科技提供了两种实现故障转移功能的机制:亚马逊云科技 Gateway Load Balancer和弹性网络接口(ENI)重新附加。
ENI重新附加方法涉及配置一个辅助实例作为故障转移目标。当主实例发生故障时,管理员有责任检测故障、配置辅助实例并启动将失败实例的弹性网络接口(ENI)重新附加到新配置的实例。虽然这种方法提供了故障转移功能,但它依赖于控制平面操作和异步API调用,这可能不适合需要快速故障转移的中断场景。
相比之下,Gateway Load Balancer方法提供了一种更加健壮和自动化的故障转移解决方案。Gateway Load Balancer在VPC中显示为Gateway Load Balancer Endpoint,实际上是一个映射到底层Gateway Load Balancer服务的网络接口。在配置路由时,从源设置到Gateway Load Balancer Endpoint的默认路由,然后Gateway Load Balancer根据流量哈希将流量分发到多个网络功能(通常是防火墙)。
Gateway Load Balancer持续监控关联网络功能的运行状况,并自动将流量从失败的实例重新路由,确保无缝故障转移,无需人工干预或控制平面操作。此外,Gateway Load Balancer可以配置为在同一网络功能上保持现有流量,确保对称流量流和避免有状态网络设备可能出现的潜在问题。
两种方法的并排比较清楚地突出了Gateway Load Balancer解决方案的优势。虽然ENI重新附加方法需要手动故障检测、配置和控制平面操作,但Gateway Load Balancer自动化了整个故障转移过程,为在亚马逊云科技生态系统中管理网络功能提供了更加健壮和可靠的解决方案。
探索了单个VPC内路由的复杂性之后,让我们现在超越这一点,并研究涉及混合连接的场景,其中亚马逊云科技资源与本地基础设施集成。建立VPC与位于本地的数据中心之间连接是这一旅程的第一步。
为了实现这种连接,我们将采用Amazon Direct Connect,这是一种专用光纤连接解决方案,可以将本地基础设施直接连接到亚马逊云科技主干网络。在此配置中,我们将在VPC内配置一个虚拟专用网关(VGW)。VGW被分配了一个自治系统号码(ASN),这是一个在边界网关协议(BGP)上下文中用于网络之间交换路由信息的唯一标识符。
接下来,我们将配置一个Direct Connect网关,这是一种逻辑构造,可以实现与全球多个亚马逊云科技区域和Direct Connect位置的连接。虽然Direct Connect网关不是物理设备,但它作为网络功能所需的逻辑表示,以建立这些互连。
为了完成混合连接设置,我们将创建一个私有Virtual Interface,它本质上是在Direct Connect基础设施上运行BGP的VLAN。这个私有Virtual Interface有助于在Direct Connect网关和本地路由器之间建立外部BGP(eBGP)会话,从而实现两个网络之间的路由信息交换。
需要注意的是,这种逻辑配置不包括物理连接方面,例如物理电缆连接或特定的Direct Connect位置。这些物理细节将在会话的后面部分由Ankit介绍。
在VPC的子网路由表中,我们有选择自动将VGW动态学习到的路由传播到路由表中。这种传播机制确保VPC了解本地网络路由,从而实现两个环境之间的无缝连接。
在本地端,路由器的路由表将显示到VPC的IPv4和IPv6网络的路由,下一跳是Direct Connect接口。路径属性将包括Direct Connect网关的自治系统号码(ASN),从本地视角有效地掩盖了VGW的ASN。
值得注意的是,默认情况下,当VPC连接到VGW和Direct Connect网关时,所有VPC CIDR范围都将被通告到本地网络。但是,亚马逊云科技提供了过滤和控制哪些VPC路由被通告的功能,为管理路由信息交换提供了更大的灵活性。
建立混合连接的另一种方法是使用站点到站点VPN。亚马逊云科技提供托管的IPsec VPN隧道,可以配置为使用BGP动态交换路由信息。对于单个VPN连接,将配置两个隧道,每个隧道都能支持高达1.25 Gbps的吞吐量(使用弹性网关(EGW))。
从VPC的角度来看,路由行为与Direct Connect场景类似,VGW将路由注入子网路由表。但是,在本地路由器上,路径属性中可见的ASN将是VGW本身的ASN,因为此配置中不涉及Direct Connect网关。
对于VPN部署,一个专业建议是利用动态路由功能,因为这种方法可以简化高可用VPN连接的管理,并在隧道发生故障时实现无缝故障转移。
在同时建立Direct Connect和VPN连接的场景中,路径优先级顺序成为一个关键考虑因素。从本地角度来看,路由逻辑可由管理员控制,允许他们根据特定需求优先选择所需的连接选项(Direct Connect或VPN)。
然而,从VPC的角度来看,当存在多种连接选项时,亚马逊云科技遵循文档中的路由评估顺序来确定首选路径。在考虑静态路由和最长前缀匹配原则之后,亚马逊云科技将优先选择通过Direct Connect连接学习到的BGP路由,而不是通过VPN连接学习到的路由。这种偏好与建议相一致,即对于生产级别的部署,应将Direct Connect视为主要连接选项,使用额外的Direct Connect连接作为冗余备份路径,而不是依赖VPN连接作为故障转移机制。
确保可靠的故障转移能力是任何健壮路由解决方案的关键方面。对于静态路由配置,缺乏对下一跳健康状态的内在感知可能会带来挑战。本地环境通常采用虚拟路由冗余协议(VRRP)或热备份路由协议(HSRP)等协议来提供虚拟IP地址并实现下一跳资源的故障转移机制。
然而,在亚马逊云科技生态系统中,这些协议并不是原生支持的。为了解决这一限制,亚马逊云科技提供了两种主要解决方案:利用高可用亚马逊云科技服务或实现具有故障转移机制的自托管解决方案。
在配置静态路由时,将目标设置为高可用亚马逊云科技服务(如NAT网关、亚马逊云科技网络防火墙或Transit网关)可以提供可靠的路由解决方案。这些服务设计时就考虑了内置冗余和故障转移功能,确保即使单个组件发生故障,整个服务仍然可以正常运行。
对于自托管解决方案(如第三方防火墙设备或自定义网络功能),亚马逊云科技提供了两种实现故障转移的机制:弹性网络接口(ENI)重新附加和亚马逊云科技网关负载均衡器。
ENI重新附加方法涉及配置一个辅助实例作为故障转移目标。当主实例发生故障时,管理员必须检测到故障、配置辅助实例,并启动将失败实例的弹性网络接口(ENI)重新附加到新配置的实例。虽然这种方法提供了故障转移功能,但它依赖于控制平面操作和异步API调用,可能不太适合需要快速故障转移的中断场景。
相比之下,网关负载均衡器方法提供了一种更加健壮和自动化的故障转移解决方案。网关负载均衡器在VPC中显示为网关负载均衡器端点,实际上是一个映射到底层网关负载均衡器服务的网络接口。在配置路由时,从源到网关负载均衡器端点设置默认路由,然后网关负载均衡器根据流哈希将流量分发到多个网络功能(通常是防火墙)。
网关负载均衡器持续监控关联网络功能的健康状况,并自动将流量从失败的实例重新路由,确保无需人工干预或控制平面操作即可实现无缝故障转移。此外,可以配置网关负载均衡器将现有流量保持在同一网络功能上,确保对称流量流并避免可能出现的有状态网络设备问题。
扩展到同一区域内的多个VPC场景,我们将使用亚马逊云科技 Transit网关来实现这些VPC之间的连接。Transit网关是一个逻辑区域路由器,旨在连接同一区域内的数千个VPC。
Transit网关是一个分布式系统,确保高可用性并消除单点故障。它可以有一个或多个路由表,当VPC连接到Transit网关时,会创建附加。这些附加可以被视为逻辑路由器接口,并与Transit网关内的特定路由表相关联。
附加与路由表之间的关联定义了VPC与Transit网关之间流量的路由行为。通过启用VPC路由自动传播到Transit网关路由表,Transit网关可以获得连接VPC的CIDR范围的可见性,从而实现无缝的VPC间通信。
从VPC的角度来看,可以配置默认路由或聚合路由,将目的地为其他VPC的流量通过Transit网关路由。这种方法简化了VPC内的路由配置,将复杂性转移到集中的Transit网关。
Transit网关还提供了将混合连接聚合回本地网络的功能。虽然通过Transit网关路由流量会产生额外的处理费用,但这种集中式方法提供了多种好处,包括能够创建多个IPsec VPN隧道并在它们之间分发流量,从而有效增加了可用带宽,超越了单个VPN隧道的限制。
在使用Transit网关的IPsec VPN连接时,Transit网关与本地路由器之间会建立BGP会话。这个BGP会话促进了路由信息的交换,使Transit网关路由表能够学习到本地网络路由。相反,本地路由器将收到连接VPC的路由,路径属性中包含Transit网关的自治系统号(ASN)。
需要注意的是,如果需要IPv4和IPv6连接,必须为每个地址系列建立单独的VPN隧道,因为单个隧道无法同时支持IPv4和IPv6。
将本地网络连接到Transit网关的另一种方法是使用软件定义广域网(SD-WAN)。在这种情况下,客户在亚马逊云科技中部署他们首选的第三方SD-WAN解决方案,通常作为专用VPC中的EC2设备。然后,将这个VPC连接到Transit网关,并创建Connect附加,这实际上是在SD-WAN头端和Transit网关之间建立GRE隧道以实现连接。
在这些GRE隧道之上,建立外部BGP(eBGP)会话,实现Transit网关与SD-WAN头端之间的路由信息交换。SD-WAN头端又连接到更广泛的SD-WAN网络,提供到本地数据中心和分支机构的连接。
在Transit网关路由表中,到本地路由的下一跳将是Connect附加,而在本地端,到连接VPC的路由将通过SD-WAN网络和Transit网关的ASN学习到。
虽然SD-WAN支持内部BGP(iBGP)和eBGP,但亚马逊云科技建议使用eBGP以保持与其他Transit网关连接选项的一致性和简单性。
最后,Transit网关也可以使用Amazon Direct Connect连接到本地网络。在这种配置中,需要配置Direct Connect网关,并创建Transit虚拟接口,该接口在Direct Connect基础设施之上运行BGP。这种方法促进了Transit网关与本地路由器之间动态路由信息的交换。
在本地端,路由器将看到Transit网关发起的路由,但需要注意,Transit网关与Direct Connect网关之间的关联允许手动配置的前缀路由数量有200条的限制。如果连接的VPC数量超过此限制,则必须采用路由聚合技术以确保符合200条路由的限制。
当存在多种连接选项(如Direct Connect、IPsec VPN和SD-WAN)时,亚马逊云科技遵循文档中的路由评估顺序来确定首选路径。在考虑更具体的路由和最长前缀匹配原则之后,亚马逊云科技将优先选择从Direct Connect网关传播的路由,然后是来自Connect附加(SD-WAN)的路由,最后是来自IPsec VPN连接的路由。
保持对称流量流的专业建议是,在双向路由逻辑中保持一致,以确保流量在进出方向上遵循相同的路径。如果Direct Connect是首选路径,则应在双向上都优先选择Direct Connect,以保持一致的路由行为。
将安全检查功能引入路由架构会增加另一层复杂性。为了在VPC和本地网络之间实现流量检查,Transit Gateway内需要多个路由表。一个路由表将管理VPC附加的路由行为,而另一个单独的路由表将处理混合连接附加(Direct Connect、VPN或SD-WAN)。
部署一个检查VPC,将其附加到Transit Gateway并与其自己的专用路由表相关联。该附加配置为启用设备模式,确保通过Transit Gateway并且目的地为检查VPC的流量保持在同一可用区域内,维护区域内流量流动。
从VPC路由表的角度来看,配置静态路由将目的地为本地网络的流量引导到检查VPC。经过检查VPC内的安全设备后,流量进入检查路由表,其中传播了本地路由,允许经过检查的流量到达预期目的地。
在相反方向,混合路由表包含一个静态路由将流量推回检查VPC。可以在检查路由表中为单个VPC或聚合路由配置静态路由,以促进流量在检查后的返回流动。
该架构确保VPC与本地网络之间的入站和出站流量都经过指定安全设备的所需安全检查和处理。
将路由场景扩展到多个区域会带来额外的复杂性。虽然单个区域可以使用Transit Gateway和连接的VPC来解决,但启用跨区域连接需要在所需区域之间建立Transit Gateway对等。
目前,Transit Gateway对等仅支持静态路由,需要手动配置静态路由来定义对等另一侧的可用网络资源。尽管这些路由是静态的,但建议在部署期间为每个Transit Gateway分配唯一的自治系统号(ASN),因为这种做法将有助于未来采用动态路由功能(如果可用)。
为跨区域流量流实现安全检查是一个重大挑战。理论上可以设计一种解决方案,其中流量只在一个区域进行检查,但随着每个新区域的添加,此类架构的复杂性会呈指数级增加。因此,建议的方法是在参与跨区域流量流的两个区域中都执行安全检查。
为了说明这一概念,让我们考虑一个涉及两个区域(区域1和区域2)的场景。在每个区域中,都部署了一个检查VPC,附加到各自的Transit Gateway,并与专用的检查路由表相关联。配置静态路由将区域之间的流量重定向到检查VPC,确保入站和出站流量都经过必要的安全检查和处理。
然而,此配置需要手动创建六个不同的静态路由,以及部署多个路由表,即使在这种相对简单的两区域场景中也是如此。随着区域数量的增加,静态路由配置的复杂性呈指数级增长,使其越来越难以管理和维护。
此时,Ankit介绍了Amazon Cloud WAN服务,该服务旨在简化和优化多区域和多VPC连接,并提供动态路由功能。
Amazon Cloud WAN围绕几个关键构造:
- 核心网络边缘(CNE):由亚马逊云科技管理的区域构造,充当该区域流量的入口和出口点。在幕后,CNE的功能类似于Transit Gateway,实现数据包转发和路由。
- 段:跨多个区域的全局路由域或虚拟路由和转发(VRF)实例。段默认是全局的,但它们也在每个部署区域维护一个区域路由视图,每个段在每个部署区域都有一个区域路由表。
- 策略:定义全局网络策略的JSON文档,包括区域数量、附加策略(哪些附加属于哪些段)和流量工程规则。
Ankit演示了几个Cloud WAN场景,从VPC之间的同段内区域路由开始。在此示例中,不同区域的两个VPC与同一“dev”段相关联。在区域1的dev段的区域路由表中,存在区域1 VPC和区域2 VPC的CIDR范围,允许双向通信而无需配置静态路由。
下一个场景涉及使用路由共享在VPC之间进行跨段路由。在这里,一个“dev”VPC和一个“test”VPC与不同区域的不同段相关联。通过在Cloud WAN策略中定义一个段操作来在dev和test段之间共享附加路由,test VPC的CIDR范围在dev段的路由表中可见,反之亦然,从而实现无需静态路由的跨段通信。
Ankit强调了两个关于路由共享的专业技巧:它是双向的,而且是非传递的,这意味着在两个段之间共享路由不会自动将这些路由传播到第三个段。
最后一个场景介绍了通过插入内联流量设备来实现安全检查。在这种情况下,区域防火墙堆栈部署在专用的检查VPC中,这些VPC与由亚马逊云科技管理的特殊网络功能组(NFG)段相关联。NFG段内的路由由亚马逊云科技协调,但为了监控和故障排除,提供了对路由的可见性。
为启用流量检查,在Cloud WAN策略中定义了“发送VR”操作,指定从dev段发出并且目的地为test段的流量应通过NFG段路由。此配置会自动将防火墙堆栈插入流量流中,而无需配置静态路由。
Cloud WAN还提供了选择单跳或双跳防火墙的灵活性。单跳模式只在一个区域执行流量检查,而双跳模式在源和目的地区域都检查流量。可以使用Cloud WAN策略中的“mode”参数进行选择。
Ankit通过一个详细的数据包流示例,说明了流量如何通过所选区域的防火墙堆栈路由,利用NFG段的路由功能和设备模式配置来维护对称流量流。
在整个Cloud WAN场景中,Ankit强调了该服务的关键优势,包括零静态路由配置、更高的路由规模(最多5000条路由)以及相比Transit Gateway更先进的流量工程功能。
接下来,Ankit将重点转移到用于混合多区域网络的高级Direct Connect场景。他首先解释了Direct Connect冗余和备份的重要性,展示了使用多个Direct Connect连接跨多个位置的设计,以防止链路故障、路由器故障,甚至整个位置故障。
提供了一个专业技巧,即通过多个虚拟专用接口(VVIF)广告相同的前缀,以实现逻辑冗余,除了多个连接提供的物理冗余之外。
探讨的第一个用例是为本地网络提供对托管在多个区域的亚马逊云科技公共资源(如S3存储桶)的访问。这是通过在Direct Connect上建立公共虚拟接口(VVIF)实现的,它利用BGP交换路由信息。一旦建立BGP会话,亚马逊云科技就会向本地路由器广告其公共前缀,包括任何自带IP(BYOIP)地址。本地网络可以将其公共前缀反向广告给亚马逊云科技,从而实现双向连接到公共资源。
提供了一个专业技巧,建议将公共VVIF视为任何其他面向互联网的连接,并相应地应用适当的安全措施。
下一个用例着眼于从本地数据中心到跨多个区域的亚马逊云科技 VPC提供专用连接。在这种情况下,部署了区域Transit Gateway,每个Gateway都与一个Direct Connect Gateway相关联。本地路由器将看到Transit Gateway发起的路由,下一跳是Direct Connect接口,路径包括Direct Connect Gateway的自治系统号(ASN)。
然后,Ankit演示了如何使用Amazon Cloud WAN而不是区域Transit Gateway来实现相同的用例。通过利用Cloud WAN的全局部署模型及其与Direct Connect Gateway的集成,在两个方向上都启用了动态路由,支持高达5000条路由,而无需手动配置允许的前缀。此外,Cloud WAN通过在AS路径中包含核心网络边缘(CNE)ASN,提高了可见性,增强了故障排除能力。
介绍了流量工程概念,展示了如何使用更具体的路由、AS路径前缀和本地优先级(BGP社区)来影响流量路径。Ankit提供了一个详细示例,说明如何使用这些技术来优先考虑特定的Direct Connect链路或位置,确保流量按照预定义的优先级沿着所需路径传输。
提出了一种思维模型,用于指导适当使用AS路径前缀和本地优先级:
- 当影响同一个Direct Connect位置内的路径时,使用AS路径前缀。
- 当影响跨多个Direct Connect位置的路径时,使用本地优先级。
如果同时配置了这两种技术,本地优先级将优先于AS路径前缀。
Ankit总结了本次会议,全面回顾了关键路由构建块、涉及的场景以及整个演示过程中分享的22个专业技巧。他强调通过亚马逊云科技 re:Invent应用程序提供反馈的重要性,因为本次会议采用了一种新的形式,包括专业技巧,建设性的反馈将有助于塑造未来的会议。
下面是一些演讲现场的精彩瞬间:
演讲者概述了议程,涵盖了路由基础知识、构建模块以及从单个VPC到多区域多VPC场景的各种路由配置,同时承认由于时间限制需要挑选最有用的示例。
亚马逊云科技路由组件解释:手动配置的静态路由、自动出现的传播路由以及使用BGP交换路由信息的动态路由。
亚马逊云科技网关负载均衡器确保无缝流量路由和网络防火墙的故障转移,自动将流量重定向到健康实例。
强调了使用传统方法跨多个区域配置网络检查的复杂性,并过渡到演示Amazon Cloud WAN的简化方法。
Amazon Cloud WAN实现了跨VPC的动态多区域连接,无需静态路由。
详细解释了使用Amazon Cloud WAN的服务插入功能进行流量检查的数据包流和路由过程,实现了跨区域对防火墙设备的对称流量传递。
演讲者深入探讨了亚马逊云科技的路由功能,涵盖了从单个VPC到多区域混合连接的各种场景,并在此过程中展示了22个原型。
总结
这篇演讲深入探讨了亚马逊云科技上的路由技术,深入剖析了在各种网络场景下配置和管理路由的复杂性。它首先阐明了路由的基本构建块,如路由、路由表以及路由信息库(RIB)和转发信息库(FIB)之间的区别。
演讲者随后全面探讨了各种路由配置,从单个VPC开始,逐步升级到多VPC、多区域部署。他们仔细解剖了静态路由、传播路由和动态路由的细微差别,强调了Transit Gateway和Amazon Cloud WAN等构造在促进VPC和区域之间无缝连接方面的关键作用。还广泛涵盖了利用防火墙和网络设备进行内联流量检查,强调了战略路由配置对于安全性和合规性的重要性。
此外,该演讲还深入探讨了混合连接场景,探索了通过Direct Connect和VPN连接将本地数据中心与亚马逊云科技资源集成的方式。演讲者阐明了复杂的流量工程技术,如AS路径预先加入和本地优先级操作,实现了对跨多个Direct Connect位置的流量流的精细控制。
在整个演讲过程中,演讲者分享了宝贵的专业技巧,将他们的专业知识浓缩为可操作的见解,以优化路由架构、提高弹性并排除常见挑战。演讲最后呼吁与会者利用所获得的知识在亚马逊云科技上设计和实施健壮、可扩展和安全的路由解决方案。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。