AWS里面默认配置了4种场景的配置向导。通过这些向导可以很轻松的配置VPC网络。从学习的角度出发,豆子打算手动配置一下第二种场景,这样更能清楚的知道每一个服务组件的功能和关系。
场景拓扑如下
http://docs.aws.amazon.com/zh_cn/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
情景 2 配置
下表展示了此情景配置的主要组成部分。
简单的说就是需要创建两个子网,公网(或者更传统的更准确的说法是DMZ网)里面是网页服务器和NAT服务器,都可以访问互联网,内网里面是数据库服务器,网页服务器需要从数据库上读取信息,数据库服务器只有通过NAT服务器才能访问互联网。
配置向导1分钟就全都配完了,如果全手动操作,需要按顺序配置以下服务:
VPC
VPC下面配置两个子网
配置互联网的网关
给3种类型的服务器,Web Server, NAT Server 和DB Server 分别创建Security Group (防火墙)
安装服务器
每个子网需要配置对应的路由表
测试
首先创建一个VPC
分配一个地址池
创建好了
然后需要在VPC的地址池内再创建2个子网
创建一个公网(DMZ)地址范围,这个网络是可以直接和互联网相连的
然后创建一个私网范围,这个网络通过NAT才能访问外网资源,但是外网无法直接访问他
建好以后的样子
然后需要给Public网络创建一个网关,这样才能去互联网
创建互联网网关
创建之后需要关联到指定的VPC,注意关联的是VPC而不是子网哦
然后接下来创建3个安全组。每个虚拟机都会关联到某个安全组,在安全组上可以自定义防火墙的访问策略
我需要创建3个不同的安全组,分别对应Pubic Web server, NAT Server和 Private DB Server
创建完毕之后就可以配置防火墙的策略了。如下所示是最最基本的需求,也可以根据自己情况修改
配置完安全组,就来配置实例吧。搜索NAT的镜像文件,找一个最新的Launch即可
具体的步骤不需要赘述,就是创建了3个AMI Linux实例,注意选择安全组和子网就行了。
3个实例里面最关键的是NAT实例,创建完了以后可以查看一下配置文件是否齐全,IPTable 是否已经配置了
下面是个截图,简单的解释了一下IPtables 的转发配置
创建了实例之后,需要给不同的子网创建路由表。我不打算使用默认的路由表,于是分别创建了2个路由表
这个是公网的路由
这个是私网的路由
配置完之后别忘记Disable NAT实例的 S/D 测试。
okay,最后我们来测试一下
首先连接到公网的服务器看看
试试看wget -p www.google.com, 发现不通,嗯,正常,因为outbound的规则里面本来就没有包括http/https
然后我们拿这个机器作为跳板,链接到私网的服务器试试看,把证书拷贝到/tmp路径下,更改一下权限
然后ssh链接,成功登录内网服务器
可以Ping 外网
也可以http 外网资源
实验成功!