从阿里云到AWS

在阿里云上踩过的坑

发布于2016年1月1日 -

在国内,最流行的云服务器应该是阿里云了。在过去的几个月里,我陆续使用了超过10台阿里云的云服务器(ECS),和阿里云的关系型数据库(RDS)。但这个过程并不令人满意,特别是阿里云ECS默认开启的云盾,其糟糕的产品设计,令人难以忍受。

首先必须要吐槽云盾。按照阿里云官网的描述,云盾是一组安全工具的集合,按照我的理解,所有跟安全相关的东西都在这里配置。然而,翻遍云盾的各个模块,我们也没法找到跟防火墙有关的配置。在我用了亚马逊的AWS之后才知道,阿里云的防火墙和AWS的防火墙一样,都叫做“安全组”。你在云盾里是找不到这些东西的,哪怕防火墙听起来应该是这个“盾”的一部分。

云盾是一个神奇的东西,目前,免费给用户使用的组件主要有DDoS防护和安骑士(漏洞检测等)。按我的理解,云盾像是一个渗透测试工具,这里我不打算讨论用用户可能不知情的渗透测试来做安全防护是不是一件好事,我只说云盾设计奇怪的地方:

登录阿里云的管理控制台后,如果有任何异常,会在页面的正上方提示:

其中,异常是红色的链接,然而,点进去之后,看到的却是云盾某个功能的广告:

不能看异常阿里云你加个链接是什么意思!然而,当我遍历云盾的每一个子页面,看到的都是“正常”两个字。

如果你觉得是阿里云错了,那你就错了。异常到底在哪里呢?你在点“异常”链接进入的页面里是找不到的。只有机智地打开云服务器列表时,才能看到所谓的异常记录:

聪明的你终于在这里看到了查看详情字样,点进去之后……

心中一万只草泥马奔过,坑爹呐这是……所以,其实到头来我也不知道这个Web攻击到底是什么攻击。

除了这些脑洞奇怪的设计外,阿里云的云盾还会莫名其妙的拦截一些操作,比如我在两台机器之间导数据,导着导着连接就断了。我已经配置好了正确的iptables规则,也没有在上文提到的安全组里加奇怪的设置。仔细一看,阿里云说这是攻击,给我拦截了。WTF!

说完阿里云的ECS及其云盾,再来吐槽一下阿里云的RDS。我用的是阿里云的PostgreSQL,这个产品似乎已经不再卖了,也许是问题有点多?

刚用上的时候,还不熟悉操作,看到阿里云会自动备份数据,我就安安心心地折腾去了。直到有一天需要回滚,你会发现,在这个叫做“备份与恢复”的页面里,竟然找不到恢复功能:

坑爹呐这是。

后来,我连上阿里云的数据库,看了它的数据库环境,在本地搭了一个一模一样的环境,再用从这个页面下载的postgres目录的dump(没错,它直接把那个目录压缩给你了!)恢复到这个环境里,才成功地找回了数据。从此,我都是手动备份数据库的。

RDS的另一个大坑,是可用率的问题。可用率我没有数据,但是过去的大概三个月里,我遇到了三次短暂的(大约一两分钟)不可用。

阿里云用到这个样子,我就想找一个替代品了。阿里云的老师是AWS,我之前也用过国外的AWS,感觉还不错。虽然控制台做得丑,但好歹逻辑清晰,没有这么多奇葩的问题。目前AWS中国的服务只面向企业客户开放,先说说服务器本身的体验:

首先,AWS的网络状况要比阿里云好很多,在联通网络下,ping的RTT分别是几毫秒和几十毫秒。

其次,使用AWS的RDS目前还没有遇到问题。

不过,AWS目前仍处于有限预览阶段,还有一些问题:

  1. 开通服务很麻烦,需要提供很多材料。
  2. 付款只支持银行转账。

此外,AWS确实要比阿里云贵不少,如果它真的能更稳定,我觉得也是值得的。


题图:Businessman using laptop under cloud on atrium balcony

作者:Hero Images