在AWS的核心服务中,VPC毫无疑问是最重要的一环。用户需要给虚拟机定义一个CIDR 网络范围,并在其中划分子网和配置防火墙和路由等等。那么不同的网络范围如何互相访问呢?


目前 AWS下面可以分成下面几种情况:


1. 在同一个VPC下的子网,本身默认就是可以互相访问的,用户只需要对ACL和Security Group进行访问控制即可;


2. 如果想把公司的数据中心网络和AWS联系起来,可以通过配置××× Connection在VPC配置Virtual Private Gateway, 在公司数据中心配置Customer Gateway,然后通过IPSEC联系起来。 Customer Gateway可以是思科或者Juniper的硬件防火墙,也可以是微软的服务器(软件防火墙),只要满足相关的技术要求即可。


3. 同是AWS下面的VPC网络,但是处于不同的Region,比如一个在悉尼,一个在香港,只要他们彼此之间没有重复冲突的网址,那么可以在各自的VPC公共网络通过配置××× 实例来实现IPSec连接。

http://aws.amazon.com/articles/5472675506466066

这个豆子会在下一篇博客进行配置说明。


4.最后一种情况,是在同一个Region下面的不同VPC网络需要互相访问。这个可以通过VPC Peering来实现。也就是下面豆子要做的实验。


VPC Peering应该算是一个比较新的功能,在我写这篇博客的时候推出来还不到4个月。之前即使是同一个Region下的VPC连接也只能使用第三种方案,配置比较麻烦,还会造成额外的开支,毕竟多了2个EC2的实例出来,现在很容易了,只需要鼠标点几下,5分钟就能轻松搞定。


首先创建2 个不同的VPC 网络,分别叫Syd和Mel

AWS - VPC  Peering_ vpc peering


创建好之后如下所示

AWS - VPC  Peering_aws_02


在VPC的Dashboard上选择 VPC Peering, 点击创建


AWS - VPC  Peering_ vpc peering_03


如下所示,可以链接同一个账号下的VPC网络,也可以是不同账号的。但是注意必须处于同一个Region之中

AWS - VPC  Peering_aws_04


确认并发送请求

AWS - VPC  Peering_aws_05

必须接受请求才能连接


AWS - VPC  Peering_ vpc peering_06


连接之后状态就变成 Active了

AWS - VPC  Peering_aws_07



接下来还需要更改一下路由表,切换到路由表的设置,我有2个默认的路由表


AWS - VPC  Peering_ vpc peering_08


分别把对方VPC的地址输入,网关选择为刚才创建的VPC Peering的ID

AWS - VPC  Peering_aws_09


然后在各自的VPC下面都创建一个EC2的实例


AWS - VPC  Peering_ vpc peering_10



为了测试Ping,对应的Security Group里面还需打开ICMP。


请注意!!!这里因为是不同的VPC,所以传递ID的时候是没法把不同VPC的Security Group的编号传过去,他只能显示本VPC内的SG。

AWS - VPC  Peering_aws_11


我只能用CIDR的网络格式来进行过滤

AWS - VPC  Peering_aws_12


最后测试一下,我可以从172.31.11.121的实例上Ping 10.1.1.47。

AWS - VPC  Peering_ vpc peering_13


实验成功!


下一篇我们看个比较复杂的设置,如何在跨Region的VPC上配置××× Instance