博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AWS - 手动创建VPC 公网,子网和NAT实例
阅读量:6119 次
发布时间:2019-06-21

本文共 1265 字,大约阅读时间需要 4 分钟。

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

场景拓扑如下

情景 2 配置

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

场景 2 的示意图:带有公有子网和私有子网的 VPC

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

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

  1. VPC

  2. VPC下面配置两个子网

  3. 配置互联网的网关

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

  5. 安装服务器

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

  7. 测试

首先创建一个VPC

wKiom1OaijyR898yAACRJUU-7GE366.png

分配一个地址池

wKioL1OaihDwQYUWAABCNuHu2w4139.png

创建好了

wKiom1Oaij-g2XnMAABYLZzAHXc924.png

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

wKioL1OaihSxB5sXAABwbR9Fois950.png

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

wKiom1OaikLATua9AABFQQmcz4w537.png

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

wKioL1OaihaQZlFzAABFqZnDUyk775.png

建好以后的样子

wKiom1OaikWykplQAABbgjNwCSg012.png

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

wKioL1OaihnRdi-UAACAUTHp-eY369.png

创建互联网网关

wKiom1OaikjCVpaIAAAlRr0d83Q243.png

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

wKioL1OaihyhlOMAAABEnt319Tc025.png

wKiom1OaikviU_F3AABnh4mjX4U541.png

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

wKioL1OaiiHTp_VkAACrO3mY4d8686.png

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

wKiom1Oaik-A6RJMAAAul4d0Uvs301.png

wKioL1OaiiOT-iA_AAAvhKNCxV0472.png

wKiom1OailLhQumZAAAuYQIMHDU103.png

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

wKioL1OaiieQrKV2AABH4HOiATo869.png

wKiom1OailbwerJhAAA7drU513c419.png

wKioL1OaiiqzD-ruAABGH4911GQ658.png

wKiom1OailjA04pYAAAh786LPH4144.png

wKiom1OailqBjp3yAAAw6EcTo-o029.png

wKioL1Oaii7AK77BAAAtjYdUF5E297.png

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

wKiom1Oaimfi0mPgAAFDTY7DYuU276.png

wKioL1Oaij3g3LJIAACYhKK3vtM569.png

wKiom1Oaim6DpM8kAAC4HWFUyhA308.png

wKioL1OaikPSxT8FAABsOaVQGEg004.png

wKiom1OainKjK1FaAAA4wQiTFbY296.png

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

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

wKiom1Oaj5_CNz_LAABJv68aU7s247.png

wKioL1Oaj3Thy9X0AABQ_3svwOs978.png

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

wKiom1Oaj6CSGnKuAABhCF3cPv0907.png

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

wKioL1OaikaSCNxjAABoIRxBRv0102.png

wKiom1OainXigaveAAAzULw-JAM244.png

这个是公网的路由

wKioL1OaikmQg3lSAAA1ye7CKvA591.png

这个是私网的路由

wKiom1Oaj43wiDdLAAArf7CajpE981.png

wKioL1Oaj2HA-GlFAAAiX_JbFok184.png

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

wKiom1Oaj5GTJT-cAACqnNDZs0g224.png

okay,最后我们来测试一下

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

wKioL1Oaj2WyBonEAABcEt0YVjk365.png

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

wKiom1Oaj5jTmVItAAA505FG3mI561.png

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

wKioL1Oaj2zhYGqsAAAzYfhBFYI558.png

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

wKioL1Oaj26yFNeKAAAyChYKAXo066.png

可以Ping 外网

wKiom1Oaj5yw9E-SAABKzhvErrs035.png

也可以http 外网资源

wKioL1Oaj3CDE7tlAABr188Gw_0940.png

实验成功!

本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1425890,如需转载请自行联系原作者
你可能感兴趣的文章
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
【BZOJ】1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路(floyd)
查看>>
cmake总结
查看>>