今年2017 AWS re:Invent的NET301会议讲解了一些在今年关于AWS Direct Connect (DX)以及VPN的新特性,以及将客户网络接入到AWS数据中心的方式和一些技术细节。挨踢小茶觉得,这个章节还是干货满满的,有兴趣的可以查看原视频AWS re:Invent 2017: Extending Data Centers to the Cloud: Connectivity Options and Consideration (NET301) (需要自带梯子)。下面我来总结一下这个会议的一些要点吧。
不同的连接方式
要将客户的网络连接到AWS的数据中心中,和以往一样,有三种方法:通过公网IP地址直接访问;通过VPN访问;通过AWS Direct Connect访问。这些都不是什么新的东西了,如果对这些不了解的话,可以去看下挨踢小茶之前的文章使用软件VPN,硬件VPN或AWS DirectConnect连接客户网络与AWS。
AWS Managed VPN
AWS之前就已经可以通过建立VGW (Virtual Private Gateway)来与其他站点建立基于IPsec的Site to Site VPN连接。AWS负责维护VGW,所以你不需要担心它会出现故障,不需要担心它有性能问题,也不需要操心它的高可用设计。在这次会议中,这个服务有一些新的更新:
- 可以使用私有的ASN (Autonomous System Number)
- 自定义PSK秘钥
- 自定义VPN Tunnel的IP地址
- 可以使用CloudWatch来监控Tunnel线路的健康状态和变化
AWS Direct Connect (DX)
AWS Direct Connect (DX) 作为专线的形式连接AWS和客户的网络,今年有这些更新:
- 新的Direct Connect Location,截至发稿此刻,AWS全球已经有80个Direct Connect Location,因此你可以将你的线路连接到这些地点,从而让你的网络可以访问AWS的核心网络。最新的location可以查看这里
- 可以使用私有的ASN (Autonomous System Number)
- 可以使用CloudWatch来监控Direct Connect线路的健康状态和变化
- 支持了IPv6
- 支持链路聚合LAG (Link Aggregation Groups),最多支持4路。也就是说,如果你申请了4条10 Gbps的线路的话,可以进行链路聚合从而达到最高40 Gbps的带宽。
- 通过了HIPPA法案
Direct Connect Gateway
在以前,AWS Direct Connect有一个缺陷,那就是在申请链路的时候你需要选择一个区域(Region),从而这条线路就属于这个区域。客户网络只能通过DX线路来访问这个区域内的数据,而不能跨区域。如果有访问另一个区域的需求,那么你需要申请另一条DX线路。
Direct Connect Gateway解决了这个问题,它可以将位于不同区域内的VPC线通过Direct Connect Gateway连接到Direct Connect Location。因此如果你的账号拥有多个区域的资源,你只需要申请一条DX线路就可以了。
从下图也可以看到引入Direct Connect Gateway之前和之后的对比。上半部分是之前的,如果只有一条DX线路,你只能连接一个Region内的不同VPC(通过多个Private VIF);下半部分是之后的,你可以通过一个Direct Connect Gateway做中间代理,访问不同Region里面不同AZ的VPC(通过一条Private VIF)。
但是需要注意的是,Direct Connect Gateway有一个局限性,就是它不能连接跨账号的VPC。如果你有2个不同的AWS账号,希望通过一条DX线路和Direct Connect Gateway连接起来,那是不可以的。最少需要申请2条DX线路,分别接入不同的AWS账号中的VPC。另外,Direct Connect Gateway不支持中国的所有Region。
VPC中转的架构
大家都知道,AWS原生的VPC是不支持中转的。也就是说如果现在有3个VPC:VPC1,VPC2,VPC3,VPC1和VPC2做了VPC Peering,而且VPC2和VPC3做了VPC Peering,那么VPC1是不能通过VPC2来访问VPC3的。要实现两者的互访,一定要做VPC1和VPC3的Peering才可以。但是这样会有一个问题,如果VPC数量多了(假设是10个),那么要建立这样的full-mesh架构,需要建立45个VPC Peering,数量是惊人的!
这样的情况下,只能手工建立VPC中转,减少架构的复杂性。如下图所示,建立一个中转的hub VPC,里面搭建有VPN功能的EC2实例,并且不同的VPC以及客户网络都通过VPN与这个hub VPC建立连接。这样子就拥有了一个HUB-SPOKE的架构,所有的数据都首先路由到这个hub VPC进行中转,然后转发到目的地。
这样的架构有这些特点
- 减少Full-Mesh下的VPN Peering和VPN Tunnel的数量
- 可以在中转的VPC内做更高级的安全的控制,可以是7层(应用层)的安全控制,有别于VPC原生的只能做到4层( TCP层)的控制
- 可以解决VPC和客户网络IP地址有重合的情况
- 需要自己控制好EC2实例的高可用,比如在不同AZ各部署一台
- 需要做好EC2实例的监控,并且如果出现故障可以自动化部署一台新的实例(使用Auto Scaling Group或者CloudFormation)
- 可以使用第三方的软件来建立中转VPC,可以用思科,Juniper,Check Point,Palo Alto,或者开源的Openswan,OpenVPN的解决方案来搭建
而且,如果AWS的资源分布在全球的不同Region,那么也可以搭建regional的Hub来减少网络的延迟。如下图,在欧洲和北美洲各搭建了一个中转VPC,来连接各自临近的区域,然后再打通欧洲和北美洲这两个中转VPC,达到全球网络的分级架构。
文章评论
比别人多一点执着,你就会创造奇迹
比别人多一点执着,你就会创造奇迹
活捉大牛博主