AWS - 手动创建VPC 公网,子网和NAT实例

AWS里面默认配置了4种场景的配置向导。通过这些向导可以很轻松的配置VPC网络。从学习的角度出发,豆子打算手动配置一下第二种场景,这样更能清楚的知道每一个服务组件的功能和关系。


场景拓扑如下

http://docs.aws.amazon.com/zh_cn/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

情景 2 配置

下表展示了此情景配置的主要组成部分。


简单的说就是需要创建两个子网,公网(或者更传统的更准确的说法是DMZ网)里面是网页服务器和NAT服务器,都可以访问互联网,内网里面是数据库服务器,网页服务器需要从数据库上读取信息,数据库服务器只有通过NAT服务器才能访问互联网。


配置向导1分钟就全都配完了,如果全手动操作,需要按顺序配置以下服务:

  1. VPC

  2. VPC下面配置两个子网

  3. 配置互联网的网关

  4. 给3种类型的服务器,Web Server, NAT Server 和DB Server 分别创建Security Group (防火墙)

  5. 安装服务器

  6. 每个子网需要配置对应的路由表

  7. 测试



首先创建一个VPC

AWS - 手动创建VPC 公网,子网和NAT实例_第1张图片


分配一个地址池

AWS - 手动创建VPC 公网,子网和NAT实例_第2张图片

创建好了

AWS - 手动创建VPC 公网,子网和NAT实例_第3张图片


然后需要在VPC的地址池内再创建2个子网

AWS - 手动创建VPC 公网,子网和NAT实例_第4张图片



创建一个公网(DMZ)地址范围,这个网络是可以直接和互联网相连的

AWS - 手动创建VPC 公网,子网和NAT实例_第5张图片


然后创建一个私网范围,这个网络通过NAT才能访问外网资源,但是外网无法直接访问他

AWS - 手动创建VPC 公网,子网和NAT实例_第6张图片


建好以后的样子

AWS - 手动创建VPC 公网,子网和NAT实例_第7张图片


然后需要给Public网络创建一个网关,这样才能去互联网

AWS - 手动创建VPC 公网,子网和NAT实例_第8张图片


创建互联网网关

AWS - 手动创建VPC 公网,子网和NAT实例_第9张图片


创建之后需要关联到指定的VPC,注意关联的是VPC而不是子网哦

AWS - 手动创建VPC 公网,子网和NAT实例_第10张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第11张图片


然后接下来创建3个安全组。每个虚拟机都会关联到某个安全组,在安全组上可以自定义防火墙的访问策略


AWS - 手动创建VPC 公网,子网和NAT实例_第12张图片

我需要创建3个不同的安全组,分别对应Pubic Web server, NAT Server和 Private DB Server

AWS - 手动创建VPC 公网,子网和NAT实例_第13张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第14张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第15张图片


创建完毕之后就可以配置防火墙的策略了。如下所示是最最基本的需求,也可以根据自己情况修改

AWS - 手动创建VPC 公网,子网和NAT实例_第16张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第17张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第18张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第19张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第20张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第21张图片




配置完安全组,就来配置实例吧。搜索NAT的镜像文件,找一个最新的Launch即可



AWS - 手动创建VPC 公网,子网和NAT实例_第22张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第23张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第24张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第25张图片

wKiom1OainKjK1FaAAA4wQiTFbY296.png



具体的步骤不需要赘述,就是创建了3个AMI Linux实例,注意选择安全组和子网就行了。


3个实例里面最关键的是NAT实例,创建完了以后可以查看一下配置文件是否齐全,IPTable 是否已经配置了


AWS - 手动创建VPC 公网,子网和NAT实例_第26张图片


AWS - 手动创建VPC 公网,子网和NAT实例_第27张图片


下面是个截图,简单的解释了一下IPtables 的转发配置

AWS - 手动创建VPC 公网,子网和NAT实例_第28张图片


创建了实例之后,需要给不同的子网创建路由表。我不打算使用默认的路由表,于是分别创建了2个路由表


AWS - 手动创建VPC 公网,子网和NAT实例_第29张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第30张图片


这个是公网的路由

AWS - 手动创建VPC 公网,子网和NAT实例_第31张图片


这个是私网的路由

AWS - 手动创建VPC 公网,子网和NAT实例_第32张图片

AWS - 手动创建VPC 公网,子网和NAT实例_第33张图片


配置完之后别忘记Disable NAT实例的 S/D 测试。


AWS - 手动创建VPC 公网,子网和NAT实例_第34张图片


okay,最后我们来测试一下


首先连接到公网的服务器看看



AWS - 手动创建VPC 公网,子网和NAT实例_第35张图片

试试看wget -p www.google.com, 发现不通,嗯,正常,因为outbound的规则里面本来就没有包括http/https


AWS - 手动创建VPC 公网,子网和NAT实例_第36张图片


然后我们拿这个机器作为跳板,链接到私网的服务器试试看,把证书拷贝到/tmp路径下,更改一下权限

AWS - 手动创建VPC 公网,子网和NAT实例_第37张图片


然后ssh链接,成功登录内网服务器

AWS - 手动创建VPC 公网,子网和NAT实例_第38张图片


可以Ping 外网

AWS - 手动创建VPC 公网,子网和NAT实例_第39张图片

也可以http 外网资源

AWS - 手动创建VPC 公网,子网和NAT实例_第40张图片


实验成功!




你可能感兴趣的:(AWS - 手动创建VPC 公网,子网和NAT实例)