云计算之路-阿里云上:踩着RDS的2个坑

最近发现阿里云RDS管理控制台升级了,界面更好看了,操作也更方便了,但在美丽的外表下却藏着坑,不小心被我们睬着了。
8月31日下午,我们在RDS管理控制台中创建了一个新的数据库帐号,创建时选择了绑定多个数据库。

然后,这个新建帐户的状态显示为“创建中”,这时该新建帐户可以登录,但不能访问任何数据库。

过了2分多钟,帐户状态由“创建中”变为“激活”后,才可以正常访问所绑定的数据库。
之前我们很久没有在RDS进行帐户管理操作了,今天这样一个如此简单、如此常用的操作,我们根本没想到会出问题。
结果却在2分多钟内连踩2个坑,被坑得不轻!
第1个坑
在创建新帐号时所选择绑定的所有数据库,在这2分钟内,竟然都无法访问。已经绑定这些数据库的现有帐户访问时都被拒绝,错误信息如下:
The SELECT permission was denied on the object '', database '', schema 'dbo'.
由于创建时选择的数据库比较多,结果这个问题影响到了全站。非常之郁闷,自从使用数据库以来,从未遇到过这样的问题——创建新帐号竟然会影响到现有帐号。
后来进一步发现,实际的坑比这个还要深,修改任何一个现有帐户的数据库绑定,都会触发这个问题。而且修改的设置要过2分多钟才生效。
也就是说,在RDS中,只要涉及任何数据库帐户权限的变动,就会引发所涉及的数据库在短时间内不能正常访问,而且没有任何提示或警告。
我们向阿里云反馈后,他们已经确认这是一个bug,说会在9月底的下一个版本中修复。
我们的想法是:如此严重的bug,还要让用户等到9月底,24小时内修复才是负责任的做法!
第2个坑
创建新帐号竟然造成已有的数据库帐号的数据库绑定丢失,有的只剩下一个数据库绑定,有的少了一两个数据库绑定。
向阿里云反馈后,RDS的DBA查了才知道,当时我们迁移至RDS时,某些在SQL Server Management Studio中的操作造成了SQL Server中的帐号与RDS中的帐号不一致,在RDS创建新帐号时发现在SQL Server中有的帐号在RDS中没有,于是RDS就把这些帐号给干掉了。
阿里云说这么做是出于安全角度考虑,出于安全角度不给SA权限,我们可以忍。这地方又存在什么安全问题呢?况且,我们的RDS只有内网授权的IP才能访问。另外,即使必须要保持RDS与SQL Server数据库的帐号一致,那也应该以SQL Server中的帐号为准。因为RDS中的帐户即使全丢失,也不会影响数据库的正常访问;而数据库中的帐号只要少了一个,就可能影响到用户的正常应用。孰轻孰重?
坑后感言
如果在设计产品时,把保证用户应用的稳定性放在首要位置,就不会有这么多坑!如果敢把自己的核心应用放在自己的云上,也不会有这么多坑!
现在的状况就如生产汽车不考虑安全问题,等用户开车出了事故,才去针对性地解决安全问题;然后,那些准备买车的人看到汽车这么不安全,吓得都不敢买了。如果真是这样,就不会有今天的汽车工业。
更新:第1个坑在9月2日晚22:00左右被填平。
云计算之路-阿里云上:踩着RDS的2个坑的更多相关文章
- 云计算之路-阿里云上:SLB会话保持的一个坑
冒着被大家厌烦的风险,今天再发一篇“云计算之路-阿里云上”.这是在前一篇发过之后真实发生的事情,我们觉得定位问题的过程值得分享.而且估计园子里不少朋友被这个问题骚扰过,我们有责任让大家知道问题的真正原 ...
- 云计算之路-阿里云上-阵雨:RDS故障的突袭
风雨之后是彩虹,经历了三个月的风雨之后,从6月14日起(上次故障发生于6月13日)开始享受彩虹...而今天突袭而来的RDS故障让我们懂得了彩虹期间会有阵雨,但不管怎么样,离“晴空万里”越来越近了. 2 ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...
- 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题
今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
- 云计算之路-阿里云上-新发现:又一种与虚拟内存有关的CPU波动情况
在云上真是无奇不有,昨天偶然间发现在IIS的应用程序池回收设置中,仅仅设置了一下基于虚拟内存限制的回收,就引发了CPU有规律的波动.在这篇博文中,我们将向大家汇报一下云计算之路上的这个小发现. 在之前 ...
- 云计算之路-阿里云上:启用Windows虚拟内存引发的CPU 100%故障
今天上午11:35~11:40左右,由于负载均衡中的两台云服务器CPU占用突然飚至100%,造成网站5分钟左右不能正常访问,请大家带来了麻烦,请谅解! (上图中红色曲线表示CPU占用) 经过分析,我们 ...
- 云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时
在昨天的博文(云计算之路-阿里云上:读取缓存时的“黑色0.1秒”)中我们犯了一个很低级的错误——把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从 ...
- 云计算之路-阿里云上:禁用Windows虚拟内存引发的重启
昨天(2013年8月6日)下午,承载www.cnblogs.com主站的两台云服务器分别自动重启了1次,由于这两台云服务器使用了负载均衡(SLB),重启并未影响网站的正常访问. 与这次重启相关的Win ...
- 云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题
(上图是今天出问题期间Web服务器性能监控图,紫色表示的是Request Execution Time) 昨天我们发布了一篇博客分享了我们这两天遇到的OCS(开放缓存服务)问题,详见云计算之路-阿里云 ...
随机推荐
- bzoj 1449 费用流
思路:先把没有进行的场次规定双方都为负,对于x胜y负 变为x + 1胜 y - 1 负所需要的代价为 2 * C[ i ] * x - 2 * D[ i ] * y + C[ i ] + D[ i ...
- hdu多校4
Problem L. Graph Theory Homework 思路:很容易想到一步从 1 走到 n 最优. #include<bits/stdc++.h> #define LL lon ...
- 探索"+"的原本
躺了一会,回忆以前看过的一些描述"原本"的知识,突然想到简单的数学运算1+1=2,在程序设计里的原本是什么呢,想到这里,不睡了,按照前人的指引,我也来探索一下阿 (以下代码使用C# ...
- Thinkphp模板中函数的使用
1.在模板中使用php函数 在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数 1 ...
- CodeVS1169 传纸条 [DP补完计划]
题目传送门 题目描述 Description 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端, ...
- 2017江苏省省赛 Roads(全局最小割)
Roads 时间限制: 2 Sec 内存限制: 256 MB提交: 6 解决: 2[提交][状态][讨论版] 题目描述 In ICPCCamp, there are n towns conveni ...
- Flask实战第43天:把图片验证码和短信验证码保存到memcached中
前面我们已经获取到图片验证码和短信验证码,但是我们还没有把它们保存起来.同样的,我们和之前的邮箱验证码一样,保存到memcached中 编辑commom.vews.py .. from utils i ...
- Hydra 8.4/8.5新增功能
Hydra 8.4/8.5新增功能 Kali Linux 2017.1自带的Hydra为8.3,现在Hydra升级到8.5,新增以下功能. (1)为输出文件选项-o,添加一个配套选项-b,允许 ...
- Java学习笔记(8)
static修饰方法(静态的成员方法): 访问方式: 可以使用对象进行访问 对象.静态函数名(): 可以使用类名进行访问 类名. ...
- Codeforces Round #342 (Div. 2) E. Frog Fights set 模拟
E. Frog Fights 题目连接: http://www.codeforces.com/contest/625/problem/E Description stap Bender recentl ...