如何在公有云建立第一套环境

前言

随着云计算的蓬勃发展,越来越多的公司开始把业务从IDC转向公有云,对于一直使用IDC机器的同学来讲,初次使用公有云一定会有些不习惯,甚至搞不清头绪,如此便不能利用公有云的一些特性来进行开发与运维工作的最佳实践,在此我将以aws为例,完成一个简单环境的搭建。我这里虽然使用aws的云环境,但是云平台厂家虽多,其原理确没有太大不同。aws可谓是最早最成熟的云计算平台,一些后起之秀多少借鉴了其设计原理与最佳实践,所以掌握了aws,其它云环境的学习也会容易的多。
 

正文

 
建立你的公有云帐号
AWS帐号可以个人注册,也可以公司注册,我使用的是公司的帐号,所以不再演示注册过程,注册过程可参考如下链接:
 
 
创建网络环境
服务未建,网络先行,我们使用的一切服务都运行于网络之上,和idc相同,我们需要对网络进行合理的规则,充分考虑服务的网络安全,充足的IP地址可用等情况
 
创建VPC(虚拟专有网络)
VPC就相当于你在网络上圈了一块地,你可以在里面养猪,种菜,这块地的大小,是以ip地址数量来计算的,所以你需要为它分配合理的网段, 分配网段需要全局考虑,因为以后可能有多个项目,多个VPC,所以一定不要分配重复的网段,不然以后两个VPC就无法通信了,也就是两块地里的猪无法通信谈恋爱(多么残忍)。我这里分配的网段是10.85.32.0/23,这包含了500多个可用地址,一般项目够用了(下面工具可以计算IP地址:https://tool.520101.com/wangluo/ipjisuan/
 
在VPC中创建多个子网
上面说到VPC相当于一整块地,但是你得把它分成多个区域,分别养猪、养狗、种菜吧,这样好白菜就不会被猪拱掉。说的专业一点,每个子网位于aws的不同可用区(available zone可理解为同一个地方的不同机房)这样可以分摊风险,一个机房被雷击中了,另一个还是好的。原则上至少分3个子网在不同的zone,不够3个zone的机房空闲sub-c先不分,因为现在一些aws的托管服务必须要有3个zone才能启动,免得用得到的时候尴尬起不来。我划分的三个子网为:sub-a 10.85.32.0/24, sub-b 10.85.33.0/25, sub-c 10.85.33.128/25,主要用sub-a。
 
创建InternetGateway
上面我们把地圈好了,也分成了多个小区域,但是好像没有建大门,如此我们怎么进农场里呢?所以就要用到InternetGateway,它就相当于vpc的大门,有了它,才能让外面的人访问vpc内的服务,下图为创建internet-gateway,创建完成后将其attach到相关vpc即可。
 
 
创建路由表并设置路由
学过网络原理的同学都知道,网络通信离不开路由,这个东西就像农场里的路标,告诉你怎么到大门口,所以我们要在路由表里配置相关路由,并和internet-gateway进行关联。
创建路由表:
绑定子网和路由表:
 
添加路由规则,指定上面创建的网关为出口:
 
 
配置两个VPC互相通信
前面说到,每个vpc都是一个隔离的空间,那么如何让两个vpc互通?答案是使用对等链接(peering connections)
对等链接可以在任何一方发起,并在另一方接受
 
接受连接后,两端都需要配置路由,以允许本地网络通过建立的peering connection与对方互通
 
 
创建需要的服务
现在网络环境已经完成,可以起各种服务了,也就是我们终于可以在农场里养动物了。
 
创建第一台EC2(aws中的一台虚拟主机)
公有云很方便的一点是支持自定义镜像,我们可以启动一台机器,在上面安装好需要的基础软件,并将其打包成镜像,下次直接用这个镜像启动机器即可,而不需每次加机器都重新安装了。
 
使用官方版centos7创建EC2:
 
选则自己想要的机型:
 
配置启动的实例数量和其它配置:
 
添加存储:
 
添加tag:
 
添加安全组:
安全组就是云平台的防火墙,安全组的配置遵循最小权限原则
 
生成ssh密钥(一定要在生成时保存好,否则找不回来)
 
控制台看到机器已经生成:
 
 
登录机器ping 百度正常,说明我们的网络配置没有问题:
 
至此就可以在机器上进行设置,安装软件了:
# install you need
yum -y install vim epel-release tcping telnet lrzsz sysstat xfsprogs-devel python-psutil
 
# close selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
 
# format disk to xfs
mkfs.xfs /dev/xvdb
 
# mount data disk
echo  "/dev/xvdb   /mnt     xfs     defaults        0 0"    >> /etc/fstab
mount -a
 
基础配置完成,生成镜像文件:
Action —> image —> create image
 
创建第一台RDS(aws托管的关系型数据库)
使用规范:
  • 必须使用自定义的parameter和option,因default参数无法更改,切换parameter和option会重启
  • 必须创建自定义的rds subnet group,不能包含k8s的subnet
  • 必须开启备份,保留时间和项目确认
  • 必须指定维护时间,备份必须设置在备份时间后且在低峰期,保证维护失败之前有备份
  • 安全组只能对本项目及监控agent开放
  • 不得开启加密Encryption,影响性能,并且开启后无法关闭
  • master username不得使用root
  • 适当开启自动存储扩展Storage autoscaling,磁盘不足自动扩容
  • 不开启增强监控Enhanced monitoring及审计Log exports,会有额外账单,遇到无法定位的性能问题时可适当开启
  • Auto minor version upgrade 必须配置为否,版本升级会导致重启
  • 使用最新一代机型,新机型性能好价格低
  • 在满足性能的情况下,磁盘应当使用gp2类型,iops类型贵一倍以上
 
推荐参数:
key value 备注
innodb_flush_log_at_trx_commit 2  
sync_binlog 0  
slow_query_log 1 开启慢查询
long_query_time 1  
max_connect_errors 99999999 尽量大

  

 

 
 
posted @ 2020-06-05 01:02  AlexGuoMe  阅读(248)  评论(0编辑  收藏  举报