亚马逊云AWS搭建多站点的VPN CloudHub架构

  在挨踢小茶之前的文章中有详细介绍如何利用AWS VPC的VGW与远程站点建立点对点的IPsec VPN连接(具体可以查看文章亚马逊云AWS搭建基于BGP动态路由的硬件VPN(Site to Site VPN)教程),本文主要讲解一下在多个远程站点的情况下,如果建立AWS VPN CloudHub架构。

  如果你有多个远程站点,并且每个站点都有一条与AWS VPC建立的VPN线路,那么AWS原生提供一种hub-and-spoke的模型来保证你的每个远程站点之间的通信。也就是说,客户的每个远程站点都可以通过VGW这个“中继站”来转发自己的流量,以达到可以互相访问的目的。这样子可以为一些企业建立高效、低成本、灵活的主用或者备用线路。同时,CloudHub模型不仅可以工作于VPN线路,同时还可以工作于AWS Direct Connect (DX)线路。也就是说,如果有些远程站点是使用DX线路连接到VGW的,那么它也可以与其他站点进行互访。

  CloudHub的架构不会收取您额外的费用,但VPN线路的每小时0.05美金费用还是会收取的。

  可以看到如下图所示,左边是位于AWS东京区域的VPC,右边是三个不同的远程办公室(悉尼办公室,新加坡办公室,孟买办公室)。他们的IP地址范围分别是10.1.0.0/24,10.2.0.0/24,10.3.0.0.24。每一个远程办公室都使用一台Customer Gateway (CGW)Virtual Private Gateway (VGW)建立VPN连接。这里需要注意的是,这次实验挨踢小茶故意没有将VGW attach到任何VPC中,也就是说这个VGW是独立运行的,不与任何VPC或者子网关联。每一个远程办公室都使用一个私有的BGP ASN号码来与AWS的BGP进程建立邻居关系,并且互相交换路由信息。在CloudHub的架构下,可以使三个不同的远程办公室进行互访。

AWS VPN CloudHub

创建CGW, VGW和VPN连接

  具体的一些创建的流程挨踢小茶在这里就不详细描述了,如果有不明白的朋友可以翻看一下我上一篇文章,里面有详细的讲解。在东京区域的VPC内创建3个Customer Gateway (CGW),分别输入CGW的公网IP地址,以及各自的BGP ASN进程号。这里采用65000,65001和65002三个私有的ASN号码。

3 CGW with different BGP ASN

  然后创建VGW,可以在这里看到它的状态是“detached”的,但是Cloudhub的架构也能正常运行。当然这里的VGW如果关联了任何的VPC,CloudHub也是能工作的。在这里AWS自动分配了一个公有的BGP ASN 10124。

VGW without attaching to a VPC

  接着创建3个不同的VPN连接,每一个条目是与不同的CGW进行的VPN连接。

3 VPN Connections

  接着可以根据VPN连接所指示的配置文件,对你的CGW进行详细配置(配置过程在这里也不进行详细介绍了)。

验证VPN CloudHub的连通性

  当所有配置做完之后,你会在AWS Console的VPN连接状态下,看到2个Tunnel都是”UP”的状态,并且都能收到BGP路由。同时,如果登陆到位于悉尼办公室的路由器,通过“show ip bgp summary”可以看到BGP邻居已经建立成功。

show ip bgp summary on R1

  登陆到悉尼办公室的CGW,用“show ip route”可以看到已经能收到来自新加坡办公室(10.2.0.0/24)以及孟买办公室(10.3.0.0/24)的路由条目了。

show ip route on R1

  使用“show ip bgp nei <Neighbor IP> received-routes”“show ip bgp nei <Neighbor IP> advertised-routes”可以看到悉尼的CGW从邻居收到了另外两个办公室的路由,并且发送给邻居自己办公室的路由。在这里,挨踢小茶做了一下路由过滤,只从BGP发布自己的局域网的路由,不发布默认路由给邻居。因为AWS给的默认配置文件,会将默认路由也发送给邻居,这种配置在多站点的情况下会出现一些路由混乱或环路。

show advertised-routes and received-routes on R1

验证3个站点的互通性

  分别登陆到3个远程站点的CGW中ping另外两个站点,发现都是已经可以两两互通了!

悉尼办公室ping新加坡和孟买办公室:

ping from R1 to R2 and R3

新加坡办公室ping悉尼和孟买办公室:

ping from R2 to R1 and R3

孟买办公室ping悉尼和新加坡办公室:

ping from R3 to R1 and R2

总结

  AWS VPN CloudHub的架构能够有效地解决多个远程办公室之间互访的问题。它的好处是部署快,成本低以及灵活性高,而且它能建立VPN Hub-and-Spoke模式而不需要建立所有站点的Full Mesh连接。但它也有不足之处,那就是所有站点之间的流量必须经过Hub站点,而不能像思科DMVPN (Dynamic Multipoint VPN) 一样能让站点与站点直接进行访问。因此如果悉尼用户要访问新加坡站点,他的所有流量必须先从悉尼绕到日本东京(Hub站点),然后再从东京去到新加坡,这样在网络延迟上会出现很大的问题。

  之后挨踢小茶会总结一下思科DMVPN (Dynamic Multipoint VPN)与AWS VPN CloudHub之间的优劣,尽请期待。


扫描下面二维码添加公众号【挨踢茶馆】,并回复微信群。您将被邀请进入AWS群,走向人生巅峰,迎娶白富美!  
 
 » 除非注明,本博客文章均为挨踢小茶原创,转载请以链接形式标明本文地址
该日志由 挨踢小茶 于2017年12月29日发表在 AWS, 云计算 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 亚马逊云AWS搭建多站点的VPN CloudHub架构 | 挨踢茶馆
关键字: , , ,

亚马逊云AWS搭建多站点的VPN CloudHub架构:目前有2 条留言

  1. 板凳
    putty:

    很不错,大部分都是国外的AWS应用方式,国内很多功能没有(北京,宁夏),希望楼主写一写国内的AWS实战经验,接接地气。

    2018-08-01 下午 11:23 [回复]
  2. 沙发
    八达网:

    新年好呀,新年好呀,祝福博主新年好!

    2018-01-01 下午 4:19 [回复]

发表评论



快捷键:Ctrl+Enter

使用以下社交账号登陆: