故事内容纯粹编造。如有雷同,绝对是巧合。作为阿里云的MVP,还是需要讲故事的。
企业的应用,搬到阿里云上,那么你肯定要进行测试。如何让测试的过程,更加流畅。其实我这里就总结一下。
结论
- 阿里云ECS非常不错,尤其对于windows,投入还是非常大。很好解决了用户license的问题。如果你用过AWS的windows虚拟机,你真的会怀疑人生,搞不定密码登录。
- RDS Sql Server的高可用群集,。解决了数据库的license的问题,和群集配置复杂的问题。当年我也是中关村里第一个搞定Sql server 2000的群集的配置。
- 资源目录功能,可以实现完全的隔离,计费,用户管理。满足企业的目前的需求
- 阿里云的安全组配置,还是很酷,可以满足企业以前在商业防火墙规则,都能在安全组体现出来。安全组套安全组。
- 阿里云的vpc互联,技术上实现的还是非常值得称赞,一个region的vpc,就配置一下,就实现互联,不需要通过vpn,不需要通过公网IP地址。如果要找毛病就是阿里云输在前端UI上,用电商的前端思维来写云平台的前端,这很多时候也是致命的。云平台的前端,用户的数量和电商是好几个数量级别的差距。前端真的要懂搞网络的思维方式,来设计前端的UI。你说阿里云输在前端,这是多么悲哀的事情。
- 阿里云的收入,大部分都是来自长期运行的虚拟机,但是如果没有让客户很好测试,你很多功能是没法用上的,不提供按需,不彻底实现全部服务按需,这是一个很大的短板。
- 由于阿里云目前还不是按需主导。导致功能设置比较特别。例如阿里云提供NAT网关,可以共享给多个所谓资源组共享,vpc使用。感觉确实是省钱。但是如果平台是按需,你需要这样设计吗?你用多少,我就算多少收费。10个项目,创建10个nat网关,是很浪费,但是如果是按需计费,10个和1个,成本应该是一样的。
- 用电商的思维来搞云计算的计费系统,华为应该是用电信计费的思维来搞公有云计费。腾讯,估计是用游戏点卡的计费思维来搞公有云计费,经历过这些,估计你就不会认为有啥系统是复杂的。
对我来说,没有使用Terraform来搞定测试,生产环境的初始化,是我的做的不够的地方。偷懒是不对的。
阿里云账号
现在公有云,要做任何东西,都是需要实名认证。你注册下来的阿里云账号,也是需要经过实名,才能创建虚拟机。不然就什么都做不了。
企业实名认证的过程。对很多大企业,其实也是一个非常繁琐的流程,这个就自己研究。
阿里云提供4种方式来做企业实名
- 企业支付宝
- 企业法人个人支付宝
- 企业法人
- 银行转账
通用,财务能明白的,就的银行转账。
资源目录
一个阿里云账号,肯定会有很多部门,项目使用,有测试环境,开发环境,生产环境。费用的划分。这其实是一个很现实的问题。这些问题,如果没解决,其实你是很难用起来的。
当你登录上阿里云,看到子账号的功能,你会以为这个可以解决你的需求。看到资源组,觉得可以实现权限的控制。
其实这些都无法支撑企业的需求。
无论子账号还是资源组。都是无法实现单独的计费。更别说实现测试和生产环境的隔离。其实我在账号下,开一堆账号登录,都赋予admin full的权限,其实真的很麻烦的。如果权限给小,每天让你修改权限,你是无法承受的。
多个项目,部门使用阿里云,计费的问题,就完全暴露出来。
会有建议让你每个需要独立核算的,都单独一个账号。不过这样肯定不是长久的做法。管理上,也是大问题。
就算你是阿里云专家,资源目录的功能,你大概率是没听说过。
如何开通这个功能,倒是简单,你只需要企业实名认证就可以。个人实名无法开通。
开通后,如何玩了,我大概描述一下,大家就明白了。
类似以前OpenStack的子账号。
设置资源目录是
- 付费方式是:主账号付费,还是自己搞定。
- 设置一个邮箱用户,这是资源目录的主账号,他就可以在阿里云上登录
- 这个邮箱用户登录后,就会发现自己的账号,其实已经完成了企业实名。自己可以创建子账号。
- 如果选择自己充值,那么你就需要充值进去,才能创建ECS。你可以自己开发票。完全独立。
这是一套完全独立的环境,和你新的一套账号,其实你感觉不到任何区别。你可以清楚看到自己的消费情况。
按照阿里云的说法,好像是可以继续嵌套下去,这个没验证。改天再求证。
测试环境
测试环境,就是使用阿里云的资源目录的功能来进行的,测试一天,我们很清楚他的费用是多少,全部按需,就100块钱,我们预计整个迁移测试,大概3天,阿里云资源的消耗,也就300元。主要还是RDS贵,一个RDS,一天就超过70块钱。
如果你不是一个独立的环境,你根本就无法知道自己的费用。
这是一个公司项目的测试环境,需要使用到4个ECS,RDS,都是windows。我就整理一下我需要做的事情。
- 创建一个vpc,定制专用网络,由于要求ip地址必须和以前环境一致
- 挂接两个交换机,一个跑ECS,一个跑RDS
- 创建安全组,为了方便,每台ECS,都搞一个单独的安全组,这样方便。安全组的命名和ECS一致。
- 创建虚拟机,其实 我是一台一台创建,指定安全组,机器名字,因为数量不大。不要选择自动分配公网ip,这个要注意,避免后面的麻烦。
- 修改ip地址。需要你确认windows初始化完毕,关机,修改ip地址,重启。
- NAT网关+共享带宽,这一步,不是必须。不过还是不错的。我搞了半天才明白如何使用。让你的公网IP地址,可以实现共享带宽。
- EIP,申请ip地址,分配给NAT网关和ECS。
- RDS创建,设置白名单
完成上面的流程,虚拟机就可以访问。不过还是有些事情可以做。
共享目录
可以想到一个很现实的需求,windows系统,需要大量的安装工具和iso。如何几台机器上共享这些工具呢?其实一个很实用的做法
- 启用OSS,对象存储服务
- 创建一个bucket,例如sofitware
- 把需要用到的工具,软件,都上传到这个目录下,阿里云有专门的工具,需要配置密钥,就是创建用户的时候,运行密钥访问,给用户密钥,就可以配置工具访问这个目录。
- 配置文件网关服务,把对象存储的目录,模拟SMB的方式,让ECS访问。让你很方便访问这个目录,就像一个磁盘一样。
- 作为管理员,应该提前把文件网关服务器配置好。在创建虚拟机的时候,让他自动运行挂载的命令,这样就更加自动化。
- RDS数据导入,倒是很方便,把数据库文件上传到对象存储上,RDS可以直接通过连接地址,导入。非常方便。这个是不需要文件网关服务的。
完成测试后,你会看一下消耗了多少资源,成本是多少。测试环境的资源创建,全部都是按需的。这个地方,还是要批评一下阿里云,至少两个地方,是按天收费。这个其实真的是一个很没追求的做法。阿里云缺那么一点钱吗?这样做,负面影响多大呢?
生产环境
传统的企业的生产环境,也是要求,必须和任何测试,开发环境连通。那么阿里云上,其实也是一样。所以最好的玩法,还是参考上面,创建一个独立的资源目录,让他只能运行生产环境。
其实过程,应该和测试环境是一样,不过还是有区别的。
- 测试环境已经做好,我希望直接copy镜像,而不是去生产环境重装。
- 测试环境如果重装,我如何把我那个测试环境的bucket的软件,复制到生产环境的对象存储上。
- 以前我们都是系统盘,数据盘,是否可以只使用系统盘就可以。数据盘的意义已经不大,基本都是备份,备份可以考虑采用共享目录的方式。
目前阿里云是提供账号下的镜像共享功能,你可以共享你的镜像给其他账号,让他使用。我现在才明白当年OpenStack的Glance这个功能的用途。
关于对象存储的目录复制,目前就没太好的办法。下载到本地,再上传。