l**b 发帖数: 64 | 1 本人歪打正着转行web developer,边工作边学的阶段。请教各位一个AWS EC2 outage
的问题,求大家指点,有说的外行的地方,请大家不要见笑。
现在网站用的是AWS EC2,大概日访问量200-400,去年是medium的instance,今年一月
份客户因为预算的原因,要求改到了small,一直到三月初都很正常。最近两周,网站
down了三次,第一次是server reboot但是MySQL没有autostart,改好了。第二down掉
之后,负责server的人给重新clone到了一个新的small instance。第三次down,给重
新换回了medium instance。
现在客户很不情愿换到medium的instance,因为觉得网站流量不大。请问大家,可能是
什么原因导致的这个问题频繁的发生呢?是网站被攻击了么?如果是,如何能排查一下
原因?如果就是instance的大小的原因导致的,我该怎么向客户解释从一月到三月初都
没问题,这两个星期出问题呢?
从cloudwatch看到的,outage时候CPU达到了100%。虽然EC2 有CPU steal的问题,但是
也不至于outage吧。之前运行良好的时候,每天CPU也会在一个固定时间达到100%,这
个是什么原因呢?
从Google Analytics上来看,访问量都正常,应该不是访问量过大造成的outage,而且
在这个期间,网站几乎没有更新。
先谢谢各位了! |
d*******r 发帖数: 3299 | 2 自己搞的话是不是考虑换到 Linode 或者 digital ocean, AWS 说实话还是有点贵的
当然,公司工作用的话,用 AWS 无妨 |
l**b 发帖数: 64 | 3 是工作用,客户倒是不觉得AWS本身贵,问题是他们做了很多social media,很多广告
在里面,之前是周末down的两天,客户非常不爽,现在抓着我们问原因
【在 d*******r 的大作中提到】 : 自己搞的话是不是考虑换到 Linode 或者 digital ocean, AWS 说实话还是有点贵的 : 当然,公司工作用的话,用 AWS 无妨
|
g*******t 发帖数: 7704 | 4 是被攻击了, 在/var/log/ 下看log,
但基本没什么办法, 只能选比较强cpu的vps,
可以安装 fail2ban能屏蔽一些, 但对饱和攻击还是不行,
我在digital ocean, 用512m一档, 还不错, 现在已经抗过几次攻击了, 每次2小时
, cpu飙升到50%, 不过vps都没死, |
q*c 发帖数: 9453 | 5 aws ec2 本来就告诉你会随时当,你的自己建冗余和转移。
outage
【在 l**b 的大作中提到】 : 本人歪打正着转行web developer,边工作边学的阶段。请教各位一个AWS EC2 outage : 的问题,求大家指点,有说的外行的地方,请大家不要见笑。 : 现在网站用的是AWS EC2,大概日访问量200-400,去年是medium的instance,今年一月 : 份客户因为预算的原因,要求改到了small,一直到三月初都很正常。最近两周,网站 : down了三次,第一次是server reboot但是MySQL没有autostart,改好了。第二down掉 : 之后,负责server的人给重新clone到了一个新的small instance。第三次down,给重 : 新换回了medium instance。 : 现在客户很不情愿换到medium的instance,因为觉得网站流量不大。请问大家,可能是 : 什么原因导致的这个问题频繁的发生呢?是网站被攻击了么?如果是,如何能排查一下 : 原因?如果就是instance的大小的原因导致的,我该怎么向客户解释从一月到三月初都
|
g*******t 发帖数: 7704 | 6 vps还是建议用linode, cpu是超强,
其他的cpu都阉割的厉害。 |
d*******r 发帖数: 3299 | 7 我在国内的技术论坛上看,也是这个观点,貌似 Digital Ocean 的CPU不行,不过它家
比 Linode 还便宜。
不过想国内也能访问的话,还是得上 Linode, 有 tokyo 节点,不过据说最近国内用的
人有点多了,tokyo 节点也慢了下来。不知道还有哪家的服务性价比比 Linode 和
Digital Ocean 更好。
【在 g*******t 的大作中提到】 : vps还是建议用linode, cpu是超强, : 其他的cpu都阉割的厉害。
|
g*****g 发帖数: 34805 | 8 It's VM and it can be down for no reason, you need redundancy and auto
scaling policy to ensure a new instance will be started when you have less
than configured running, and start more instance when load is beyond
threshold.
outage
【在 l**b 的大作中提到】 : 本人歪打正着转行web developer,边工作边学的阶段。请教各位一个AWS EC2 outage : 的问题,求大家指点,有说的外行的地方,请大家不要见笑。 : 现在网站用的是AWS EC2,大概日访问量200-400,去年是medium的instance,今年一月 : 份客户因为预算的原因,要求改到了small,一直到三月初都很正常。最近两周,网站 : down了三次,第一次是server reboot但是MySQL没有autostart,改好了。第二down掉 : 之后,负责server的人给重新clone到了一个新的small instance。第三次down,给重 : 新换回了medium instance。 : 现在客户很不情愿换到medium的instance,因为觉得网站流量不大。请问大家,可能是 : 什么原因导致的这个问题频繁的发生呢?是网站被攻击了么?如果是,如何能排查一下 : 原因?如果就是instance的大小的原因导致的,我该怎么向客户解释从一月到三月初都
|
|
l**b 发帖数: 64 | 9 非常感谢,明天去看一下log!
【在 g*******t 的大作中提到】 : 是被攻击了, 在/var/log/ 下看log, : 但基本没什么办法, 只能选比较强cpu的vps, : 可以安装 fail2ban能屏蔽一些, 但对饱和攻击还是不行, : 我在digital ocean, 用512m一档, 还不错, 现在已经抗过几次攻击了, 每次2小时 : , cpu飙升到50%, 不过vps都没死,
|
l**b 发帖数: 64 | 10 多谢多谢!FAQ里没看到啊,哪里能找到aws官方的建议?
另外,如果自己建冗余,就是要有多个instance同时run,还是可以设置一个down掉了
之后,另一个自动起来?这样是不是就更要多花钱了?
【在 q*c 的大作中提到】 : aws ec2 本来就告诉你会随时当,你的自己建冗余和转移。 : : outage
|
|
|
l**b 发帖数: 64 | 11 解释的很清楚,非常感谢!
请问EC2提供这个自己设置threshold,自动启动其他instance的功能么?能否提供一点
reference?User Guide正在看,目前还没有看到。感谢感谢!!!
【在 g*****g 的大作中提到】 : It's VM and it can be down for no reason, you need redundancy and auto : scaling policy to ensure a new instance will be started when you have less : than configured running, and start more instance when load is beyond : threshold. : : outage
|
b*******s 发帖数: 5216 | 12 aws也是可以选加cpu的,不过贵
【在 d*******r 的大作中提到】 : 我在国内的技术论坛上看,也是这个观点,貌似 Digital Ocean 的CPU不行,不过它家 : 比 Linode 还便宜。 : 不过想国内也能访问的话,还是得上 Linode, 有 tokyo 节点,不过据说最近国内用的 : 人有点多了,tokyo 节点也慢了下来。不知道还有哪家的服务性价比比 Linode 和 : Digital Ocean 更好。
|
g*****g 发帖数: 34805 | 13 不是 CPU的问题,单节点哪来的 HA. 机器再好,也会当的。
【在 b*******s 的大作中提到】 : aws也是可以选加cpu的,不过贵
|
g*******t 发帖数: 7704 | 14 我有一次ssh进vps,发现正被攻击, cpu 60%, 查看log, 基本什么没什么有用的信
息, apache cpu是占用最高, 所以是饱和攻击,没法防的,
如何查看apache, 还不是很容易,看网上说可以打开一个add-on就能看到url, |
z****e 发帖数: 54598 | 15 还有这种说法,牛逼
看来不上chaosmonkey是不行了
你说的是他们的99.99%的guarantee吗?
也就是说剩下的.01%就不guarantee了?
【在 q*c 的大作中提到】 : aws ec2 本来就告诉你会随时当,你的自己建冗余和转移。 : : outage
|
z****e 发帖数: 54598 | 16 你应该找找跟cloud交流的语言api
我用的不是ec2,但是是类似
我就用脚本直接自动化处理这些东西
用python写的
python, ruby都有,还有java,shell这些
【在 l**b 的大作中提到】 : 解释的很清楚,非常感谢! : 请问EC2提供这个自己设置threshold,自动启动其他instance的功能么?能否提供一点 : reference?User Guide正在看,目前还没有看到。感谢感谢!!!
|
g*******t 发帖数: 7704 | 17 这种饱和攻击都会持续一段时间,所以reboot不一定能解决问题, |
e********3 发帖数: 18578 | 18 DDOS attack?
outage
【在 l**b 的大作中提到】 : 本人歪打正着转行web developer,边工作边学的阶段。请教各位一个AWS EC2 outage : 的问题,求大家指点,有说的外行的地方,请大家不要见笑。 : 现在网站用的是AWS EC2,大概日访问量200-400,去年是medium的instance,今年一月 : 份客户因为预算的原因,要求改到了small,一直到三月初都很正常。最近两周,网站 : down了三次,第一次是server reboot但是MySQL没有autostart,改好了。第二down掉 : 之后,负责server的人给重新clone到了一个新的small instance。第三次down,给重 : 新换回了medium instance。 : 现在客户很不情愿换到medium的instance,因为觉得网站流量不大。请问大家,可能是 : 什么原因导致的这个问题频繁的发生呢?是网站被攻击了么?如果是,如何能排查一下 : 原因?如果就是instance的大小的原因导致的,我该怎么向客户解释从一月到三月初都
|
q*c 发帖数: 9453 | 19 不会,不要紧设一个就行了, 要紧就设几个, 前面架 VIP (elsatic load balancer).
这样设置其实更好, 因为有amazon 的系统帮你看, 如果没了就起新的。你半夜就不
用起来了。
这才是 cloud 的牛逼处, 正确做法。 你以前那是把 cloud 党单机使,
【在 l**b 的大作中提到】 : 多谢多谢!FAQ里没看到啊,哪里能找到aws官方的建议? : 另外,如果自己建冗余,就是要有多个instance同时run,还是可以设置一个down掉了 : 之后,另一个自动起来?这样是不是就更要多花钱了?
|
q*c 发帖数: 9453 | 20 如果不能自动, 哪里还会有人使用 ec2?
aws 就是毒药, 你一旦用了就没法离开解脱了, 娃哈哈。
【在 l**b 的大作中提到】 : 解释的很清楚,非常感谢! : 请问EC2提供这个自己设置threshold,自动启动其他instance的功能么?能否提供一点 : reference?User Guide正在看,目前还没有看到。感谢感谢!!!
|
|
|
P****i 发帖数: 12972 | 21 可以,用auto-scaling
【在 l**b 的大作中提到】 : 解释的很清楚,非常感谢! : 请问EC2提供这个自己设置threshold,自动启动其他instance的功能么?能否提供一点 : reference?User Guide正在看,目前还没有看到。感谢感谢!!!
|
q*c 发帖数: 9453 | 22 就是, 而且ec2 哪里有 99.99%. 你说的那是 s3? 那是 9 个 9 还是 11 个9.
ec2 要能高符合运行 1 周 我就觉得很不错。 反正有人自动起新的, who cares...
【在 z****e 的大作中提到】 : 还有这种说法,牛逼 : 看来不上chaosmonkey是不行了 : 你说的是他们的99.99%的guarantee吗? : 也就是说剩下的.01%就不guarantee了?
|
h******b 发帖数: 6055 | 23 这么牛?
我现在是一个micro instance。 还没开始marketing,基本上没有流量。
能否在CPU/内存达到一定threshold以后自动变成small/medium/large? 硬盘不变,
只需要变内存和CPU。或者多加几个instance也可以。
这个也太强悍了,以前我有过一个Alexa排名两万五的网站。 一到event就卡的不行。
这玩艺完全是自动的?
我的网页和数据库还是只需要维持在一个盘上吗? 如果我需要让多个instance保持一
致就很烦了。 如果一个客户传数据进来是如何让多个instance一起拥有这个数据的?
难道是多个instanceshare一个volume那就太爽了。
【在 q*c 的大作中提到】 : 如果不能自动, 哪里还会有人使用 ec2? : aws 就是毒药, 你一旦用了就没法离开解脱了, 娃哈哈。
|
z****e 发帖数: 54598 | 24 app放ec2上
然后persistence放s3上
不过如果你只是micro的话
还不如弄一个digitalocean划算
【在 h******b 的大作中提到】 : 这么牛? : 我现在是一个micro instance。 还没开始marketing,基本上没有流量。 : 能否在CPU/内存达到一定threshold以后自动变成small/medium/large? 硬盘不变, : 只需要变内存和CPU。或者多加几个instance也可以。 : 这个也太强悍了,以前我有过一个Alexa排名两万五的网站。 一到event就卡的不行。 : 这玩艺完全是自动的? : 我的网页和数据库还是只需要维持在一个盘上吗? 如果我需要让多个instance保持一 : 致就很烦了。 如果一个客户传数据进来是如何让多个instance一起拥有这个数据的? : 难道是多个instanceshare一个volume那就太爽了。
|
z****e 发帖数: 54598 | 25 我一直觉得那么多个9是忽悠
反正我们也不可能去认真测它们的有效运行时间
他们说啥就是啥了
有些公共交通,每个月公布一下准点率啥的
不达标可以要求赔偿,要求amazon赔偿我估计是没戏了
【在 q*c 的大作中提到】 : 就是, 而且ec2 哪里有 99.99%. 你说的那是 s3? 那是 9 个 9 还是 11 个9. : ec2 要能高符合运行 1 周 我就觉得很不错。 反正有人自动起新的, who cares...
|
h******b 发帖数: 6055 | 26 两个我都有。好像digital ocean可以自己直接把droplet放大缩小? 不需要重启。
s3 persistence是整个volume过去,还是只是mysql。 如果只是mysql的话岂不是好多
code要改。
【在 z****e 的大作中提到】 : app放ec2上 : 然后persistence放s3上 : 不过如果你只是micro的话 : 还不如弄一个digitalocean划算
|
z****e 发帖数: 54598 | 27 这个东西其他cloud也有
关键是接口api不统一
各用各的,如果换cloud的话,光测试就累死了
所以一般就不换了,典型的vendor lockin
【在 q*c 的大作中提到】 : 如果不能自动, 哪里还会有人使用 ec2? : aws 就是毒药, 你一旦用了就没法离开解脱了, 娃哈哈。
|
z****e 发帖数: 54598 | 28 你的persistence放哪里就挪哪里过去
如果你只有mysql,那就挪mysql过去
但是如果你还有其他的persistence,比如hbase
那就都挪过去,ec2的instance设计是
用来放一些服务器软件的,逻辑处理主要放在ec2上
其他cloud都是算一个instance,所以也分不了这么细
只能修改instance的各种参数,增加缩小酱紫
然后cloud根据访问流量自动调整instance的数量或者规模
这是cloud的最大的优势,对比一般的vps或者自己买机器而言
scale up/out很容易,自己撰机器受限于硬件性能
【在 h******b 的大作中提到】 : 两个我都有。好像digital ocean可以自己直接把droplet放大缩小? 不需要重启。 : s3 persistence是整个volume过去,还是只是mysql。 如果只是mysql的话岂不是好多 : code要改。
|
g*****g 发帖数: 34805 | 29 I don't think changing from small to medium makes sense, since it will
involves downtime, but certainly auto scaling can scale up/down instances by
load or by time. You can specify min/max/desired too.
For DB, you can use simpleDB, RDS etc. We also use in instance Cassandra
cluster. Webpages can be replicated on all instances.
【在 h******b 的大作中提到】 : 这么牛? : 我现在是一个micro instance。 还没开始marketing,基本上没有流量。 : 能否在CPU/内存达到一定threshold以后自动变成small/medium/large? 硬盘不变, : 只需要变内存和CPU。或者多加几个instance也可以。 : 这个也太强悍了,以前我有过一个Alexa排名两万五的网站。 一到event就卡的不行。 : 这玩艺完全是自动的? : 我的网页和数据库还是只需要维持在一个盘上吗? 如果我需要让多个instance保持一 : 致就很烦了。 如果一个客户传数据进来是如何让多个instance一起拥有这个数据的? : 难道是多个instanceshare一个volume那就太爽了。
|
h******b 发帖数: 6055 | 30 我aws这个只是个没流量的小网站,外加mail server。 用codeigniter和iredmail。
加了swapfile还行。
如果要改db是不是要改现有代码?
还有好像linode评价非常高。 直接二十刀据说秒杀Amazon和digital ocean二十刀的产
品。 |
|
|
z****e 发帖数: 54598 | 31 你挪个db怎么会要改动代码呢?
换个ip等设置不就可以了?
重启一下,几分钟的事
这些层难道不是分离的?在你的网站里面?
。
【在 h******b 的大作中提到】 : 我aws这个只是个没流量的小网站,外加mail server。 用codeigniter和iredmail。 : 加了swapfile还行。 : 如果要改db是不是要改现有代码? : 还有好像linode评价非常高。 直接二十刀据说秒杀Amazon和digital ocean二十刀的产 : 品。
|
h******b 发帖数: 6055 | 32 是config file。
也就是说先备份整个数据库。 然后数据库传RDS。 然后改config file的ip?
然后前台跑四个ec2,后台一个rds?
我听说好像四小>两中? 最重要的是理论上来说可以添加无数个小? 散发不同地区。
Amazon自动load balance? rds我可以完全不用操心?
dns怎么解决。 我得改dns record支持多个ip还是有更好办法。 不好意思好多小白
问题。
【在 z****e 的大作中提到】 : 你挪个db怎么会要改动代码呢? : 换个ip等设置不就可以了? : 重启一下,几分钟的事 : 这些层难道不是分离的?在你的网站里面? : : 。
|
g*****g 发帖数: 34805 | 33 For HA, you run at least 2 rds instances, 1 as replica.
【在 h******b 的大作中提到】 : 是config file。 : 也就是说先备份整个数据库。 然后数据库传RDS。 然后改config file的ip? : 然后前台跑四个ec2,后台一个rds? : 我听说好像四小>两中? 最重要的是理论上来说可以添加无数个小? 散发不同地区。 : Amazon自动load balance? rds我可以完全不用操心? : dns怎么解决。 我得改dns record支持多个ip还是有更好办法。 不好意思好多小白 : 问题。
|
z****e 发帖数: 54598 | 34 理论上是这样
不过你其实可以加一层emr,然后前端的db保持不动
定期拷贝db的数据到emr里面去,酱紫
不过这样就稍微有些heavy,怕是用不到这么麻烦
hadoop搞来搞去也折腾
【在 h******b 的大作中提到】 : 是config file。 : 也就是说先备份整个数据库。 然后数据库传RDS。 然后改config file的ip? : 然后前台跑四个ec2,后台一个rds? : 我听说好像四小>两中? 最重要的是理论上来说可以添加无数个小? 散发不同地区。 : Amazon自动load balance? rds我可以完全不用操心? : dns怎么解决。 我得改dns record支持多个ip还是有更好办法。 不好意思好多小白 : 问题。
|
z****e 发帖数: 54598 | 35
load balance的话应该不需要你担心
用web service来操作,你的app还在ec2上
不知道你问的dns是指哪个,如果是域名绑定的话,因为app还在ec2上
所以原来怎么做,现在就怎么做
然后你要考虑的是如何让你在ec2上的app去访问s3
s3提供了web service接口,所以你得弄一下web serivce
这个要看amazon提供的官方文档
【在 h******b 的大作中提到】 : 是config file。 : 也就是说先备份整个数据库。 然后数据库传RDS。 然后改config file的ip? : 然后前台跑四个ec2,后台一个rds? : 我听说好像四小>两中? 最重要的是理论上来说可以添加无数个小? 散发不同地区。 : Amazon自动load balance? rds我可以完全不用操心? : dns怎么解决。 我得改dns record支持多个ip还是有更好办法。 不好意思好多小白 : 问题。
|
z****e 发帖数: 54598 | 36 不过你说的是rds,这个也是类似,就思考如何让你在ec2上的app去访问你的rds
这里面会有dns的问题么?不太象,看看文档,照着做一遍应该就清楚了 |
z****e 发帖数: 54598 | 37 http://aws.amazon.com/rds/mysql/
mysql这种大路货应该都有支持
找一下文档,估计你直接备份现有的mysql文件
然后直接上传可能都可以 |
z****e 发帖数: 54598 | 38 Easily port your existing applications
http://aws.amazon.com/rds/details/
这个估计是你需要看的 |
d*******r 发帖数: 3299 | 39 我倒是觉得不要太依赖 AWS 那些独特的服务,不然就被lock住了。
我觉得只需要学会自动 create/terminate, start/stop VMs 就行,这些基本操作是每
个 cloud 的provider都支持的。保证你自己做东西的时候,不被任何provider lock住。 |
d*******r 发帖数: 3299 | 40 rds 和 s3 这种好是好用,但是容易被lock住了
s3 确实是很牛的服务,我不知道其他厂商有代替的服务没有
【在 z****e 的大作中提到】 : Easily port your existing applications : http://aws.amazon.com/rds/details/ : 这个估计是你需要看的
|
|
|
d*******r 发帖数: 3299 | 41 ec2 的 load balance 貌似做点小东西行,
我们组里有人做过写测试,concurrent connection 大了也不行,会被自动限制住,具
体数据我记不得了
【在 z****e 的大作中提到】 : Easily port your existing applications : http://aws.amazon.com/rds/details/ : 这个估计是你需要看的
|
g*****g 发帖数: 34805 | 42 I am sure it can support 10M concurrent connections if you do it right.
【在 d*******r 的大作中提到】 : ec2 的 load balance 貌似做点小东西行, : 我们组里有人做过写测试,concurrent connection 大了也不行,会被自动限制住,具 : 体数据我记不得了
|
z****e 发帖数: 54598 | 43 主要是这一层,被lockin目前也没有什么特别好的方法对付
以前jdbc算是一个比较好的办法,后来又有了hibernate这些
勉强可以migration了,但是大多数人不会用,尤其是当性能接近一定程度之后
就丢掉这些东西,开始自己写sql去了,这样就被lockin了
amazon这帮人也很精,也知道这块比较容易lockin,所以在这块上也下了不少功夫
勾引用户上钩,所以这种收费的服务,都是贼船,没有办法
【在 d*******r 的大作中提到】 : rds 和 s3 这种好是好用,但是容易被lock住了 : s3 确实是很牛的服务,我不知道其他厂商有代替的服务没有
|
d*******r 发帖数: 3299 | 44 C10M 大概要用多少个什么级别的 instances?
我总感觉在 LB 后面,有些东西会被限制的,比如单机的连接数目
【在 g*****g 的大作中提到】 : I am sure it can support 10M concurrent connections if you do it right.
|
c******o 发帖数: 1277 | 45 ELB是自动scale的,horizontally, vertically,还有至少两层layer,绝对不会有什么
load支持不了。 |
g*****g 发帖数: 34805 | 46 ELB 就是一个监控和round robin, ELB本身也是个cluster,不会有问题。
【在 d*******r 的大作中提到】 : C10M 大概要用多少个什么级别的 instances? : 我总感觉在 LB 后面,有些东西会被限制的,比如单机的连接数目
|
d*******r 发帖数: 3299 | 47 我记得组里别人测试是说,不如自己写程序 scale out 自己的 specific 的 app.
比如同样的计算资源,自己的程序监控,开关instance 效果比用 aws LB 好。不过针
对specific 的app优化,自己控制也合理。
不过 aws ec2 自带的资源监控我用过,就是自动 plot 出来 CPU, memory, network/
dis IO 使用情况那些 monitoring service。我觉得他的数据不是很精确,不是很实时。
后来我们组用的monitoring功能是我自己用python lib 去 poll 系统的参数来做plot
的,
自己写的用起来舒服很多,也就200行python代码。
【在 g*****g 的大作中提到】 : ELB 就是一个监控和round robin, ELB本身也是个cluster,不会有问题。
|
g*****g 发帖数: 34805 | 48 Load balancing has nothing to do with auto scaling. I think you mix the two.
时。
plot
【在 d*******r 的大作中提到】 : 我记得组里别人测试是说,不如自己写程序 scale out 自己的 specific 的 app. : 比如同样的计算资源,自己的程序监控,开关instance 效果比用 aws LB 好。不过针 : 对specific 的app优化,自己控制也合理。 : 不过 aws ec2 自带的资源监控我用过,就是自动 plot 出来 CPU, memory, network/ : dis IO 使用情况那些 monitoring service。我觉得他的数据不是很精确,不是很实时。 : 后来我们组用的monitoring功能是我自己用python lib 去 poll 系统的参数来做plot : 的, : 自己写的用起来舒服很多,也就200行python代码。
|
d*******r 发帖数: 3299 | 49 恩,你说的是,我搞混了
two.
【在 g*****g 的大作中提到】 : Load balancing has nothing to do with auto scaling. I think you mix the two. : : 时。 : plot
|