首页 > 云计算 > 开源云工具 > 在滴滴云快速搭建自己的简易服务集群[入门版]
万物互联的时代,各行各业都或多或少的接入线上,作为开发人员,我们有了小而美的产品或服务方面的想法,就把它她做出来放到线上,让它发展壮大。
我以 滴滴云 为例,教你一步一步的搭建自己的服务器集群,包括负载均衡、Web 应用安全防火墙、构建部署等,当然这些都是可以根据你的服务发展拆分的。
以下小节循序渐进,每一节都可以停止,满足你线上服务发展的每一步诉求。
名词解释
更多关于地域和可用区的解释和选择请参考 地域与可用区 。
首先,最基本的云服务器资源,在 滴滴云 对应的是 DC2。
下图为云服务器的创建过程,看起来很多选项,但很多使用默认的即可,下面我们一步一步来创建你的云服务器:
选项-付费方式
一开始选择付费方式,如果只是跟着例子先尝试一把的话可以先买按时长计费的(相比包月可以随时删除,搭建好后也可以转为包月计费),如果已经准备好做什么了,那选择包月付费的可以得到一定的优惠。
选项-可用区
你希望你的云服务器放在哪个地方,选择靠近您客户的地域,可降低网络延迟,提高客户的访问速度,需要注意的是不同地域的云资源之间内网互不相通。
这里可能你会疑问为什么不放在中部,而普遍在广州、北京这种相对极南靠北的地方?
机房选址是一个非常复杂的过程,涉及到技术方面、资金方面、投资环境、税收、电力和通信、基础设施、交通成本、人力成本等,其实就算在中部相对较远的地方也会有延迟问题,对于网络延迟问题,有多机房,CDN 等解决方案,在其他地区布设机房的的情况也在逐渐增多。
选项-服务器类型
对于服务器类型可以参考
云服务器规格族
。各个类型都有自身特定场景的优势,根据自己使用场景选择相应的类型,达到适用、够用不浪费就行。这里我们选择通用型。
选项-镜像
镜像可以简单的理解为你的服务器的系统。当然你还可以方便的使用一键部署镜像,或其他已有服务器镜像,快速的创建已部署指定应用和环境的服务器。
下面的云安全和云监控根据需要勾选即可。
云监控可以时刻可视化观察服务器各项指标的监控图示;主机安全在一定程度上防护服务器免受黑客或病毒侵害。
选项-配置
配置买多大合适呢?这个问题不用纠结,我们可以先买低配置的,后面根据需要,比如你的服务做大了,就可以根据业务发展在对应服务器管理界面快速的升级配置,而不用重新创建服务器及其应用和环境。
这里也提供了 Open API,你可以写脚本根据服务器压力等指标自动的执行升配操作,参考
更改 DC2 配置
。
选项-系统盘
这里我们使用高效云盘,
如何选择系统盘
。
选项-数据盘
数据盘根据需要配置,也可以后期根据业务需要配置。
选项-网络
如果只是一台服务器,选择默认的即可,后面第三节会涉及到 VPC 详细的创建及配置。
选项-带宽
根据服务用户规模选择带宽大小,也可以根据需要选自适合自己的带宽计费方式,固定带宽或按量计费。
租用带宽会固定分配一个外网 EIP,没有外网 EIP,该服务器不能直接对外提供服务,只能通过 Web 控制台访问;或第二、三节会讲到的同一个 VPC 下的其他服务器间接访问;或 SLB 的外网 EIP 间接访问。
后面我们要创建带负载均衡 SLB 的服务集群,因此该项可以不勾选而通过 SLB 的外网 EIP 访问。
选项-安全组
这里可以先使用默认的,第三节会涉及到安全组详细的创建及配置。
安全组可以理解为防火墙组,就是管理你的服务器的一套防护墙规则的分组。这里使用的是白名单规则,不在规则内的无法访问。比如默认规则里面添加了 [入方向->TCP->80 端口] 则外网才可以访问你的服务器的 80 端口的应用服务。
选项-登录方式
推荐添加 SSH key,方便后面免密登录服务器操作。
选项-包月时长
根据需要和当时活动选择。
选项-自动续费
按时长没有此选项,保持账户充足余额即可,包月的最好勾选自动续费,防止资源到期忘了续期被停服。]
选项-数量和名称
创建集群的时候可以批量创建服务器及配置,名称回以你输入的名称为前缀自动序号叠加。
cluster:app1
。
好了点击确认,我们的服务器创建完后,如果选择了带宽会分配外网 EIP,通过外网 EIP 用 SSH 远程登进去就可以自由的开始你的操作了。
关于其他使用说明可以参考 云服务器使用教程-Linux 。
首先来看下我们稍后要搭建的简易服务器集群怎么提供服务的,如下图:
如上图,我们涉及前面提到的专有网络 VPC,安全组 SG,负载均衡 SLB,及服务器 DC2,从图中可以看到所有资源在同一个 VPC 网段内,因为不同 VPC 的机器之间网络不通,这样就形成了 cluster:app1 这个集群的私有网络。
从左边开始,首先是配置有公网 EIP 的 SLB,可以通过外网访问这个 IP 下的 SLB 服务,SLB 按一定的均衡规则将请求转发到集群的某一台服务器 DC2,服务器收到请求后再将请求响应给对应请求者,完成一次服务。
这个中间的 DC2 .22.26 服务器是集群的子节点(只有内网 IP,不用购置带宽),并配置同一安全组,不让外界随意访问服务器上的应用。这里只是示意,可以根据需要自定义动态扩展或缩减集群服务器数量。
右边还有一个 Deploy DC2 用来给开发人员通过外网部署代码到集群服务器的跳板机。这里我们先使用默认的 VPC 和安全组 SG 创建集群涉及的所有资源:DC2、SLB等,下一节再讲 VPC 和 SG 等的自定义配置。
按第一节中的步骤创建 3 台服务器,分别为 DC2.22、DC2.26、DeployDC2,前两个作为集群服务器,不用购置外网 EIP 即带宽选项,DeployDC2 作为跳板机需要外网 EIP,其他 VPC 和安全组使用默认即可。
这里先创建 DeployDC2,通过对应的外网 EIP SSH 登录到该机器后生成该机器的 SSH key,然后在用该机器的 public ssh key 去创建集群的服务器,这样后面就可以通过 DeployDC2 免密操作集群的机器了。
负载均衡(Server Load Balancer)是对多台云服务器 DC2 进行流量分发的负载均衡服务。
负载均衡器通过设置虚拟服务地址,将位于同一机房的多台 DC2 实例虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中,以此来扩展应用系统对外的服务能力,并消除单点故障的影响进而提升服务系统的可用性。详情参考 负载均衡产品简介
选项-地域
和服务器一样,子网也有特定的地域供选择,同一集群我们保持所有资源的地域一致。
选项-付费方式
同 DC2。
选项-设置名称
自定义,方便识别管理即可。
选项-网络
整个集群需要在同一 VPC 专有网络下,这节配置的资源都使用默认即可。
选项-带宽
若不勾选,负载均衡仅提供滴滴云私网 IP 地址,只能通过滴滴云内部网络访问该负载均衡,Internet 用户无法访问,目前只支持公网负载均衡。
从上面集群的结构图中也可以看到,SLB 的公网 EIP 是我们将要搭建的集群的入口,所以勾选并选择合适的带宽。这里的带宽也支持后续弹性伸缩的,所以选择默认的即可,后面根据业务需要动态伸缩。
通过云服务器 DeployDC2 对应的 EIP,在 Terminal 中
ssh dc2-user@DeployDC2
的 EIP 登录到 DeployDC2 服务器,然后在通过当前服务器 SSH 使用 DC2.22 或 DC2.26 的内网 IP 分别登录到集群的两个机器上进行操作。
为了方便,你还可以在 DeployDC2 上编写脚本或者编写一个 Web 部署界面来操作上线部署,回滚等。
如下图,除了前两节中出现的 VPC 和安全组 SG 会在这里看到详细的配置外,还会讲到 HTTPS 的 CA 证书,Web 应用程序防火墙,与自动化构建结合部署集群。后面这些不是必须的,但在安全和便利上收益是很大的。
这里我们需要搭建一套服务器集群,会涉及到 VPC 配置(Virtual Private Cloud)提供用户安全、隔离、IP 地址可自定义配置的网络环境。
您可以完全掌控自己的专有网络,包括申请弹性公网 IP、创建子网、设置地址范围、子网段、设置安全组策略,部署云服务器、负载均衡等云服务资源,类似于利用 VPC 搭建你不同服务的内网环境。
VPC 底层进行了网络隔离,确保不同 VPC 之间网络流量不可见。 VPC 内部网络资源在隧道内部一跳即可到达目标资源,减少网络传输过程中可能出现的未知隐患。此外,VPC 内提供 IP 级别安全组,可以指定对虚拟机资源进行网络安全限制,包括针对协议,端口,进出双向限制,确保 VPC 内部安全。详情参考 专有网络 VPC 。
… …
选项-名称
按规则自定义即可。
选项-VPC网段
这里提供了为私有网络预留的三个 IP 网段 10.0.0.0/8、172.16.0.0.0/12、192.168.0.0/16, 包含可用的 IP 数依次减少,根据你的集群中服务器等资源的使用场景和规模选择合适够用的 IP 段即可。
选项-子网名称
按规则自定义即可。
选项-子网可用区
这里需要和当前集群中的服务器的可用区保持一致,同一应用服务可在不同可用区部署互作灾备。
选项-子网网段
VPC 子网网段是 VPC 网段下的子集,可以为不同的应用服务集群配置不同的子网网段,以便批量网络管理。
创建好后 VPC 及子网后,我们来创建集群中的服务器,创建过程同前面小节中的 DC2 创建过程,不同的是在 选项-网络 这一步选择这里创建的 VPC 及对应子网。当然在 VPC 的管理列表里面也有从对应子网直接以此创建 DC2 的快捷功能。
同理,SLB 的创建在选择 VPC 及子网的时候选择这里创建的同一 VPC 及子网即可。
其他详情参考 VPC 使用教程 。
安全组规则采用的是白名单方式,允许规则外的流量都会被禁止,滴滴云默认提供了一个基础的安全组,里面配置了基本端口的规则,比如 22,80 等,如果理解并确定不需要的规则可以修改或删除,或者不使用默认的安全组。
一个安全组对应多个规则,每个云服务器资源上可以叠加多个安全组,这样有便于你分类管理。详情可以参考 安全组使用教程 。
选项-地域
选择你的 VPC 所在的地域。
选项-名称
自定义即可。
选项-描述
比如某一服务需要开启一批端口号,为了后面服用,加一个描述便于区别,自定义即可。
选项-VPC
选择与集群服务器在同一个地域的 VPC。
选项-添加安全组规则
这里使用的是白名单形式,不指定则无法通过只应用该安全组的云服务器访问外部资源,也不能通过外网访问该云服务器上的服务。非必填项,可以创建后在添加配置。
如下图根据需要按步骤操作,开通后可以配置多个不同域名:
选项-填写域名
填写你需要保护的站点的域名,例如:
。
选项-协议
你的站点使用的协议是 HTTP 还是 HTTPS,根据需要选择,如果是 HTTPS 的需要配置对应域名的 HTTPS 认证证书。个人站点的话网上提供了一些免费的证书获取方式,企业的话可以在滴滴云上
购置证书
。
选项-源站IP
这里选择使用 SLB 的外网 EIP 即可。
配置完成后,我们在 WAF 列表找到对应域名项,复制 CNAME ,然后去购买域名的商家管理页面,将你的域名使用 CNAME 解析方式解析到刚才复制的 CNAME 。
好了,现在总算把本节开头的集群结构图上涉及的云资源配置完了。剩下最下面的自动化部署部分的方案很多,这里使用 GitLab CI&CD 的方案,可以参考前面的文章 Gitlab CI&CD 在前端项目自动化构建部署中的实践 。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31559758/viewspace-2637582/ ,如需转载,请注明出处,否则将追究法律责任。