在AWS上搭建VPC三层架构的私有网络


概述

这里使用的是awsvpc, 因为使用aws的该功能,需要账户绑定授权usd的信用卡,没有的话,就操作不了。用aws的好处是,很多功能是有限时间内是免费的,可以很好的拿来做练习。

什么是vpc?
VPC(Virtual Private Cloud), 也就是虚拟是有云,允许您在云上构建出一个逻辑隔离分区,让您在自己定义的虚拟网络中创建并运行新网的资源。您可以完全掌控您的虚拟网络环境,包括选择自己的IP地址范围,创建子网和配置路由表等。

拓扑图设计

vpc拓扑图

拓扑图中的ALB应该是ELB

说明

  • 在区域俄亥俄州创建一个VPC
  • VPC有六个子网,两个可用区
  • 通过互联网网关(IGW),互联网可以访问该VPC
  • vpc内的设备通过NAT网关可以访问互联网
  • 有四台服务器(有用的就四台), 堡垒机, 两台web服务, 一台数据库服务器
  • 通过ELB(负载均衡)可以访问web服务器
  • 通过堡垒机可以远程web服务器数据库服务器
  • 数据库服务器web服务器才能访问
  • replica 不做,因为我不想做

1、创建VPC

说明

  • 在区域俄亥俄州搭建一个vpc
  • vpc网段是192.168.0.0/16

操作
1、进入vpc控制台(通过搜索可快速进入)
2、选择区域为俄亥俄州(在导航栏的右上角)
3、点击右上角的创建vpc即可进入创建页面
4、填写名称标签; ipv4 添加192.168.0.0/16,其他的默认
5、点击有下家的创建vpc即可完成创建

vpc详情

2、创建子网

标题 名称 网段 区域
public_subnet_1 公有子网1 192.168.0.0/24 az-1
public_subnet_2 公有子网2 192.168.1.0/24 az-2
private_subnet_1 私有子网1 192.168.2.0/24 az-1
public_subnet_2 私有子网2 192.168.3.0/24 az-2
db_subnet_1 数据子网1 192.168.0.0/24 az-1
db_subnet_2 数据子网2 192.168.0.0/24 az-2

操作
1、在vpc控制台,点击左边的子网->创建子网
2、vpc选择步骤1中创建的vpc可用区ip网段按上表填写
3、依次添加6个子网

创建好的子网

3、创建互联网网关(igw)和NAT网关

互联网能访问这个vpc里的设备,就需要互联网网关(igw), 同样vpc里的设备页面访问互联网,就需要到NAT网关

创建互联网网关

操作
1、在vpc控制台,点击左边的互联网网关->创建互联网网关
2、在新的页面中,填写标签名称, 然后点创建互联网网关
3、回到互联网网关页面后,点击右上角的操作->附加到vpc, vpc选自己创建的

互联网网关

创建NAT网关

操作
1、在vpc控制台,点击左边的NAT网关->创建NAT网关
2、在创建页面中,填写名称,子网选public_subnet_2
3、点击分配弹性IP, 最后点击创建NAT网关,完成创建

NAT网关

4、创建路由表

说明

  • 需要创建两个路由表,公网路由私网路由
  • 公网路由指向互联网网关(igw), 关联两个公有子网(public_subnet)
  • 私网路由指向NAT网关, 关联两个私有子网(private_subnet)

操作
1、在vpc控制台,点击路由表->创建路由表创建路由
2、填写标签vpc选自己创建的, 完成创建
3、回到路由表页面,勾中一个路由,下面就会出现详情
4、在详情路由中, 点击编辑路由
5、在编辑页面添加一条0.0.0.0/0互联网网关的路由(私网路由则是添加0.0.0.0/0nat网关
6、保存路由后,回头路由页面,在详情中,点击子网关联->编辑子网关联
7、在编辑子网关联页面中,勾选中两个公有子网(私网路由则是勾选两个私有子网
8、保存,完成路由创建

路由表

5、创建安全组

安全组是各个服务器间和互联网间互相访问的一个规则,公网能访问公有网段里的服务器,却不能访问私有网络的服务器,私有网络中的服务器,只能通过公有网段中的服务器或负载均衡器来访问

说明

  • 需要创建三个安全组,公网安全组, 私网完全组, 负载均衡安全组
  • 公网安全组允许互联网SSHICMP访问;
  • 负载均衡组允许互联网的HTTP访问
  • 私网安全组允许来自公网安全组SSHICMP来访问, 也允许负载安全组HTTP来访问

操作
1、在VPC控制台,点击安全组->创建安全组来创建
2、填写安全组名称, 描述, vpc勾选自己创建的
3、在入站规则中添加规则,根据上面的说明添加,
4、的话, 公网安全组负载均衡勾选任意位置, 而私网安全组勾选自定义,在后面的搜索中勾选来自安全组的对应选项
5、完成创建

安全组

6、创建服务器(EC2)

什么是EC2?
亚马逊弹性计算云(EC2,Elastic Compute Cloud)是一个让使用者可以租用云端电脑运行所需应用的系统

说明

  • 需要创建三台服务器, 堡垒机(dastion),web服务器1,web服务器2
  • 堡垒机部署在公有子网1上,使用公网安全组,分配公网IP
  • web1web2分别部署在私有子网1私有子网2上,使用私网安全组, 禁用公网IP
  • 上传web1, 和web2的秘钥到堡垒机上,用于利用堡垒机访问web1web2

操作
1、在EC2控制台(通过搜索可快速进入), 点击左边的实例,进入实例页面
2、点击右上角的启动实例,进入创建实例
3、服务器选Amazon Linux 2(亚马逊自己免费的linux服务器)
4、步骤2中的实例类型选免费的(默认勾选的)
5、步骤3中的配置实例详细信息,网络选自己创建的vpc
6、子网选择对应的,堡垒机选择公有子网, web服务器则选对应的私有子网
7、自动分配公有 IP中,堡垒机启用web服务器禁用
8、步骤4中的添加存储默认
9、步骤5中的添加标签添加个name的标签
10、步骤6中的配置安全组,勾选选择一个现有的安全组,堡垒机公网安全组web服务器私网安全组
11、最后的点击启动,会提示下载秘钥,怎么选新建, 然后下载pem文件到本地
12、启动示例完成

EC2实例

7、登录堡垒机web服务器

堡垒机分配公网ip,允许互联网中的SSH访问, 所以可以利用刚才下载的秘钥(pem文件)进入该服务器
说明

  • ssh到堡垒机
  • 将两个web服务器的秘钥上传到堡垒机
  • 利用堡垒机ssh到web服务器
  • 最后在两条web服务上安装nginx服务

操作
1、修改pem文件的权限 chmod 400 [文件名].pem
2、ssh到堡垒机ssh -i [文件名].pem [用户名]@[堡垒机的ip地址], 确认是可以登录的
3、ping 两个 web服务器的地址,确认是可通的
4、回到我们本地,利用scp命令将web的秘钥上传到堡垒机上,scp [web的秘钥].pem -i [堡垒机秘钥].pem [堡垒机用户名]@[堡垒机ip]:~/[web的秘钥].pem
5、登录到堡垒机,利用堡垒机进入到web服务器上,步骤跟进入到堡垒机一样
6、分别进入两台web服务器后,安装nginx服务sudo yum install -y nginx
7、分别在两台上启动nginx, sudo nginx
8、查看web服务器上的nginx是否有在运行(判断是都有监听80端口)netstat -napt | grep ::80

堡垒机上ping两台web服务器

查看80端口监听

8、利用负载均衡器(ELB)访问web

web服务器搭建好之后,需要互联网能访问这个服务器,但是web服务器在私有网段,互联网不能直接访问,这时候,就需要用到负载均衡器(ELB)来做流量转发,遇到http的协议(80端口)就均衡地发放到两台web服务上。

为什么要建两台web服务?
如果只有一台web服务器的话,那么遇到大访问量的时候,那必定请求响应缓慢。所以就需要用到多台web服务器(不一定是两台)来分担这些流量。而这时候负责流量接收,流量分配那就是ELB的工作了

实现原理
前面设置了负载均衡安全组私网安全组负载均衡安全组设置了可以接收来自互联网的http协议(80端口)的访问, 私网安全组设置了可以接收来自负载均衡安全组的http协议(80端口)。这样,ELB会接收来自互联的http访问,然后分配转发给web服务器

说明

  • 负载均衡的类型为http/https, 模式为面向internet
  • 可用区选两个公有子网(如果上面创建子网时,可用区选的是一样的话,这里就操作不了了)
  • 配置负载均衡安全组
  • 注册目标勾选那两台web服务器

操作
1、在EC2控制台,点击左边的负载平衡->负载均衡器进入负载均衡器页面
2、点击页面左上角的创建负载均衡器按钮,进入创建步骤,选择http/https的负载均衡类型
3、在步骤1中配置负载均衡器

  • 填写名称
  • 模式选面向interlnet
  • vpc选择自己创建的
  • 可用区两个都勾选上,选公有子网
  • 其他保持默认

4、在步骤3中配置安全组中,使用现有的安全组,勾选负载均衡安全组
5、在步骤4的配置路由中创建目标组, 填写名称,其他默认
6、在步骤5的注册目标中,勾选两台web服务器,然后点击添加到已注册
7、最后点击审核, 完成创建

负载均衡器

9、访问web服务器测试

负载均衡器中的DNS名称就是网址,黏贴到浏览器,就可以访问web网页

网页访问

验证负载均衡
修改两个web服务器的网页的index.html文件,一个标注为1, 一个标注为2,然后大量访问该网址(一般使用工具),到达某个量,就都可以访问到这两个页面。不过这个只是理论,我未去测试

10、创建DB服务器

web服务器创建完后,需要数据库服务器,给web提供数据支持。根据上面的步骤,可以创建在数据子网(db_subnet)内创建db服务器,允许私网安全组3306端口(mysql的端口)访问

说明

  • 创建数据库安全组,允许私网安全组3306端口, 允许公网安全组SSH, ICMP访问
  • 数据子网既不能被互联网访问,也不能访问互联网
  • 创建一天EC2服务器,安装mysql(需要nat网关)
  • 在web服务器中,访问DB服务器,可以利用Mycli客户端访问

操作
略, 参考以上的操作

相关教程
需要对linux个MySQL有一定的基础了解
CentOS 7安装mycli
CentOs 安装mysql
mysql 登录授权

在web服务器上链接db服务器

最后总结

这样具有三层结构的私有网络就这样完成了,其中很多步骤在做的时候,需要多理解,多操作。

还有一个就是,因为使用的aws的服务,国内用的话,会有经常掉线的问题,如果在堡垒机上面工作的话,掉线了,在进入,很多操作都得重新再来,这个让人很抓狂,说以,可以在堡垒机上安装tmux软件,即使掉线了,在进入的话,可以很方便的继续工作

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容