Apr 282020
 

故事内容纯粹编造。如有雷同,绝对是巧合。作为阿里云的MVP,还是需要讲故事的。

企业的应用,搬到阿里云上,那么你肯定要进行测试。如何让测试的过程,更加流畅。其实我这里就总结一下。

结论

  1. 阿里云ECS非常不错,尤其对于windows,投入还是非常大。很好解决了用户license的问题。如果你用过AWS的windows虚拟机,你真的会怀疑人生,搞不定密码登录。
  2. RDS Sql Server的高可用群集,。解决了数据库的license的问题,和群集配置复杂的问题。当年我也是中关村里第一个搞定Sql server 2000的群集的配置。
  3. 资源目录功能,可以实现完全的隔离,计费,用户管理。满足企业的目前的需求
  4. 阿里云的安全组配置,还是很酷,可以满足企业以前在商业防火墙规则,都能在安全组体现出来。安全组套安全组。
  5. 阿里云的vpc互联,技术上实现的还是非常值得称赞,一个region的vpc,就配置一下,就实现互联,不需要通过vpn,不需要通过公网IP地址。如果要找毛病就是阿里云输在前端UI上,用电商的前端思维来写云平台的前端,这很多时候也是致命的。云平台的前端,用户的数量和电商是好几个数量级别的差距。前端真的要懂搞网络的思维方式,来设计前端的UI。你说阿里云输在前端,这是多么悲哀的事情。
  6. 阿里云的收入,大部分都是来自长期运行的虚拟机,但是如果没有让客户很好测试,你很多功能是没法用上的,不提供按需,不彻底实现全部服务按需,这是一个很大的短板。
  7. 由于阿里云目前还不是按需主导。导致功能设置比较特别。例如阿里云提供NAT网关,可以共享给多个所谓资源组共享,vpc使用。感觉确实是省钱。但是如果平台是按需,你需要这样设计吗?你用多少,我就算多少收费。10个项目,创建10个nat网关,是很浪费,但是如果是按需计费,10个和1个,成本应该是一样的。
  8. 用电商的思维来搞云计算的计费系统,华为应该是用电信计费的思维来搞公有云计费。腾讯,估计是用游戏点卡的计费思维来搞公有云计费,经历过这些,估计你就不会认为有啥系统是复杂的。

对我来说,没有使用Terraform来搞定测试,生产环境的初始化,是我的做的不够的地方。偷懒是不对的。

阿里云账号

现在公有云,要做任何东西,都是需要实名认证。你注册下来的阿里云账号,也是需要经过实名,才能创建虚拟机。不然就什么都做不了。

企业实名认证的过程。对很多大企业,其实也是一个非常繁琐的流程,这个就自己研究。

阿里云提供4种方式来做企业实名

  1. 企业支付宝
  2. 企业法人个人支付宝
  3. 企业法人
  4. 银行转账

通用,财务能明白的,就的银行转账。

资源目录

一个阿里云账号,肯定会有很多部门,项目使用,有测试环境,开发环境,生产环境。费用的划分。这其实是一个很现实的问题。这些问题,如果没解决,其实你是很难用起来的。

当你登录上阿里云,看到子账号的功能,你会以为这个可以解决你的需求。看到资源组,觉得可以实现权限的控制。

其实这些都无法支撑企业的需求。

无论子账号还是资源组。都是无法实现单独的计费。更别说实现测试和生产环境的隔离。其实我在账号下,开一堆账号登录,都赋予admin full的权限,其实真的很麻烦的。如果权限给小,每天让你修改权限,你是无法承受的。

多个项目,部门使用阿里云,计费的问题,就完全暴露出来。

会有建议让你每个需要独立核算的,都单独一个账号。不过这样肯定不是长久的做法。管理上,也是大问题。

就算你是阿里云专家,资源目录的功能,你大概率是没听说过。

如何开通这个功能,倒是简单,你只需要企业实名认证就可以。个人实名无法开通。

开通后,如何玩了,我大概描述一下,大家就明白了。

类似以前OpenStack的子账号。

设置资源目录是

  1. 付费方式是:主账号付费,还是自己搞定。
  2. 设置一个邮箱用户,这是资源目录的主账号,他就可以在阿里云上登录
  3. 这个邮箱用户登录后,就会发现自己的账号,其实已经完成了企业实名。自己可以创建子账号。
  4. 如果选择自己充值,那么你就需要充值进去,才能创建ECS。你可以自己开发票。完全独立。

这是一套完全独立的环境,和你新的一套账号,其实你感觉不到任何区别。你可以清楚看到自己的消费情况。

按照阿里云的说法,好像是可以继续嵌套下去,这个没验证。改天再求证。

测试环境

测试环境,就是使用阿里云的资源目录的功能来进行的,测试一天,我们很清楚他的费用是多少,全部按需,就100块钱,我们预计整个迁移测试,大概3天,阿里云资源的消耗,也就300元。主要还是RDS贵,一个RDS,一天就超过70块钱。

如果你不是一个独立的环境,你根本就无法知道自己的费用。

这是一个公司项目的测试环境,需要使用到4个ECS,RDS,都是windows。我就整理一下我需要做的事情。

  1. 创建一个vpc,定制专用网络,由于要求ip地址必须和以前环境一致
  2. 挂接两个交换机,一个跑ECS,一个跑RDS
  3. 创建安全组,为了方便,每台ECS,都搞一个单独的安全组,这样方便。安全组的命名和ECS一致。
  4. 创建虚拟机,其实 我是一台一台创建,指定安全组,机器名字,因为数量不大。不要选择自动分配公网ip,这个要注意,避免后面的麻烦。
  5. 修改ip地址。需要你确认windows初始化完毕,关机,修改ip地址,重启。
  6. NAT网关+共享带宽,这一步,不是必须。不过还是不错的。我搞了半天才明白如何使用。让你的公网IP地址,可以实现共享带宽。
  7. EIP,申请ip地址,分配给NAT网关和ECS。
  8. RDS创建,设置白名单

完成上面的流程,虚拟机就可以访问。不过还是有些事情可以做。

共享目录

可以想到一个很现实的需求,windows系统,需要大量的安装工具和iso。如何几台机器上共享这些工具呢?其实一个很实用的做法

  1. 启用OSS,对象存储服务
  2. 创建一个bucket,例如sofitware
  3. 把需要用到的工具,软件,都上传到这个目录下,阿里云有专门的工具,需要配置密钥,就是创建用户的时候,运行密钥访问,给用户密钥,就可以配置工具访问这个目录。
  4. 配置文件网关服务,把对象存储的目录,模拟SMB的方式,让ECS访问。让你很方便访问这个目录,就像一个磁盘一样。
  5. 作为管理员,应该提前把文件网关服务器配置好。在创建虚拟机的时候,让他自动运行挂载的命令,这样就更加自动化。
  6. RDS数据导入,倒是很方便,把数据库文件上传到对象存储上,RDS可以直接通过连接地址,导入。非常方便。这个是不需要文件网关服务的。

完成测试后,你会看一下消耗了多少资源,成本是多少。测试环境的资源创建,全部都是按需的。这个地方,还是要批评一下阿里云,至少两个地方,是按天收费。这个其实真的是一个很没追求的做法。阿里云缺那么一点钱吗?这样做,负面影响多大呢?

生产环境

传统的企业的生产环境,也是要求,必须和任何测试,开发环境连通。那么阿里云上,其实也是一样。所以最好的玩法,还是参考上面,创建一个独立的资源目录,让他只能运行生产环境。

其实过程,应该和测试环境是一样,不过还是有区别的。

  • 测试环境已经做好,我希望直接copy镜像,而不是去生产环境重装。
  • 测试环境如果重装,我如何把我那个测试环境的bucket的软件,复制到生产环境的对象存储上。
  • 以前我们都是系统盘,数据盘,是否可以只使用系统盘就可以。数据盘的意义已经不大,基本都是备份,备份可以考虑采用共享目录的方式。

目前阿里云是提供账号下的镜像共享功能,你可以共享你的镜像给其他账号,让他使用。我现在才明白当年OpenStack的Glance这个功能的用途。

关于对象存储的目录复制,目前就没太好的办法。下载到本地,再上传。

Apr 152020
 

因为我要做服务器的迁移,要求IP地址和以前完全一致,这个阿里云是支持的,可以自己定义网段,甚至可以指定这个网段的ip地址,看上去都狠不错,结果我就遇到了这个bug。

下面就是bug重现的步骤

  1. 创建vpc和交换机,这个没啥特别,正常创建
  2. 创建一个nat网关,按需
  3. 创建一个安全组
  4. 申请3个eip
  5. 把一个ip地址分配给nat网关
  6. 创建2个windows虚拟机,使用相同的安全组

好玩的时候开始了。

对其中的一个vm1,关机,内网ip进行修改,再开机。

另外一个vm2不修改。

改完ip地址,才去分配公网的eip。分别给他们分配一个EIP。

这时候就出现很好玩的东西,

VM1,不能ping,也肯定无法访问,

vm2,可以。

不能ping的vm,就是因为修改过内网ip地址。

临时解决的办法是

这个时候,如果我把vm2的ip内网ip地址修改,还是可以ping 通。

先映射完,再修改内网ip就没问题。

这个问题提交给阿里云,24小时内,给了一个完整的回复,问题的原因非常有意思

原因如下:
1. vm状态已经running,但实际在执行windows的sysprep,目前这个过程 ecs管控是感知不到的,而且windows的sysprep过程中不允许掉电和重启
2. 在sysprep未完成前,用户因为要修改私网ip,所以重启了vm,导致sysprep失败
3. 实例再也无法正常启动(guestOS已经损坏)

所以跟是否修改私网ip无关。具体怎么解决这个问题,我们拉了个群正在讨论中,比较麻烦,据说vmware 为了解决这个问题,重新实现了一个定制版的sysprep

 

Apr 132020
 

最近发生不少事情,企业内部关于备份的问题,也提的越来越多。备份的数据,放到对象存储上,应该是最安全的。那么我就研究一下在我的场景下,阿里云的对象存储,是否可以满足我的需求。

我目前知道的阿里云对象存储,我能用到的功能大概是

  1. 虚拟机的快照备份,
  2. 把对象存储的bucket,模拟文件夹,提供给ECS使用,实现备份功能,需要通过存储网关来实现。

Continue reading »

Apr 112020
 

最近用了一段时间阿里云,不算很深入,不过也是可以发表一下个人的浅薄的看法。

应该表扬的地方,就是计算,存储和网络,其实已经非常不错。启动一个windows虚拟机,真的很快,做的也确实非常不错。当解决性能的问题,那么我们就要把注意力集中在支撑业务,生态圈上。

阿里云上有大量的企业用户,不过目前也面临很大的流失。为什么?其中一个原因,还是业务场景和生态圈做的不够。我这里就列举一下,至少很影响我的深入使用。

以前华为的朋友跟我说,你看到的问题的万恶之首,都是KPI。今天阿里云,很多问题,也都是KPI导致的。

结论

阿里云必须强制公有云所有服务的交付,提供按需和API,英文版本。两年的时间,应该可以扭转今天的局面。

和阿里云朋友讨论过如何解决API问题,其实他们都是明白人,明白需要通过场景来解决,不然你会发现无从下手,做的事情,压根没看到效果。

就通过Terraform,资源组这个场景开始,解决各种API,按需的问题,RAM权限控制的问题。

影响太多人的KPI考核了。

Continue reading »

Apr 102020
 

经常有朋友找我讨论如何去测试各个公有云,其实市场上的测试,目前都是比较原始阶段,直白点,就是启动一个虚拟机去DD,拿是没啥意思的,猫腻,我就不说了。那种简单的功能对比,搞的像投标,也是完全没任何意义。

这次测试,是基于我的一个使用场景来测试,发现不少问题,这里就整理一下。作为阿里云的MVP,也是需要多多提有价值的建议。不然明年就评选不上。

一个团队,项目使用阿里云,和多个团队,项目使用阿里云,你所面临管理,权限的问题,是不一样的。

当面对多个项目使用一个公有云账号的时候,那么对于目前国内公有云厂商是一个很大的挑战,基于这个场景去测试,估计国内的公有云厂商,都会底气不足。

  • 每个项目完全独立,互相不影响
  • 每个项目可以独立核算,至少知道自己的消费情况
  • 一个项目可能会有多个管理员进行管理

https://help.aliyun.com/document_detail/93743.html

阿里云的官方文档。悲催,官方文档操作,满屏的UI报错,我都忍,居然安全组都无法创建。

阿里云概念

技术上各大公有云的概念,其实是有差异的。这里就介绍一下阿里云和其他云,差异的地方。

子账号

你在阿里云注册的账号,称为主账号,阿里云的子账号,和OpenStack,青云的子账号是有所不同。你可以理解阿里云的子账号,就是给运维人员分配的账号。你会发现你创建的子账号,登录进去,要么什么都干不了,要么什么都能干。

如果我没权限,你就让我根本看不到菜单。否则我点击,显示权限不足,是很烦人的。

RAM

RAM,全称是Resource Access Management,简称RAM。那么他可以给子账号进行授权,权限还可以自己定义。那么设计是非常理想的。那么我们就需要看看是否可以满足我们的需求。

我知道AWS有RAM的功能,国内的公有云厂商都没有,曾经有一个和青云的交流,提到过他们计划搞RAM,不过都过去4年,都没实现。

阿里云的RAM,其实目前看来,真的还是需要打磨。问题很多。

阿里云推荐用户采用子账号管理日常的工作,给某个子账号授权,让他们可以进行日常的管理工作。不过有时候很悲催,例如开通镜像仓库的功能,就必须用主账号才能开通,没有为什么。

资源组

Resource Group,你可以理解公有云所有的服务都是资源,我们把资源归类,一个资源,只能归属一个资源组。

VPC和安全组

目前阿里云的所有虚拟机,都是在VPC里面,已经不能使用以前那种所谓经典网络,强制使用VPC,这样平台来说,安全比较可控。

无论AWS,还是OpenStack,安全组,都是独立的。安全组创建后,你可以放到任意的虚拟机使用。那么对于阿里云来说,安全组,必须和VPC进行关联,给这个vpc下的虚拟机使用。这种差异,了解了,就避免使用过程中的麻烦。

EIP和公网IP

这真的是阿里云和别的不一样的地方。你创建虚拟机的时候,让自动分配的公网IP地址,和你单独申请的公网IP地址,是不一样的。一个区别可能就是删除虚拟机,那么自动分配的那个公网IP就会删掉。

这个地方,其实很怪。

Region 和可用区

这个概念和AWS是一样的。阿里云创建虚拟机的时候,让你选择区域和可用区。其实你创建的虚拟机的可用区,是由你使用交换机的区域决定的。需要注意的是,不同的region,不同的可用区,提供的虚拟机的种类不太一样,你需要确认你需要的资源,这个region和可用区有才行。

Continue reading »

Mar 302020
 

公司内部的网站,都启用的MFA认证,就是你输入你自己登录的密码后,还会弹出一个框,让你输入6位数字。这次自己设置一次MFA。

我是对着这个视频来操作。

https://www.youtube.com/watch?v=QfOFhQb8Wyk

企业MFA,实物就是一个u盘,打开一次,就更改一次数字

MFA

物理安全。现在大家都使用pc端或者手机端。这次我并不是用google的,而是自己搞了一个:keepassXC

https://keepassxc.org/

MFA (also called two-factor authentication or 2FA) is the practice of requiring additional authentication factors beyond the standard username-password combination most authentication mechanisms require.

TOTP (Time-based, One-Time Password) is a form of MFA that uses a randomly generated code as an additional authentication token. TOTP MFA codes are generally created via a smartphone app (e.g. Google Authenticator), so it falls under the “something you have” classification.

https://jumpcloud.com/blog/totp-mfa#cookie-accept

我的理解MFA就是TOTP协议的一个实现。

Continue reading »